diff --git a/src/main/java/com/huaheng/api/wcs/controller/EmptyOutHandle.java b/src/main/java/com/huaheng/api/wcs/controller/EmptyOutHandle.java
index 878e0b1..e93e298 100644
--- a/src/main/java/com/huaheng/api/wcs/controller/EmptyOutHandle.java
+++ b/src/main/java/com/huaheng/api/wcs/controller/EmptyOutHandle.java
@@ -21,8 +21,7 @@ import javax.annotation.Resource;
  */
 
 @RestController
-@RequestMapping("/WCS/v2")
-@Api(tags = {"OverrideHandle"}, description = "wcs空出处理接口")
+@RequestMapping("/api/WCS/v2")
 public class EmptyOutHandle extends BaseController {
 
     @Resource
diff --git a/src/main/java/com/huaheng/api/wcs/controller/OverrideHandle.java b/src/main/java/com/huaheng/api/wcs/controller/OverrideHandle.java
index e694aae..c778985 100644
--- a/src/main/java/com/huaheng/api/wcs/controller/OverrideHandle.java
+++ b/src/main/java/com/huaheng/api/wcs/controller/OverrideHandle.java
@@ -20,8 +20,7 @@ import javax.annotation.Resource;
  */
 
 @RestController
-@RequestMapping("/WCS/v2")
-@Api(tags = {"OverrideHandle"}, description = "wcs重入处理接口")
+@RequestMapping("/api/WCS/v2")
 public class OverrideHandle extends BaseController {
 
     @Resource
diff --git a/src/main/java/com/huaheng/api/wcs/controller/TaskFinish.java b/src/main/java/com/huaheng/api/wcs/controller/TaskFinish.java
index 1400d10..1806259 100644
--- a/src/main/java/com/huaheng/api/wcs/controller/TaskFinish.java
+++ b/src/main/java/com/huaheng/api/wcs/controller/TaskFinish.java
@@ -21,8 +21,7 @@ import javax.annotation.Resource;
  */
 
 @RestController
-@RequestMapping("/WCS/v2")
-@Api(tags = {"TaskFinish"}, description = "wcs任务完成数据接口")
+@RequestMapping("/api/WCS/v2")
 public class TaskFinish extends BaseController {
 
     @Resource
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 a685950..9dcbb1c 100644
--- a/src/main/java/com/huaheng/api/wcs/controller/WarecellAllocation.java
+++ b/src/main/java/com/huaheng/api/wcs/controller/WarecellAllocation.java
@@ -21,8 +21,7 @@ import javax.annotation.Resource;
  */
 
 @RestController
-@RequestMapping("/WCS/v2")
-@Api(tags = {"WarecellAllocation"}, description = "wcs仓位分配接口")
+@RequestMapping("/api/WCS/v2")
 public class WarecellAllocation extends BaseController {
 
     @Resource
diff --git a/src/main/java/com/huaheng/api/wcs/service/emptyOutHandle/EmptyOutHandleServiceImpl.java b/src/main/java/com/huaheng/api/wcs/service/emptyOutHandle/EmptyOutHandleServiceImpl.java
index 6b75a4b..ff615fb 100644
--- a/src/main/java/com/huaheng/api/wcs/service/emptyOutHandle/EmptyOutHandleServiceImpl.java
+++ b/src/main/java/com/huaheng/api/wcs/service/emptyOutHandle/EmptyOutHandleServiceImpl.java
@@ -38,6 +38,9 @@ public class EmptyOutHandleServiceImpl implements EmptyOutHandleService {
         if(taskHeader == null){
             return AjaxResult.error("任务号错误,没有找到该任务");
         }
+        if(taskHeader.getStatus() == 100){
+            return AjaxResult.error("任务已完成");
+        }
 
         //3、修改该任务为空出,过后处理
         taskHeader.setExceptionCode("空托出库");
diff --git a/src/main/java/com/huaheng/api/wcs/service/overrideHandle/OverrideHandleServiceImpl.java b/src/main/java/com/huaheng/api/wcs/service/overrideHandle/OverrideHandleServiceImpl.java
index 0bc039c..91f2b1e 100644
--- a/src/main/java/com/huaheng/api/wcs/service/overrideHandle/OverrideHandleServiceImpl.java
+++ b/src/main/java/com/huaheng/api/wcs/service/overrideHandle/OverrideHandleServiceImpl.java
@@ -78,6 +78,9 @@ public class OverrideHandleServiceImpl implements OverrideHandleService {
         if(taskHeader == null){
             return AjaxResult.error("任务号错误,没有找到该任务");
         }
+        if(taskHeader.getStatus() == 100){
+            return AjaxResult.error("任务已完成");
+        }
 
         //3、修改任务目的库位,修改入库组盘的库位,修改库位状态
         //修改原来目的库位的状态
@@ -89,6 +92,7 @@ public class OverrideHandleServiceImpl implements OverrideHandleService {
             return AjaxResult.error("此任务的原目的库位在系统中不存在");
         }
         location.setStatus("empty");
+        location.setContainerCode("");
         flag = locationService.updateById(location);
         if(flag == false){
             return AjaxResult.error("修改此任务的原目的库位错误");
@@ -102,14 +106,19 @@ public class OverrideHandleServiceImpl implements OverrideHandleService {
          */
 
         Location newlocation =new Location();
-
+        String code=ShiroUtils.getWarehouseCode();
         //重入的库位由wcs提供
         if(!taskFinishDomain.getRedirectionLocationCode().equals("0")) {
-            locationLam.eq(Location::getCode, taskFinishDomain.getToLocationCode())
+            LambdaQueryWrapper<Location> locationLa = Wrappers.lambdaQuery();
+            locationLa.eq(Location::getCode, taskFinishDomain.getRedirectionLocationCode())
+                    .eq(Location::getStatus,"empty")
                     .eq(Location::getWarehouseCode, ShiroUtils.getWarehouseCode());
-            newlocation = locationService.getOne(locationLam);
+            newlocation = locationService.getOne(locationLa);
             if (newlocation == null) {
-                throw new ServiceException("新目的库位在系统中不存在");
+                throw new ServiceException("新目的库位在系统中不存在或非空闲");
+            }
+            if(StringUtils.isNotEmpty(newlocation.getContainerCode())){
+                throw new ServiceException("新目的库位在系统中已经有容器");
             }
         }else {
             //重入的库位由wms提供
diff --git a/src/main/java/com/huaheng/pc/config/FilterConfigDetail/controller/FilterConfigDetailController.java b/src/main/java/com/huaheng/pc/config/FilterConfigDetail/controller/FilterConfigDetailController.java
index c2e9e30..e2559ad 100644
--- a/src/main/java/com/huaheng/pc/config/FilterConfigDetail/controller/FilterConfigDetailController.java
+++ b/src/main/java/com/huaheng/pc/config/FilterConfigDetail/controller/FilterConfigDetailController.java
@@ -123,6 +123,7 @@ public class FilterConfigDetailController extends BaseController {
         }
         filterConfigDetail.setModuleType(configHeader.getModuleType());
         filterConfigDetail.setRecordType(configHeader.getRecordType());
+        filterConfigDetail.setFilterCode(configHeader.getFilterCode());
         filterConfigDetail.setWarehouseCode(ShiroUtils.getWarehouseCode());
         filterConfigDetail.setCreatedBy(ShiroUtils.getLoginName());
         filterConfigDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
diff --git a/src/main/java/com/huaheng/pc/config/FilterConfigDetail/domain/FilterConfigDetail.java b/src/main/java/com/huaheng/pc/config/FilterConfigDetail/domain/FilterConfigDetail.java
index a37b6fa..25258c7 100644
--- a/src/main/java/com/huaheng/pc/config/FilterConfigDetail/domain/FilterConfigDetail.java
+++ b/src/main/java/com/huaheng/pc/config/FilterConfigDetail/domain/FilterConfigDetail.java
@@ -78,9 +78,9 @@ public class FilterConfigDetail implements Serializable {
     @ApiModelProperty(value="全SQL")
     private String statement;
 
-    @TableField(value = "sqll")
+    @TableField(value = "statements")
     @ApiModelProperty(value="后续分组排序")
-    private String sqll;
+    private String statements;
 
     /**
      * 是否系统创建
diff --git a/src/main/java/com/huaheng/pc/config/configValue/controller/ConfigValueController.java b/src/main/java/com/huaheng/pc/config/configValue/controller/ConfigValueController.java
index 8afc2d8..153a6ec 100644
--- a/src/main/java/com/huaheng/pc/config/configValue/controller/ConfigValueController.java
+++ b/src/main/java/com/huaheng/pc/config/configValue/controller/ConfigValueController.java
@@ -16,6 +16,8 @@ import com.huaheng.framework.web.page.TableDataInfo;
 import com.huaheng.framework.web.page.TableSupport;
 import com.huaheng.pc.config.configValue.domain.ConfigValue;
 import com.huaheng.pc.config.configValue.service.ConfigValueService;
+import com.huaheng.pc.config.cycleCountPreference.domain.CycleCountPreference;
+import com.huaheng.pc.config.cycleCountPreference.service.CycleCountPreferenceService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -35,6 +37,8 @@ public class ConfigValueController extends BaseController {
 
     @Resource
     private ConfigValueService configValueService;
+    @Resource
+    private CycleCountPreferenceService cycleCountPreferenceService;
 
     private String prefix = "config/configValue";
 
@@ -96,6 +100,17 @@ public class ConfigValueController extends BaseController {
     @PostMapping("/add")
     @ResponseBody
     public AjaxResult addSave(ConfigValue configValue)  {
+        //检测盘点首选项是否停用
+        if(configValue.getRecordType().equals("cycleCountPreference")){
+            CycleCountPreference cycleCountPreferenceTemp = new CycleCountPreference();
+            cycleCountPreferenceTemp.setCode(configValue.getIdentifier());
+            cycleCountPreferenceTemp.setWarehouseCode(configValue.getWarehouseCode());
+            LambdaQueryWrapper<CycleCountPreference> preferenceLambdaQueryWrapper = Wrappers.lambdaQuery(cycleCountPreferenceTemp);
+            CycleCountPreference cycleCountPreference = cycleCountPreferenceService.getOne(preferenceLambdaQueryWrapper);
+            if(cycleCountPreference.getEnable() == false){
+                return AjaxResult.error("不能添加已停用的盘点首选项!");
+            }
+        }
         configValue.setWarehouseCode(ShiroUtils.getWarehouseCode());
         configValue.setCreatedBy(ShiroUtils.getLoginName());
         configValue.setLastUpdatedBy(ShiroUtils.getLoginName());
diff --git a/src/main/java/com/huaheng/pc/config/cycleCountPreference/controller/cycleCountPreferenceController.java b/src/main/java/com/huaheng/pc/config/cycleCountPreference/controller/cycleCountPreferenceController.java
index 0a34cf0..8637304 100644
--- a/src/main/java/com/huaheng/pc/config/cycleCountPreference/controller/cycleCountPreferenceController.java
+++ b/src/main/java/com/huaheng/pc/config/cycleCountPreference/controller/cycleCountPreferenceController.java
@@ -14,6 +14,8 @@ import com.huaheng.framework.web.domain.AjaxResult;
 import com.huaheng.framework.web.page.PageDomain;
 import com.huaheng.framework.web.page.TableDataInfo;
 import com.huaheng.framework.web.page.TableSupport;
+import com.huaheng.pc.config.configValue.domain.ConfigValue;
+import com.huaheng.pc.config.configValue.service.ConfigValueService;
 import com.huaheng.pc.config.cycleCountPreference.domain.CycleCountPreference;
 import com.huaheng.pc.config.cycleCountPreference.service.CycleCountPreferenceService;
 import com.huaheng.pc.config.receiptPreference.domain.ReceiptPreference;
@@ -36,6 +38,8 @@ public class cycleCountPreferenceController extends BaseController {
 
     @Resource
     private CycleCountPreferenceService cycleCountPreferenceService;
+    @Resource
+    private ConfigValueService configValueService;
 
 
     private String prefix = "config/cycleCountPreference";
@@ -126,6 +130,19 @@ public class cycleCountPreferenceController extends BaseController {
     @PostMapping("/edit")
     @ResponseBody
     public AjaxResult editSave(CycleCountPreference cycleCountPreference) {
+        //不允许在被配置默认使用的情况先停用首选项
+        if(cycleCountPreference.getEnable() == false){
+            ConfigValue configValueTemp = new ConfigValue();
+            configValueTemp.setModuleType("cyclecount");
+            configValueTemp.setWarehouseCode(cycleCountPreference.getWarehouseCode());
+            LambdaQueryWrapper<ConfigValue> configValueLambdaQueryWrapper = Wrappers.lambdaQuery(configValueTemp);
+            ConfigValue configValue = configValueService.getOne(configValueLambdaQueryWrapper);
+            if(configValue != null){
+               if(configValue.getIdentifier().equals(cycleCountPreference.getCode())){
+                   return AjaxResult.error("该盘点首选项为系统配置默认选项,请删除系统配置中的选项再停用,修改失败!");
+               }
+            }
+        }
         cycleCountPreference.setLastUpdatedBy(ShiroUtils.getLoginName());
         cycleCountPreference.setLastUpdated(new Date());
         return toAjax(cycleCountPreferenceService.updateById(cycleCountPreference));
diff --git a/src/main/java/com/huaheng/pc/config/cycleCountPreference/service/CycleCountPreferenceService.java b/src/main/java/com/huaheng/pc/config/cycleCountPreference/service/CycleCountPreferenceService.java
index e471698..353d69d 100644
--- a/src/main/java/com/huaheng/pc/config/cycleCountPreference/service/CycleCountPreferenceService.java
+++ b/src/main/java/com/huaheng/pc/config/cycleCountPreference/service/CycleCountPreferenceService.java
@@ -21,8 +21,6 @@ import org.springframework.transaction.annotation.Transactional;
 public class CycleCountPreferenceService extends ServiceImpl<CycleCountPreferenceMapper, CycleCountPreference> {
 
 
-    @Resource
-    private CycleCountDetailService cycleCountDetailService;
 
 
 
diff --git a/src/main/java/com/huaheng/pc/config/waveFlowDetail/controller/WaveFlowDetailController.java b/src/main/java/com/huaheng/pc/config/waveFlowDetail/controller/WaveFlowDetailController.java
index 62765fd..8f57b76 100644
--- a/src/main/java/com/huaheng/pc/config/waveFlowDetail/controller/WaveFlowDetailController.java
+++ b/src/main/java/com/huaheng/pc/config/waveFlowDetail/controller/WaveFlowDetailController.java
@@ -50,9 +50,9 @@ public class WaveFlowDetailController extends BaseController {
 
 
     @RequiresPermissions("config:waveFlowDetail:view")
-    @GetMapping("/list/{id}")
-    public String waveFlowDetail(@PathVariable("id")Integer id, ModelMap mmap) {
-        mmap.put("headerId",id);
+    @GetMapping("/list/{headerId}")
+    public String waveFlowDetail(@PathVariable("id")Integer headerId, ModelMap mmap) {
+        mmap.put("headerId",headerId);
         return prefix + "/waveFlowDetail";
     }
 
diff --git a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailServiceImpl.java b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailServiceImpl.java
index 2b52eda..e07416a 100644
--- a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailServiceImpl.java
@@ -482,6 +482,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap
         List<CycleCountDetail> cycs = new ArrayList<>();
         /*
         根据当前明细条目的盘点首选Code,取出显示要求,再根据显示要求隐藏或显示字段*/
+
         /*//配置表
         ConfigValue configValue = new ConfigValue();
         configValue.setModuleType("cyclecount");
@@ -503,9 +504,6 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap
             if(cycleCountPreference == null){
                 throw new SecurityException("没有对应的盘点首选项!");
             }
-            if(cycleCountPreference.getEnable() == false){
-                throw new SecurityException("当前默认选中盘点首选项已停用!");
-            }
             //判断字段
             if(cycleCountPreference.getPromptLocation() == false){
                 //库位
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java
index 4a8bd03..e37724a 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderServiceImpl.java
@@ -108,6 +108,7 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper,
             //说明没有货箱,则直接首位均为新建
             shipmentHeader.setFirstStatus(100);
             shipmentHeader.setLastStatus(100);
+
             this.saveOrUpdate(shipmentHeader);
         }else {
             int firstStatus = map.get("maxStatus");
diff --git a/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java b/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java
index e01c992..6a758cf 100644
--- a/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java
+++ b/src/main/java/com/huaheng/pc/shipment/shippingCombination/service/ShippingCombinationService.java
@@ -78,7 +78,7 @@ public class ShippingCombinationService {
 
             //根据sql查库存
             try {
-                list = inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getSqll(),shipmentPreference);
+                list = inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getStatements(),shipmentPreference);
             }catch (Exception e){
                 throw new ServiceException("sql错误");
             }
@@ -98,7 +98,7 @@ public class ShippingCombinationService {
             }
 
             //根据sql查库存
-            list=inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getSqll(),shipmentPreference);
+            list=inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getStatements(),shipmentPreference);
             return list;
         }
 
@@ -112,7 +112,7 @@ public class ShippingCombinationService {
         }
 
         //根据sql查库存
-        list=inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getSqll(),shipmentPreference);
+        list=inventoryDetailService.selectBysql(filterConfigDetail.getStatement(),shipmentDetail,filterConfigDetail.getStatements(),shipmentPreference);
         return list;
     }
 
diff --git a/src/main/java/com/huaheng/pc/task/taskDetail/controller/TaskDetailController.java b/src/main/java/com/huaheng/pc/task/taskDetail/controller/TaskDetailController.java
index beffabf..e85401e 100644
--- a/src/main/java/com/huaheng/pc/task/taskDetail/controller/TaskDetailController.java
+++ b/src/main/java/com/huaheng/pc/task/taskDetail/controller/TaskDetailController.java
@@ -9,6 +9,7 @@ import com.huaheng.common.utils.security.ShiroUtils;
 import com.huaheng.framework.web.page.PageDomain;
 import com.huaheng.framework.web.page.TableSupport;
 import com.huaheng.pc.task.taskDetail.service.TaskDetailService;
+import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.ModelMap;
@@ -41,6 +42,9 @@ public class TaskDetailController extends BaseController
     @Resource
     private TaskDetailService taskDetailService;
 
+
+
+
     @RequiresPermissions("task:taskHeader:view")
     @GetMapping("/{taskId}")
     public String taskDetail(@PathVariable("taskId") String taskId, ModelMap mmap)
@@ -67,17 +71,32 @@ public class TaskDetailController extends BaseController
         Integer pageSize = pageDomain.getPageSize();
         /**
          * 使用分页查询
+         * 700盘点
          */
         if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){
             Page<TaskDetail> page = new Page<>(pageNum, pageSize);
             IPage<TaskDetail> iPage = taskDetailService.page(page, lambdaQueryWrapper);
-            return getMpDataTable(iPage.getRecords(), iPage.getTotal());
+            List<TaskDetail> iPages = iPage.getRecords();
+            for(TaskDetail item:iPages){
+                if(item.getTaskType() == 700){
+                    iPages = taskDetailService.preferenceRealize(iPages) ;
+                }
+            }
+            return getMpDataTable(iPages, iPage.getTotal());
         } else {
             List<TaskDetail> list = taskDetailService.list(lambdaQueryWrapper);
+            for(TaskDetail items:list){
+                if(items.getTaskType() == 700){
+                    list = taskDetailService.preferenceRealize(list);
+                }
+            }
             return getDataTable(list);
         }
-
     }
+
+
+
+
 //    /**
 //     * 新增立库任务明细
 //     */
diff --git a/src/main/java/com/huaheng/pc/task/taskDetail/service/TaskDetailService.java b/src/main/java/com/huaheng/pc/task/taskDetail/service/TaskDetailService.java
index f5ac425..774d896 100644
--- a/src/main/java/com/huaheng/pc/task/taskDetail/service/TaskDetailService.java
+++ b/src/main/java/com/huaheng/pc/task/taskDetail/service/TaskDetailService.java
@@ -1,8 +1,14 @@
 package com.huaheng.pc.task.taskDetail.service;
 
+import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail;
 import com.huaheng.pc.task.taskDetail.domain.TaskDetail;
 import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
 public interface TaskDetailService extends IService<TaskDetail>{
 
 
+    List<TaskDetail> preferenceRealize (List<TaskDetail> cycleCoutDetailList);
+
 }
diff --git a/src/main/java/com/huaheng/pc/task/taskDetail/service/TaskDetailServiceImpl.java b/src/main/java/com/huaheng/pc/task/taskDetail/service/TaskDetailServiceImpl.java
index 2b2343f..710916b 100644
--- a/src/main/java/com/huaheng/pc/task/taskDetail/service/TaskDetailServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/task/taskDetail/service/TaskDetailServiceImpl.java
@@ -1,13 +1,97 @@
 package com.huaheng.pc.task.taskDetail.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.huaheng.pc.config.configValue.domain.ConfigValue;
+import com.huaheng.pc.config.configValue.service.ConfigValueService;
+import com.huaheng.pc.config.cycleCountPreference.domain.CycleCountPreference;
+import com.huaheng.pc.config.cycleCountPreference.service.CycleCountPreferenceService;
+import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail;
+import com.huaheng.pc.inventory.cycleCountDetail.service.CycleCountDetailService;
 import org.springframework.stereotype.Service;
 import javax.annotation.Resource;
+import java.util.ArrayList;
 import java.util.List;
+import java.util.WeakHashMap;
+
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.huaheng.pc.task.taskDetail.mapper.TaskDetailMapper;
 import com.huaheng.pc.task.taskDetail.domain.TaskDetail;
 import com.huaheng.pc.task.taskDetail.service.TaskDetailService;
+import org.springframework.transaction.annotation.Transactional;
+
 @Service
 public class TaskDetailServiceImpl extends ServiceImpl<TaskDetailMapper, TaskDetail> implements TaskDetailService{
 
+
+    @Resource
+    private CycleCountDetailService cycleCountDetailService;
+    @Resource
+    private CycleCountPreferenceService cycleCountPreferenceService;
+
+
+
+
+
+    /**
+     * 盘点任务首选项
+     * @param taskDetailList
+     * @return
+     */
+    @Transactional
+    @Override
+    public List<TaskDetail> preferenceRealize(List<TaskDetail> taskDetailList) {
+        /*查出盘点明细,找出盘点首选项,根据首选项显示字段*/
+        List<TaskDetail> taskDetails = new ArrayList<>();
+
+        for (TaskDetail item:taskDetailList){
+            //盘点明细
+            CycleCountDetail cycleCountDetailtemp = new CycleCountDetail();
+            cycleCountDetailtemp.setCycleCountHeadCode(item.getBillCode());
+            cycleCountDetailtemp.setId(item.getBillDetailId());
+            LambdaQueryWrapper<CycleCountDetail> detailLambdaQueryWrapper = Wrappers.lambdaQuery(cycleCountDetailtemp);
+            CycleCountDetail cycleCountDetail = cycleCountDetailService.getOne(detailLambdaQueryWrapper);
+            if(cycleCountDetail == null){
+                throw new SecurityException("没有找到子任务对应的盘点明细!");
+            }
+            //找盘点首选项
+            CycleCountPreference cycleCountPreferenceTemp = new CycleCountPreference();
+            cycleCountPreferenceTemp.setCode(cycleCountDetail.getPreferenceCode());
+            cycleCountPreferenceTemp.setWarehouseCode(cycleCountDetail.getWarehouseCode());
+            LambdaQueryWrapper<CycleCountPreference> preferenceLambdaQueryWrapper = Wrappers.lambdaQuery(cycleCountPreferenceTemp);
+            CycleCountPreference cycleCountPreference = cycleCountPreferenceService.getOne(preferenceLambdaQueryWrapper);
+            if(cycleCountPreference == null){
+                throw new SecurityException("没有找到盘点首选项!");
+            }
+            //根据首选项判断数据
+            if(cycleCountPreference.getPromptLocation() == false){
+                //库位
+                item.setFromLocation("");
+                item.setToLocation("");
+            }
+            if(cycleCountPreference.getPromptLpn() == false){
+                //容器
+                item.setContainerCode("");
+            }
+            if(cycleCountPreference.getPromptItem() == false){
+                //物料
+                item.setMaterialCode("");
+                item.setMaterialName("");
+                item.setMaterialUnit("");
+            }
+            if(cycleCountPreference.getPromptQuantity() == false){
+                //系统数量
+                item.setQty(null);
+            }
+            taskDetails.add(item);
+        }
+        return taskDetails;
+    }
+
+
+
+
+
+
+
 }
diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/controller/TaskHeaderController.java b/src/main/java/com/huaheng/pc/task/taskHeader/controller/TaskHeaderController.java
index 28da9f8..ff86b47 100644
--- a/src/main/java/com/huaheng/pc/task/taskHeader/controller/TaskHeaderController.java
+++ b/src/main/java/com/huaheng/pc/task/taskHeader/controller/TaskHeaderController.java
@@ -16,6 +16,9 @@ import com.huaheng.framework.web.page.TableDataInfo;
 import com.huaheng.framework.web.page.TableSupport;
 import com.huaheng.pc.config.material.service.MaterialService;
 import com.huaheng.pc.config.warehouse.domain.Warehouse;
+import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail;
+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.mapper.TaskHeaderMapper;
 import com.huaheng.pc.task.taskHeader.service.TaskHeaderService;
@@ -36,23 +39,23 @@ import java.util.List;
 
 public class TaskHeaderController extends BaseController {
 
+
+    @Resource
+    private TaskHeaderService taskHeaderService;
+
+
+
     private String prefix = "task/taskHeader";
 
+
     @RequiresPermissions("task:taskHeader:view")
     @GetMapping()
     public String taskHeader(HttpServletRequest request, ModelMap mmap) {
-     String InternalTaskType= request.getParameter("InternalTaskType");
+        String InternalTaskType= request.getParameter("InternalTaskType");
         mmap.put("InternalTaskType",InternalTaskType);
         return prefix + "/taskHeader";
     }
 
-
-    @Resource
-    private TaskHeaderService taskHeaderService;
-
-
-
-
     /**
      * 查询任务列表
      */
@@ -83,14 +86,20 @@ public class TaskHeaderController extends BaseController {
         if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)){
             Page<TaskHeader> page = new Page<>(pageNum, pageSize);
             IPage<TaskHeader> iPage = taskHeaderService.page(page, lambdaQueryWrapper);
-            return getMpDataTable(iPage.getRecords(), iPage.getTotal());
+            List<TaskHeader> iPages = iPage.getRecords();
+            if(InternalTaskType == 700){
+                iPages = taskHeaderService.preferenceRealize(iPages) ;
+            }
+            return getMpDataTable(iPages, iPage.getTotal());
         } else {
             List<TaskHeader> list = taskHeaderService.list(lambdaQueryWrapper);
+            if(InternalTaskType == 700){
+                list = taskHeaderService.preferenceRealize(list);
+            }
             return getDataTable(list);
         }
     }
 
-
     /**
      * 下发任务
      */
diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java
index 24a90d6..c246e27 100644
--- a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java
+++ b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderService.java
@@ -1,6 +1,7 @@
 package com.huaheng.pc.task.taskHeader.service;
 
 import com.huaheng.framework.web.domain.AjaxResult;
+import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail;
 import com.huaheng.pc.task.taskHeader.domain.ShipmentTaskCreateModel;
 import com.huaheng.pc.task.taskHeader.domain.TaskHeader;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -24,7 +25,6 @@ public interface TaskHeaderService extends IService<TaskHeader>{
 
     AjaxResult createTransferTask(String sourceLocation, String destinationLocation);
 
-
     AjaxResult createCheckOutTask(String[] ids);
 
     AjaxResult completeSeeOutTask(TaskHeader taskHeader);
@@ -39,5 +39,7 @@ public interface TaskHeaderService extends IService<TaskHeader>{
 
     AjaxResult cancelTask(Integer[] taskIds) ;
 
+    List<TaskHeader> preferenceRealize (List<TaskHeader> taskHeaderList);
+
 
 }
diff --git a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
index 5e79b92..d62aa4f 100644
--- a/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/task/taskHeader/service/TaskHeaderServiceImpl.java
@@ -106,6 +106,24 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
     private TaskAssignService taskAssignService;
 
 
+    /**
+     * 盘点任务首选项
+     * @param taskHeaderList
+     * @return
+     */
+    @Transactional
+    @Override
+    public List<TaskHeader> preferenceRealize(List<TaskHeader> taskHeaderList) {
+        //任务头,默认不显示库位,容器。
+        List<TaskHeader> taskHeaders = new ArrayList<>();
+        for(TaskHeader item:taskHeaderList){
+            item.setFromLocation("");
+            item.setToLocation("");
+            item.setContainerCode("");
+            taskHeaders.add(item);
+        }
+        return taskHeaders;
+    }
 
     /**
      * 查询容器有无任务
@@ -426,9 +444,9 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
                 throw new ServiceException("任务(" + taskId + ")任务已经是完成的!");
             }
             //如果没有库位不能完成
-            if (StringUtils.isEmpty(task.getFromLocation())) {
-                throw new ServiceException("任务" + taskId + "没有库位,执行中止");
-            }
+//            if (StringUtils.isEmpty(task.getFromLocation())) {
+//                throw new ServiceException("任务" + taskId + "没有库位,执行中止");
+//            }
             this.completeTask(task);
         }
 
@@ -1157,6 +1175,8 @@ public class TaskHeaderServiceImpl extends ServiceImpl<TaskHeaderMapper, TaskHea
                         taskDetail.setCompanyCode(task.getCompanyCode());
                         taskDetail.setMaterialCode(item.getMaterialCode());
                         taskDetail.setMaterialName(item.getMaterialName());
+                        taskDetail.setMaterialSpec(item.getMaterialSpec());
+                        taskDetail.setMaterialUnit(item.getMaterialUnit());
                         taskDetail.setBillCode(item.getReceiptCode());
                         taskDetail.setBillDetailId(item.getReceiptDetailId());
                         taskDetail.setBillCode(item.getReceiptCode());
diff --git a/src/main/resources/templates/config/filterConfigDetail/add.html b/src/main/resources/templates/config/filterConfigDetail/add.html
index 1bf507e..7a557fe 100644
--- a/src/main/resources/templates/config/filterConfigDetail/add.html
+++ b/src/main/resources/templates/config/filterConfigDetail/add.html
@@ -24,12 +24,12 @@
                 <!--<input id="recordType" name="recordType" class="form-control" type="text">-->
             <!--</div>-->
         <!--</div>-->
-        <div class="form-group">
-            <label class="col-sm-3 control-label">条件名:</label>
-            <div class="col-sm-8">
-                <input id="filterCode" name="filterCode" class="form-control" type="text">
-            </div>
-        </div>
+        <!--<div class="form-group">-->
+            <!--<label class="col-sm-3 control-label">条件名:</label>-->
+            <!--<div class="col-sm-8">-->
+                <!--<input id="filterCode" name="filterCode" class="form-control" type="text">-->
+            <!--</div>-->
+        <!--</div>-->
         <div class="form-group">
             <label class="col-sm-3 control-label">描述:</label>
             <div class="col-sm-8">
@@ -43,6 +43,12 @@
             </div>
         </div>
         <div class="form-group">
+            <label class="col-sm-3 control-label">后续分组排序:</label>
+            <div class="col-sm-8">
+                <input id="statements" name="statements" class="form-control" type="text">
+            </div>
+        </div>
+        <div class="form-group">
             <label class="col-sm-3 control-label">是否系统创建:</label>
             <div class="col-sm-8">
                 <div class="onoffswitch">
@@ -82,15 +88,6 @@
             code:{
                 required:true,
             },
-            // moduleType:{
-            //     required:true,
-            // },
-            // recordType:{
-            //     required:true,
-            // },
-            filterCode:{
-                required:true,
-            },
         },
         submitHandler: function(form) {
             // $.operate.save(prefix + "/add", $('#form-locationType-add').serialize());
diff --git a/src/main/resources/templates/config/filterConfigDetail/edit.html b/src/main/resources/templates/config/filterConfigDetail/edit.html
index 0dc9136..cecdd27 100644
--- a/src/main/resources/templates/config/filterConfigDetail/edit.html
+++ b/src/main/resources/templates/config/filterConfigDetail/edit.html
@@ -25,12 +25,7 @@
                 <!--<input id="recordType" name="recordType" class="form-control" type="text" th:field="*{recordType}">-->
             <!--</div>-->
         <!--</div>-->
-        <div class="form-group">
-            <label class="col-sm-3 control-label">条件名:</label>
-            <div class="col-sm-8">
-                <input id="filterCode" name="filterCode" class="form-control" type="text" th:field="*{filterCode}">
-            </div>
-        </div>
+
         <div class="form-group">
             <label class="col-sm-3 control-label">描述:</label>
             <div class="col-sm-8">
@@ -83,15 +78,6 @@
             code:{
                 required:true,
             },
-            // moduleType:{
-            //     required:true,
-            // },
-            // recordType:{
-            //     required:true,
-            // },
-            filterCode:{
-                required:true,
-            },
         },
         submitHandler: function(form) {
             // $.operate.save(prefix + "/add", $('#form-locationType-add').serialize());
diff --git a/src/main/resources/templates/config/filterConfigDetail/filterConfigDetail.html b/src/main/resources/templates/config/filterConfigDetail/filterConfigDetail.html
index b728ed2..feef6db 100644
--- a/src/main/resources/templates/config/filterConfigDetail/filterConfigDetail.html
+++ b/src/main/resources/templates/config/filterConfigDetail/filterConfigDetail.html
@@ -92,6 +92,10 @@
                     title : '全SQL'
                 },
                 {
+                    field : 'statements',
+                    title : '后续分组排序'
+                },
+                {
                     field : 'systemCreated',
                     title : '是否系统创建',
                     formatter: function (value, item, index) {
diff --git a/src/main/resources/templates/config/waveMaster/add.html b/src/main/resources/templates/config/waveMaster/add.html
index 03fade8..7e1217e 100644
--- a/src/main/resources/templates/config/waveMaster/add.html
+++ b/src/main/resources/templates/config/waveMaster/add.html
@@ -68,21 +68,25 @@
         <div class="form-group">
             <label class="col-sm-3 control-label">是否补货:</label>
             <div class="col-sm-8">
-                <div class="radio radio-info radio-inline" style="transform: scale(1.1, 1.1);">
-                    <input type="radio" id="needReplenishment1" name="needReplenishment" value="true" checked="checked"
-                           class="radio_select">
-                    <label for="needReplenishment1">是</label>
-                </div>
-                <div class="radio radio-danger radio-inline " style="transform: scale(1.1, 1.1);">
-                    <input type="radio" id="needReplenishment2" name="needReplenishment" value="false">
-                    <label for="needReplenishment2">否</label>
+                <div class="onoffswitch">
+                    <input type="checkbox" th:checked="true" class="onoffswitch-checkbox" id="needReplenishment" name="needReplenishment">
+                    <label class="onoffswitch-label" for="needReplenishment">
+                        <span class="onoffswitch-inner"></span>
+                        <span class="onoffswitch-switch"></span>
+                    </label>
                 </div>
             </div>
         </div>
         <div class="form-group">
             <label class="col-sm-3 control-label">取消波次时保留补货任务:</label>
             <div class="col-sm-8">
-                <input id="holdRplnTask" name="holdRplnTask" class="form-control" type="text">
+                <div class="onoffswitch">
+                    <input type="checkbox" th:checked="true" class="onoffswitch-checkbox" id="holdRplnTask" name="holdRplnTask">
+                    <label class="onoffswitch-label" for="holdRplnTask">
+                        <span class="onoffswitch-inner"></span>
+                        <span class="onoffswitch-switch"></span>
+                    </label>
+                </div>
             </div>
         </div>
         <!--<div class="form-group">
diff --git a/src/main/resources/templates/config/waveMaster/edit.html b/src/main/resources/templates/config/waveMaster/edit.html
index a95770c..a2e2383 100644
--- a/src/main/resources/templates/config/waveMaster/edit.html
+++ b/src/main/resources/templates/config/waveMaster/edit.html
@@ -69,23 +69,28 @@
         <div class="form-group">
             <label class="col-sm-3 control-label">是否补货:</label>
             <div class="col-sm-8">
-                <div class="radio radio-info radio-inline" style="transform: scale(1.1, 1.1);">
-                    <input type="radio" id="needReplenishment1" name="needReplenishment" value="true" th:field="*{needReplenishment}"
-                           class="radio_select">
-                    <label for="needReplenishment1">是</label>
-                </div>
-                <div class="radio radio-danger radio-inline " style="transform: scale(1.1, 1.1);">
-                    <input type="radio" id="needReplenishment2" name="needReplenishment" value="false" th:field="*{needReplenishment}">
-                    <label for="needReplenishment2">否</label>
+                <div class="onoffswitch">
+                    <input type="checkbox" th:checked="*{needReplenishment}" class="onoffswitch-checkbox" id="needReplenishment" name="needReplenishment">
+                    <label class="onoffswitch-label" for="needReplenishment">
+                        <span class="onoffswitch-inner"></span>
+                        <span class="onoffswitch-switch"></span>
+                    </label>
                 </div>
             </div>
         </div>
         <div class="form-group">
             <label class="col-sm-3 control-label">取消波次时保留补货任务:</label>
             <div class="col-sm-8">
-                <input id="holdRplnTask" name="holdRplnTask" class="form-control" type="text" th:field="*{holdRplnTask}">
+                <div class="onoffswitch">
+                    <input type="checkbox" th:checked="*{holdRplnTask}" class="onoffswitch-checkbox" id="holdRplnTask" name="holdRplnTask">
+                    <label class="onoffswitch-label" for="holdRplnTask">
+                        <span class="onoffswitch-inner"></span>
+                        <span class="onoffswitch-switch"></span>
+                    </label>
+                </div>
             </div>
         </div>
+
         <!--<div class="form-group">
             <label class="col-sm-3 control-label">数据版本:</label>
             <div class="col-sm-8">
diff --git a/src/main/resources/templates/config/waveMaster/waveMaster.html b/src/main/resources/templates/config/waveMaster/waveMaster.html
index 496759c..9654780 100644
--- a/src/main/resources/templates/config/waveMaster/waveMaster.html
+++ b/src/main/resources/templates/config/waveMaster/waveMaster.html
@@ -104,8 +104,8 @@
                     <div class="tab-pane fade" id="tabDetail">
 
                         <div class="btn-group hidden-xs" id="toolbar2" role="group">
-                            <a class="btn btn-outline btn-success btn-rounded" onclick="detailAdd()"
-                               shiro:hasPermission="config:waveFlowHeader:add">
+                            <a class="btn btn-outline btn-success btn-rounded" onclick="detailAdd()" style="display:none;"
+                               id="detailAdd" shiro:hasPermission="config:waveFlowHeader:add">
                                 <i class="fa fa-plus"></i> 新增
                             </a>
                             <a class="btn btn-outline btn-danger btn-rounded" onclick="detailBatRemove()"
@@ -216,7 +216,15 @@
                         },
                         {
                             field : 'holdRplnTask',
-                            title : '取消波次时保留补货任务'
+                            title : '取消波次时保留补货任务',
+                            formatter: function (value, item, index) {
+                                if (value==true) {
+                                    return '<span class="badge" style="background-color: #00B83F;color: white;width: 36px;">' + ' 是 ' + '</span>';
+                                }
+                                else if (value==false) {
+                                    return '<span class="badge" style="background-color: #ff0000;color: white;width: 36px;">' + ' 否 ' + '</span>';
+                                }
+                            }
                         },
                         {
                             field : 'created',
@@ -524,6 +532,7 @@
 
             function detailReg(rowId){
                 headerId = rowId;
+                $("#detailAdd").css("display","block");
                 detail();
             }
 
@@ -598,7 +607,7 @@
             }
 
             function detailAdd() {
-                var url = prefix2+"/add";
+                var url = prefix2+"/add/"+headerId;
                 $.modal.open("添加明细", url);
             }
 
diff --git a/src/main/resources/templates/task/taskHeader/taskHeader.html b/src/main/resources/templates/task/taskHeader/taskHeader.html
index 5749be0..506ddcc 100644
--- a/src/main/resources/templates/task/taskHeader/taskHeader.html
+++ b/src/main/resources/templates/task/taskHeader/taskHeader.html
@@ -283,11 +283,11 @@
             },
                 {
                     field : 'id',
-                    title : '明细Id'
+                    title : '明细ID'
                 },
                 {
                     field : 'taskId',
-                    title : '任务Id',
+                    title : '任务头ID',
                     sortable: true
                 },
                 {
@@ -295,17 +295,23 @@
                     title : '单据编码',
                 },
                 {
+                    field : 'billDetailId',
+                    title : '单据明细ID',
+                    sortable: true,
+                    visible:true,
+                },
+                {
                     field : 'materialCode',
-                    title : '存货编码',
-                    sortable: true
+                    title : '物料编码',
+
                 },
                 {
                     field : 'materialName',
                     title : '物料名称',
-                    sortable:true
+
                 },
                 {
-                    field : 'project',
+                    field : 'projectNo',
                     title : '项目号',
                 },
                 {
@@ -495,14 +501,6 @@
                 $.operate.submit(url, "post", "json", data);
             })
         }
-        
-        function emptyIn() {
-			$.modal.open("空托盘入库",prefix+"/emptyIn")
-        }
-        
-        function emptyOut() {
-            $.modal.open("空托盘出库",prefix+"/emptyOut")
-        }
 
 		function queryParams(params) {
 			return {