diff --git a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java
index 034ac2d..7050705 100644
--- a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java
+++ b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/controller/CycleCountDetailController.java
@@ -109,10 +109,14 @@ public class CycleCountDetailController extends BaseController {
             //分页查询
             Page<CycleCountDetail> page = new Page<>(pageNum, pageSize);
             IPage<CycleCountDetail> iPage = cycleCountDetailService.page(page, lambdaQueryWrapper);
-            return getMpDataTable(iPage.getRecords(), iPage.getTotal());
+            //根据盘点首选项确定显示字段
+            List<CycleCountDetail> ipages = cycleCountDetailService.preferenceRealize(iPage.getRecords()) ;
+            return getMpDataTable(ipages, iPage.getTotal());
         } else {
             List<CycleCountDetail> list  = cycleCountDetailService.list(lambdaQueryWrapper);
-            return getDataTable(list);
+            //根据盘点首选项确定显示字段
+            List<CycleCountDetail> cycleCountDetails = cycleCountDetailService.preferenceRealize(list) ;
+            return getDataTable(cycleCountDetails);
         }
     }
         //空List
diff --git a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailService.java b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailService.java
index b2df118..8087e81 100644
--- a/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailService.java
+++ b/src/main/java/com/huaheng/pc/inventory/cycleCountDetail/service/CycleCountDetailService.java
@@ -3,8 +3,10 @@ package com.huaheng.pc.inventory.cycleCountDetail.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.huaheng.framework.web.domain.AjaxResult;
 import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail;
+import org.apache.poi.ss.formula.functions.T;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 
 public interface CycleCountDetailService extends IService<CycleCountDetail> {
@@ -14,7 +16,7 @@ public interface CycleCountDetailService extends IService<CycleCountDetail> {
 
     AjaxResult createCycleCountTaskByHeadId(String cycleCountHeadCode);
 
-    AjaxResult createCycleCoutTaskByDetailId(Integer cycleCoutdetailId);
+    AjaxResult createCycleCoutTaskByDetailId(Integer cycleCoutDetailId);
 
     AjaxResult confirmGapQty(Integer detailId, BigDecimal qty);
 
@@ -22,7 +24,7 @@ public interface CycleCountDetailService extends IService<CycleCountDetail> {
 
     AjaxResult createCyclecountWithGapQty(String cycleCountHeadCode);
 
-
+    List<CycleCountDetail> preferenceRealize (List<CycleCountDetail> cycleCoutDetailList);
 
 }
 
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 c7a6538..2b52eda 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
@@ -7,6 +7,10 @@ import com.huaheng.common.exception.service.ServiceException;
 import com.huaheng.common.utils.StringUtils;
 import com.huaheng.common.utils.security.ShiroUtils;
 import com.huaheng.framework.web.domain.AjaxResult;
+import com.huaheng.pc.config.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.location.domain.Location;
 import com.huaheng.pc.config.location.service.LocationService;
 import com.huaheng.pc.inventory.cycleCountDetail.domain.CycleCountDetail;
@@ -43,9 +47,10 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap
     private TaskHeaderService taskHeaderService;
     @Resource
     private TaskDetailService taskDetailService;
-
-
-
+    @Resource
+    private ConfigValueService configValueService;
+    @Resource
+    private CycleCountPreferenceService cycleCountPreferenceService;
 
 
     /**
@@ -101,6 +106,16 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap
         if(cyclecountHeader.getStatusCyc() > 1){
             return AjaxResult.error("盘点单非新建状态,无法再添加明细");
         }
+        //默认盘点配置,首选项
+        ConfigValue configValue = new ConfigValue();
+        configValue.setModuleType("cyclecount");
+        configValue.setWarehouseCode(ShiroUtils.getWarehouseCode());
+        LambdaQueryWrapper<ConfigValue> configValueLambdaQueryWrapper = Wrappers.lambdaQuery(configValue);
+        configValue = configValueService.getOne(configValueLambdaQueryWrapper);
+        if(configValue == null){
+            throw new SecurityException("请先在配置中添加盘点配置");
+        }
+        String preferenceCode = configValue.getIdentifier();
         //获取已经存在的明细
         CycleCountDetail cycleCountDetail = new CycleCountDetail();
         cycleCountDetail.setWarehouseCode(cyclecountHeader.getWarehouseCode());
@@ -118,9 +133,9 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap
             }
             //查询该条库存明细
             InventoryDetail inventoryDetail = inventoryDetailService.getById(inventoryDetailId);
-
             //写入盘点明细
             CycleCountDetail ccd = new CycleCountDetail();
+            ccd.setPreferenceCode(preferenceCode);
             ccd.setCycleCountHeadCode(cyclecountHeader.getCode());
             ccd.setInventoryDetailId(inventoryDetailId);
             ccd.setWarehouseCode(inventoryDetail.getWarehouseCode());
@@ -189,7 +204,7 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap
                 }
             }
         }
-        String msg = "";
+        String msg = null;
         if(count==list.size()){
             msg="全部生成成功";
         } else if (count <= 0 && countErr <= 0){
@@ -202,17 +217,17 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap
 
     /**
      * 生成单条盘点任务
-     * @param cycleCoutdetailId
+     * @param cycleCoutDetailId
      * @return
      */
     @Override
     @Transactional
-    public AjaxResult createCycleCoutTaskByDetailId(Integer cycleCoutdetailId) {
+    public AjaxResult createCycleCoutTaskByDetailId(Integer cycleCoutDetailId) {
         /*任务主表中存在库位,在盘点明细中生成任务时,不同的容器生成不同的主任务*/
         //在盘点单生成任务并执行后,同一容器的物料仍然可以生成任务,否则任务已完成则无法添加任务100
         //检查状态不为100的任务,在有和下发的盘点单容器相同的任务时,把该条明细的任务写入到当前相同容器的任务里
 
-        CycleCountDetail cycleCountDetail = this.getById(cycleCoutdetailId);
+        CycleCountDetail cycleCountDetail = this.getById(cycleCoutDetailId);
         if(cycleCountDetail == null ){
             return AjaxResult.error("盘点明细ID错误,没有该条明细");
         }
@@ -456,11 +471,65 @@ public class CycleCountDetailServiceImpl extends ServiceImpl<CycleCountDetailMap
         return AjaxResult.success("生成复盘单成功!");
     }
 
+    /**
+     * 盘点首选项实现
+     * @param cycleCoutDetailList
+     * @return
+     */
+    @Transactional
+    @Override
+    public List<CycleCountDetail> preferenceRealize(List<CycleCountDetail> cycleCoutDetailList) {
+        List<CycleCountDetail> cycs = new ArrayList<>();
+        /*
+        根据当前明细条目的盘点首选Code,取出显示要求,再根据显示要求隐藏或显示字段*/
+        /*//配置表
+        ConfigValue configValue = new ConfigValue();
+        configValue.setModuleType("cyclecount");
+        configValue.setWarehouseCode(ShiroUtils.getWarehouseCode());
+        LambdaQueryWrapper<ConfigValue> configValueLambdaQueryWrapper = Wrappers.lambdaQuery(configValue);
+        ConfigValue value = configValueService.getOne(configValueLambdaQueryWrapper);
+        if(value == null){
+            throw new SecurityException("请先在配置中添加盘点配置");
+        }*/
 
+        //取出preference的数据来判断字段
+        for(CycleCountDetail item:cycleCoutDetailList){
+            //盘点首选项
+            CycleCountPreference temp = new CycleCountPreference();
+            temp.setCode(item.getPreferenceCode());
+            temp.setWarehouseCode(item.getWarehouseCode());
+            LambdaQueryWrapper<CycleCountPreference> cycleCountPreferenceLambdaQuery = Wrappers.lambdaQuery(temp);
+            CycleCountPreference cycleCountPreference = cycleCountPreferenceService.getOne(cycleCountPreferenceLambdaQuery);
+            if(cycleCountPreference == null){
+                throw new SecurityException("没有对应的盘点首选项!");
+            }
+            if(cycleCountPreference.getEnable() == false){
+                throw new SecurityException("当前默认选中盘点首选项已停用!");
+            }
+            //判断字段
+            if(cycleCountPreference.getPromptLocation() == false){
+                //库位
+                item.setLocationCode("");
+            }
+            if(cycleCountPreference.getPromptLpn() == false){
+                //容器
+                item.setContainerCode("");
+            }
+            if(cycleCountPreference.getPromptItem() == false){
+                //物料
+                item.setMaterialCode("");
+                item.setMaterialName("");
+                item.setMaterialUnit("");
+            }
+            if(cycleCountPreference.getPromptQuantity() == false){
+                //系统数量
+                item.setSystemQty(null);
+            }
+            cycs.add(item);
+        }
 
-
-
-
+        return cycs;
+    }
 
 
 }
diff --git a/src/main/resources/templates/config/configValue/configValue.html b/src/main/resources/templates/config/configValue/configValue.html
index c3ca7f7..dd36581 100644
--- a/src/main/resources/templates/config/configValue/configValue.html
+++ b/src/main/resources/templates/config/configValue/configValue.html
@@ -48,6 +48,8 @@
     var prefix = ctx + "config/configValue";
     var editFlag = [[${@permission.hasPermi('config:configValue:edit')}]];
     var removeFlag = [[${@permission.hasPermi('config:configValue:remove')}]];
+    var recordType=[[${@dict.getType('recordType')}]];
+
     $(function() {
         var options = {
             url: prefix + "/list",
@@ -74,8 +76,12 @@
                     title : '模块'
                 },
                 {
-                    field : 'recordType',
-                    title : '类型'
+                    field: 'recordType',
+                    title: '类型',
+                    formatter: function(value, row, index) {
+                        return $.table.selectDictLabel(recordType, value);
+                    },
+
                 },
                 {
                     field : 'identifier',
diff --git a/src/main/resources/templates/config/cycleCountPreference/edit.html b/src/main/resources/templates/config/cycleCountPreference/edit.html
index 133a877..c22b605 100644
--- a/src/main/resources/templates/config/cycleCountPreference/edit.html
+++ b/src/main/resources/templates/config/cycleCountPreference/edit.html
@@ -164,13 +164,14 @@
             promptQuantity: {
                 required: true,
             },
-            allowAddNewInventory: {
-                required: true,
-            }
         },
         submitHandler: function(form) {
             var tableValue = $.common.getTableValue("#form-cycleCountPreference-edit");
-            /*tableValue = formValueReplace(tableValue, "id", $("input[name='id']").is(':checked'));*/
+            tableValue = formValueReplace(tableValue, "promptLocation", $("input[name='promptLocation']").is(':checked'));
+            tableValue = formValueReplace(tableValue, "promptLpn", $("input[name='promptLpn']").is(':checked'));
+            tableValue = formValueReplace(tableValue, "promptItem", $("input[name='promptItem']").is(':checked'));
+            tableValue = formValueReplace(tableValue, "promptQuantity", $("input[name='promptQuantity']").is(':checked'));
+            tableValue = formValueReplace(tableValue, "enable", $("input[name='enable']").is(':checked'));
             $.operate.save(prefix + "/edit", tableValue);
         }
     });
diff --git a/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html b/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html
index 430338b..318e153 100644
--- a/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html
+++ b/src/main/resources/templates/inventory/cycleCountDetail/cycleCountDetail.html
@@ -155,6 +155,10 @@
                     title: '仓库',
                 },
                 {
+                    field: 'preferenceCode',
+                    title: '盘点首选项编码',
+                },
+                {
                     field: 'countId',
                     title: '盘点内部号',
                     visible: false