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 2ad9e5a..c2e9e30 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
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.huaheng.common.exception.service.ServiceException;
 import com.huaheng.common.support.Convert;
 import com.huaheng.common.utils.StringUtils;
 import com.huaheng.common.utils.security.ShiroUtils;
@@ -17,6 +18,8 @@ import com.huaheng.framework.web.page.TableDataInfo;
 import com.huaheng.framework.web.page.TableSupport;
 import com.huaheng.pc.config.FilterConfigDetail.domain.FilterConfigDetail;
 import com.huaheng.pc.config.FilterConfigDetail.service.FilterConfigDetailService;
+import com.huaheng.pc.config.FilterConfigHeader.domain.FilterConfigHeader;
+import com.huaheng.pc.config.FilterConfigHeader.service.FilterConfigHeaderService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiParam;
@@ -45,6 +48,8 @@ public class FilterConfigDetailController extends BaseController {
 
     @Autowired
     private FilterConfigDetailService filterConfigDetailService;
+    @Autowired
+    private FilterConfigHeaderService filterConfigHeaderService;
 
 
     @RequiresPermissions("config:filterConfigDetail:view")
@@ -112,6 +117,12 @@ public class FilterConfigDetailController extends BaseController {
     @PostMapping("/add")
     @ResponseBody
     public AjaxResult addSave(FilterConfigDetail filterConfigDetail)  {
+        FilterConfigHeader configHeader = filterConfigHeaderService.getById(filterConfigDetail.getHeaderId());
+        if(configHeader == null){
+            throw new ServiceException("找不到主表");
+        }
+        filterConfigDetail.setModuleType(configHeader.getModuleType());
+        filterConfigDetail.setRecordType(configHeader.getRecordType());
         filterConfigDetail.setWarehouseCode(ShiroUtils.getWarehouseCode());
         filterConfigDetail.setCreatedBy(ShiroUtils.getLoginName());
         filterConfigDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
diff --git a/src/main/java/com/huaheng/pc/config/FilterConfigDetail/service/FilterConfigDetailService.java b/src/main/java/com/huaheng/pc/config/FilterConfigDetail/service/FilterConfigDetailService.java
index 1aa64bf..c87cf6d 100644
--- a/src/main/java/com/huaheng/pc/config/FilterConfigDetail/service/FilterConfigDetailService.java
+++ b/src/main/java/com/huaheng/pc/config/FilterConfigDetail/service/FilterConfigDetailService.java
@@ -18,10 +18,10 @@ public class FilterConfigDetailService extends ServiceImpl<FilterConfigDetailMap
      * 查询定位自定义sql,供前端页面选择使用
      * @return
      */
-    public List<Map<String, Object>> queryFilterConfigDetail(String moduleType){
+    public List<Map<String, Object>> queryFilterConfigDetail(String recordType){
         LambdaQueryWrapper<FilterConfigDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
         lambdaQueryWrapper.select(FilterConfigDetail::getCode, FilterConfigDetail::getDescription)
-                .eq(FilterConfigDetail::getModuleType,moduleType)
+                .eq(FilterConfigDetail::getRecordType, recordType)
                 .eq(FilterConfigDetail::getWarehouseCode, ShiroUtils.getWarehouseCode());
         return this.listMaps(lambdaQueryWrapper);
     }
diff --git a/src/main/java/com/huaheng/pc/config/FilterConfigHeader/service/FilterConfigHeaderService.java b/src/main/java/com/huaheng/pc/config/FilterConfigHeader/service/FilterConfigHeaderService.java
index dafaf1a..d9e7ad6 100644
--- a/src/main/java/com/huaheng/pc/config/FilterConfigHeader/service/FilterConfigHeaderService.java
+++ b/src/main/java/com/huaheng/pc/config/FilterConfigHeader/service/FilterConfigHeaderService.java
@@ -1,11 +1,25 @@
 package com.huaheng.pc.config.FilterConfigHeader.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huaheng.common.utils.security.ShiroUtils;
 import com.huaheng.pc.config.FilterConfigHeader.domain.FilterConfigHeader;
 import com.huaheng.pc.config.FilterConfigHeader.mapper.FilterConfigHeaderMapper;
 import org.springframework.stereotype.Service;
 
-@Service
+import java.util.List;
+
+@Service("filterConfigHeaderService")
 public class FilterConfigHeaderService extends ServiceImpl<FilterConfigHeaderMapper, FilterConfigHeader> {
 
+
+    //根据模块和类型查找具体规则
+    public List<FilterConfigHeader> getFilterConfigHeaderService(String moduleType,String recordType){
+        LambdaQueryWrapper<FilterConfigHeader> lam = Wrappers.lambdaQuery();
+        lam.eq(FilterConfigHeader::getModuleType,moduleType)
+                .eq(FilterConfigHeader::getRecordType,recordType)
+                .eq(FilterConfigHeader::getWarehouseCode, ShiroUtils.getWarehouseCode());
+        return this.list(lam);
+    }
 }
diff --git a/src/main/java/com/huaheng/pc/config/shipmentPreference/service/ShipmentPreferenceService.java b/src/main/java/com/huaheng/pc/config/shipmentPreference/service/ShipmentPreferenceService.java
index a7579d2..a950e13 100644
--- a/src/main/java/com/huaheng/pc/config/shipmentPreference/service/ShipmentPreferenceService.java
+++ b/src/main/java/com/huaheng/pc/config/shipmentPreference/service/ShipmentPreferenceService.java
@@ -2,8 +2,14 @@ package com.huaheng.pc.config.shipmentPreference.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.huaheng.pc.config.shipmentPreference.domain.ShipmentPreference;
+import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
+
+import java.util.List;
 
 public interface ShipmentPreferenceService extends IService<ShipmentPreference>{
 
 
+    //查看出库此操作是否符合出库首选项的出库流程
+    List<ShipmentHeader>  checkShipmentProcess(String ids, Integer code);
+
 }
diff --git a/src/main/java/com/huaheng/pc/config/shipmentPreference/service/ShipmentPreferenceServiceImpl.java b/src/main/java/com/huaheng/pc/config/shipmentPreference/service/ShipmentPreferenceServiceImpl.java
index 2f61315..e53547a 100644
--- a/src/main/java/com/huaheng/pc/config/shipmentPreference/service/ShipmentPreferenceServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/config/shipmentPreference/service/ShipmentPreferenceServiceImpl.java
@@ -1,11 +1,87 @@
 package com.huaheng.pc.config.shipmentPreference.service;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.huaheng.common.exception.service.ServiceException;
+import com.huaheng.common.support.Convert;
+import com.huaheng.common.utils.StringUtils;
+import com.huaheng.common.utils.security.ShiroUtils;
 import com.huaheng.pc.config.shipmentPreference.domain.ShipmentPreference;
 import com.huaheng.pc.config.shipmentPreference.mapper.ShipmentPreferenceMapper;
+import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail;
+import com.huaheng.pc.config.statusFlow.domain.StatusFlowHeader;
+import com.huaheng.pc.config.statusFlow.service.StatusFlowDetailService;
+import com.huaheng.pc.config.statusFlow.service.StatusFlowHeaderService;
+import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
+import com.huaheng.pc.shipment.shipmentHeader.service.ShipmentHeaderService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+
 @Service("shipmentPreference")
 public class ShipmentPreferenceServiceImpl extends ServiceImpl<ShipmentPreferenceMapper, ShipmentPreference> implements ShipmentPreferenceService {
 
+    @Autowired
+    private ShipmentPreferenceService shipmentPreferenceService;
+    @Autowired
+    private StatusFlowHeaderService statusFlowHeaderService;
+    @Autowired
+    private StatusFlowDetailService statusFlowDetailService;
+    @Autowired
+    private ShipmentHeaderService shipmentHeaderService;
+
+
+    /**
+     * 1、找出出库首选项
+     * 2、查看出库首选项的出库流程
+     * 3、找到该状态流的出库流程明细
+     * 4、判断单据是否按出库流程操作
+     *
+     * @param ids 出库单id
+     * @param code 状态流
+     * @return
+     */
+    @Override
+    public List<ShipmentHeader> checkShipmentProcess(String ids, Integer code) {
+        //查找出库首选项
+        ShipmentPreference shipmentPreference = shipmentPreferenceService.list().get(0);
+        if(shipmentPreference == null){
+            throw new ServiceException("系统没有设置出库首选");
+        }
+        if(StringUtils.isEmpty(shipmentPreference.getShippingFlow())){
+            throw new ServiceException("出库首选没有绑定出库流程");
+        }
+
+        //查看出库流程
+        LambdaQueryWrapper<StatusFlowHeader> statusFlowHeaderLam = Wrappers.lambdaQuery();
+        statusFlowHeaderLam.eq(StatusFlowHeader::getCode,shipmentPreference.getShippingFlow())
+                .eq(StatusFlowHeader::getWarehouseCode, ShiroUtils.getWarehouseCode());
+        StatusFlowHeader statusFlowHeader = statusFlowHeaderService.getOne(statusFlowHeaderLam);
+        if(statusFlowHeader == null){
+            throw new ServiceException("出库首选绑定的出库流程不在系统中");
+        }
+        //查看流程明细
+        LambdaQueryWrapper<StatusFlowDetail> statusFlowDetailLamb = Wrappers.lambdaQuery();
+        statusFlowDetailLamb.eq(StatusFlowDetail::getHeaderId,statusFlowHeader.getId())
+                .eq(StatusFlowDetail::getWarehouseCode,ShiroUtils.getWarehouseCode())
+                .eq(StatusFlowDetail::getFlowCode,code.toString());
+        StatusFlowDetail statusFlowDetail = statusFlowDetailService.getOne(statusFlowDetailLamb);
+
+        List<ShipmentHeader> shipmentHeaderList = new ArrayList<>();
+        if(statusFlowDetail != null && statusFlowDetail.getNessary() == 1){
+            for (Integer id : Convert.toIntArray(ids))
+            {
+                //判断单据是否按出库流程操作
+                ShipmentHeader shipmentHeader = shipmentHeaderService.getById(id);
+                if(shipmentHeader == null || shipmentHeader.getFirstStatus()<code){
+                    throw new ServiceException("单据状态不对,此操作不符合出库流程,请按照出库流程出库");
+                }
+                shipmentHeaderList.add(shipmentHeader);
+            }
+        }
+        return shipmentHeaderList;
+    }
 }
diff --git a/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowDetailController.java b/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowDetailController.java
index 7322de5..15d6296 100644
--- a/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowDetailController.java
+++ b/src/main/java/com/huaheng/pc/config/statusFlow/controller/StatusFlowDetailController.java
@@ -109,6 +109,8 @@ public class StatusFlowDetailController extends BaseController {
     @ResponseBody
     public AjaxResult addSave(@ApiParam(name = "containerType", value = "流程明细", required = true)
                                       StatusFlowDetail statusFlowDetail)  {
+        StatusFlowHeader statusFlowHeader = statusFlowHeaderService.getById(statusFlowDetail.getHeaderId());
+        statusFlowDetail.setModuleType(statusFlowHeader.getModuleType());
         statusFlowDetail.setWarehouseCode(ShiroUtils.getWarehouseCode());
         statusFlowDetail.setCreatedBy(ShiroUtils.getLoginName());
         statusFlowDetail.setLastUpdatedBy(ShiroUtils.getLoginName());
diff --git a/src/main/java/com/huaheng/pc/config/statusFlow/service/StatusFlowHeaderService.java b/src/main/java/com/huaheng/pc/config/statusFlow/service/StatusFlowHeaderService.java
index ddee535..4c5fbad 100644
--- a/src/main/java/com/huaheng/pc/config/statusFlow/service/StatusFlowHeaderService.java
+++ b/src/main/java/com/huaheng/pc/config/statusFlow/service/StatusFlowHeaderService.java
@@ -2,6 +2,7 @@ package com.huaheng.pc.config.statusFlow.service;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.huaheng.common.utils.security.ShiroUtils;
 import org.springframework.aop.aspectj.AspectJPrecedenceInformation;
 import org.springframework.stereotype.Service;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -20,4 +21,13 @@ public class StatusFlowHeaderService extends ServiceImpl<StatusFlowHeaderMapper,
             .eq(StatusFlowHeader::getRecordType, recordType);
         return this.listMaps(lambda);
     }
+
+
+    //根据模块区分出入库流程
+    public List<StatusFlowHeader> shipmentStatusFlowHeaders(String moduleType){
+        LambdaQueryWrapper<StatusFlowHeader> lambda = Wrappers.lambdaQuery();
+        lambda.eq(StatusFlowHeader::getModuleType,moduleType)
+                .eq(StatusFlowHeader::getWarehouseCode, ShiroUtils.getWarehouseCode());
+        return this.list(lambda);
+    }
 }
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 ebdb1aa..732a40e 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
@@ -10,6 +10,7 @@ import com.huaheng.pc.config.location.domain.Location;
 import com.huaheng.pc.config.location.service.LocationService;
 import com.huaheng.pc.config.material.domain.Material;
 import com.huaheng.pc.config.material.service.MaterialService;
+import com.huaheng.pc.config.shipmentPreference.service.ShipmentPreferenceService;
 import com.huaheng.pc.inventory.inventoryDetail.domain.InventoryDetail;
 import com.huaheng.pc.inventory.inventoryDetail.service.InventoryDetailService;
 import com.huaheng.pc.shipment.shipmentContainerDetail.domain.ShipmentContainerDetail;
@@ -67,6 +68,8 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont
     private TaskDetailService taskDetailService;
     @Autowired
     private WaveService waveService;
+    @Autowired
+    private ShipmentPreferenceService shipmentPreferenceService;
 
 
     @Override
@@ -392,6 +395,15 @@ public class ShipmentContainerHeaderServiceImpl extends ServiceImpl<ShipmentCont
     @Override
     @Transactional
     public AjaxResult autoCombination(String shipmentCode) {
+        LambdaQueryWrapper<ShipmentHeader> shipmentHeaderLam = Wrappers.lambdaQuery();
+        shipmentHeaderLam.eq(ShipmentHeader::getWarehouseCode,ShiroUtils.getWarehouseCode())
+                .eq(ShipmentHeader::getCode,shipmentCode);
+        ShipmentHeader shipmentHeader = shipmentHeaderService.getOne(shipmentHeaderLam);
+        if(shipmentHeader == null){
+            throw new ServiceException("系统没有此单据");
+        }
+        shipmentPreferenceService.checkShipmentProcess(shipmentHeader.getId().toString(),100);
+
         LambdaQueryWrapper<ShipmentDetail> lambdaQueryWrapper = Wrappers.lambdaQuery();
         lambdaQueryWrapper.eq(ShipmentDetail::getShipmentCode, shipmentCode)
                 .eq(ShipmentDetail::getWarehouseCode, ShiroUtils.getWarehouseCode());
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/ShipmentDetailServiceImpl.java b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/ShipmentDetailServiceImpl.java
index ec62ba5..4e6eac6 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/ShipmentDetailServiceImpl.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentDetail/service/ShipmentDetailServiceImpl.java
@@ -10,6 +10,12 @@ import com.huaheng.common.utils.security.ShiroUtils;
 import com.huaheng.framework.web.domain.AjaxResult;
 import com.huaheng.pc.config.material.domain.Material;
 import com.huaheng.pc.config.material.service.MaterialService;
+import com.huaheng.pc.config.shipmentPreference.domain.ShipmentPreference;
+import com.huaheng.pc.config.shipmentPreference.service.ShipmentPreferenceService;
+import com.huaheng.pc.config.statusFlow.domain.StatusFlowDetail;
+import com.huaheng.pc.config.statusFlow.domain.StatusFlowHeader;
+import com.huaheng.pc.config.statusFlow.service.StatusFlowDetailService;
+import com.huaheng.pc.config.statusFlow.service.StatusFlowHeaderService;
 import com.huaheng.pc.config.waveMaster.domain.WaveMaster;
 import com.huaheng.pc.config.waveMaster.service.WaveMasterService;
 import com.huaheng.pc.shipment.shipmentHeader.domain.ShipmentHeader;
@@ -43,6 +49,12 @@ public class ShipmentDetailServiceImpl extends ServiceImpl<ShipmentDetailMapper,
     private WaveMasterService waveMasterService;
     @Autowired
     private WaveService waveService;
+    @Autowired
+    private ShipmentPreferenceService shipmentPreferenceService;
+    @Autowired
+    private StatusFlowHeaderService statusFlowHeaderService;
+    @Autowired
+    private StatusFlowDetailService statusFlowDetailService;
 
     /**
      * 新增出库明细
@@ -152,6 +164,7 @@ public class ShipmentDetailServiceImpl extends ServiceImpl<ShipmentDetailMapper,
 
 
     /**
+     * 查看选中的单据状态是否符合出库流程
      * 选中的单据加入波次
      * 根据选中的主单ID和波次主表的code,判断主单之和是否符合波次的限制条件,
      * 看此code的波次是否建成未开始执行,如果是则只需修改波次属性,否则创建新的波次,
@@ -160,6 +173,9 @@ public class ShipmentDetailServiceImpl extends ServiceImpl<ShipmentDetailMapper,
     @Override
     @Transactional
     public void saveWave(String ids, String code) {
+        Integer status = 100;
+        List<ShipmentHeader> shipmentHeaderList =shipmentPreferenceService.checkShipmentProcess(ids,status);
+
         //找到波次主表,看系统是否有此波次
         LambdaQueryWrapper<WaveMaster> lam=Wrappers.lambdaQuery();
         lam.eq(WaveMaster::getCode,code)
@@ -248,12 +264,8 @@ public class ShipmentDetailServiceImpl extends ServiceImpl<ShipmentDetailMapper,
             throw new ServiceException("出库子单加入波次失败");
         }
 
-        List<ShipmentHeader> shipmentHeaderList=new ArrayList<>();
-        //修改主单状态
-        for (Integer id : Convert.toIntArray(ids)){
-            ShipmentHeader shipmentHeader = shipmentHeaderService.getById(id);
+        for(ShipmentHeader shipmentHeader :shipmentHeaderList){
             shipmentHeader.setLastStatus(200);
-            shipmentHeaderList.add(shipmentHeader);
         }
         flag = shipmentHeaderService.updateBatchById(shipmentHeaderList);
         if(flag == false){
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/controller/ShipmentHeaderController.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/controller/ShipmentHeaderController.java
index 2ee90b1..d79317a 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/controller/ShipmentHeaderController.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/controller/ShipmentHeaderController.java
@@ -184,6 +184,22 @@ public class ShipmentHeaderController extends BaseController
 		return AjaxResult.success("删除成功!");
 	}
 
+
+	/**
+	 * 审核出库主单
+	 */
+	@RequiresPermissions("shipment:bill:edit")
+	@Log(title = "出库-出库单", operating="审核出库主单", action = BusinessType.UPDATE)
+	@PostMapping("/review")
+	@ResponseBody
+	public AjaxResult review(String ids)
+	{
+		if (StringUtils.isEmpty(ids)) {
+			return AjaxResult.error("id不能为空");
+		}
+		return shipmentHeaderService.review(ids);
+	}
+
 	/**
 	 *  出库单报表打印
 	 * @return
diff --git a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderService.java b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderService.java
index 0120581..e793c9d 100644
--- a/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderService.java
+++ b/src/main/java/com/huaheng/pc/shipment/shipmentHeader/service/ShipmentHeaderService.java
@@ -11,7 +11,6 @@ public interface ShipmentHeaderService extends IService<ShipmentHeader>{
     //新增出库主单
     AjaxResult<Boolean> saveHeader(ShipmentHeader shipmentHeader) ;
 
-
     //根据单据类型建单据号
     String createCode(String shipmentType);
 
@@ -20,4 +19,7 @@ public interface ShipmentHeaderService extends IService<ShipmentHeader>{
 
     AjaxResult addHistory(ShipmentHeader shipmentHeader) throws InvocationTargetException, IllegalAccessException;
 
+    //审核出库单
+    AjaxResult review(String ids);
+
 }
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 24425d6..1833cbf 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
@@ -3,6 +3,7 @@ package com.huaheng.pc.shipment.shipmentHeader.service;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.huaheng.common.exception.service.ServiceException;
+import com.huaheng.common.support.Convert;
 import com.huaheng.common.utils.security.ShiroUtils;
 import com.huaheng.framework.web.domain.AjaxResult;
 import com.huaheng.pc.shipment.shipmentContainerHeader.service.ShipmentContainerHeaderService;
@@ -169,4 +170,59 @@ public class ShipmentHeaderServiceImpl extends ServiceImpl<ShipmentHeaderMapper,
         }
         return null;
     }
+
+    /**审核出库单,加入订单池
+     * 1、找到主单,确定主单的状态是否小于100
+     * 2.小于100时,把主单和相应的子单加入到list中,大于等于100时,直接跳过
+     * 3.将修改后的主单列表和子单列表进行修改,加入订单池
+     *
+     * @param ids
+     * @return
+     */
+
+    @Override
+    public AjaxResult review(String ids) {
+
+        List<ShipmentHeader> shipmentHeaders = new ArrayList<>();
+        List<ShipmentDetail> shipmentDetails = new ArrayList<>();
+
+        //1、找到主单,确定主单的状态是否小于100
+        for (Integer id : Convert.toIntArray(ids)){
+            ShipmentHeader shipmentHeader = this.getById(id);
+            if(shipmentHeader == null){
+                return AjaxResult.error("id为"+id+"的主单在系统不存在");
+            }
+
+            //2.小于100时,把主单和相应的子单加入到list中,大于等于100时,直接跳过
+            if(shipmentHeader.getFirstStatus() < 100 && shipmentHeader.getLastStatus() <100){
+                shipmentHeader.setFirstStatus(100);
+                shipmentHeader.setLastStatus(100);
+                shipmentHeaders.add(shipmentHeader);
+
+                LambdaQueryWrapper<ShipmentDetail> lam = Wrappers.lambdaQuery();
+                lam.eq(ShipmentDetail::getShipmentId,id)
+                        .eq(ShipmentDetail::getWarehouseCode,ShiroUtils.getWarehouseCode());
+                List<ShipmentDetail> shipmentDetailList = shipmentDetailService.list(lam);
+                if(shipmentDetailList != null){
+                    for(ShipmentDetail shipmentDetail : shipmentDetailList){
+                        shipmentDetail.setStatus(100);
+                    }
+                    shipmentDetails.addAll(shipmentDetailList);
+                }else {
+                    return AjaxResult.error("id为"+id+"的出库明细在系统不存在");
+                }
+            }
+        }
+
+        // 3.将修改后的主单列表和子单列表进行修改,加入订单池
+        Boolean flag = this.updateBatchById(shipmentHeaders);
+        if (flag == false){
+            throw new ServiceException("修改主单状态失败");
+        }
+        flag = shipmentDetailService.updateBatchById(shipmentDetails);
+        if (flag == false){
+            throw new ServiceException("修改明细状态失败");
+        }
+        return AjaxResult.success("订单审核成功,成功加入订单池");
+    }
 }
diff --git a/src/main/resources/static/huaheng/js/huahengUI.js b/src/main/resources/static/huaheng/js/huahengUI.js
index 48e350c..22ab646 100644
--- a/src/main/resources/static/huaheng/js/huahengUI.js
+++ b/src/main/resources/static/huaheng/js/huahengUI.js
@@ -194,6 +194,15 @@
                 });
                 return actions.join('');
             },
+            selectWhetherLabel: function(_value) {
+                var actions = [];
+                if (_value == 0) {
+                    actions.push("<span class='badge badge-primary'>是</span>");
+                } else {
+                    actions.push("<span class='badge badge-danger'>否</span>")
+                }
+                return actions.join('');
+            },
 			// 回显数据绑定的表格
             selectIdToName: function(_datas, _value) {
                 var actions = [];
diff --git a/src/main/resources/templates/config/filterConfigDetail/add.html b/src/main/resources/templates/config/filterConfigDetail/add.html
index f54964d..1bf507e 100644
--- a/src/main/resources/templates/config/filterConfigDetail/add.html
+++ b/src/main/resources/templates/config/filterConfigDetail/add.html
@@ -12,18 +12,18 @@
                 <input id="code" name="code" 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="moduleType" name="moduleType" 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="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="moduleType" name="moduleType" 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="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">
@@ -45,28 +45,24 @@
         <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="systemCreated1" name="systemCreated" value="true" checked="checked"
-                           class="radio_select">
-                    <label for="systemCreated1">是</label>
-                </div>
-                <div class="radio radio-danger radio-inline " style="transform: scale(1.1, 1.1);">
-                    <input type="radio" id="systemCreated2" name="systemCreated" value="false">
-                    <label for="systemCreated2">否</label>
+                <div class="onoffswitch">
+                    <input type="checkbox" th:checked="true" class="onoffswitch-checkbox" id="systemCreated" name="systemCreated">
+                    <label class="onoffswitch-label" for="systemCreated">
+                        <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">是否自定义SQL:</label>
             <div class="col-sm-8">
-                <div class="radio radio-info radio-inline" style="transform: scale(1.1, 1.1);">
-                    <input type="radio" id="customSql1" name="customSql" value="true" checked="checked"
-                           class="radio_select">
-                    <label for="customSql1">是</label>
-                </div>
-                <div class="radio radio-danger radio-inline " style="transform: scale(1.1, 1.1);">
-                    <input type="radio" id="customSql2" name="customSql" value="false">
-                    <label for="customSql2">否</label>
+                <div class="onoffswitch">
+                    <input type="checkbox" th:checked="true" class="onoffswitch-checkbox" id="customSql" name="customSql">
+                    <label class="onoffswitch-label" for="customSql">
+                        <span class="onoffswitch-inner"></span>
+                        <span class="onoffswitch-switch"></span>
+                    </label>
                 </div>
             </div>
         </div>
@@ -86,12 +82,12 @@
             code:{
                 required:true,
             },
-            moduleType:{
-                required:true,
-            },
-            recordType:{
-                required:true,
-            },
+            // moduleType:{
+            //     required:true,
+            // },
+            // recordType:{
+            //     required:true,
+            // },
             filterCode:{
                 required:true,
             },
@@ -99,6 +95,8 @@
         submitHandler: function(form) {
             // $.operate.save(prefix + "/add", $('#form-locationType-add').serialize());
             var tableValue = $.common.getTableValue("#form-filterConfigDetail-add");
+            tableValue = formValueReplace(tableValue, "systemCreated", $("input[name='systemCreated']").is(':checked'));
+            tableValue = formValueReplace(tableValue, "customSql", $("input[name='customSql']").is(':checked'));
             $.operate.save(prefix + "/add", tableValue);
         }
     });
diff --git a/src/main/resources/templates/config/filterConfigDetail/edit.html b/src/main/resources/templates/config/filterConfigDetail/edit.html
index abca232..0dc9136 100644
--- a/src/main/resources/templates/config/filterConfigDetail/edit.html
+++ b/src/main/resources/templates/config/filterConfigDetail/edit.html
@@ -13,18 +13,18 @@
                 <input id="code" name="code" class="form-control" type="text" th:field="*{code}">
             </div>
         </div>
-        <div class="form-group">
-            <label class="col-sm-3 control-label">模块:</label>
-            <div class="col-sm-8">
-                <input id="moduleType" name="moduleType" class="form-control" type="text" th:field="*{moduleType}">
-            </div>
-        </div>
-        <div class="form-group">
-            <label class="col-sm-3 control-label">类型:</label>
-            <div class="col-sm-8">
-                <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="moduleType" name="moduleType" class="form-control" type="text" th:field="*{moduleType}">-->
+            <!--</div>-->
+        <!--</div>-->
+        <!--<div class="form-group">-->
+            <!--<label class="col-sm-3 control-label">类型:</label>-->
+            <!--<div class="col-sm-8">-->
+                <!--<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">
@@ -46,28 +46,24 @@
         <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="systemCreated1" name="systemCreated" value="true" th:field="*{systemCreated}"
-                           class="radio_select">
-                    <label for="systemCreated1">是</label>
-                </div>
-                <div class="radio radio-danger radio-inline " style="transform: scale(1.1, 1.1);">
-                    <input type="radio" id="systemCreated2" name="systemCreated" value="false" th:field="*{systemCreated}">
-                    <label for="systemCreated2">否</label>
+                <div class="onoffswitch">
+                    <input type="checkbox" th:checked="true" class="onoffswitch-checkbox" id="systemCreated" name="systemCreated">
+                    <label class="onoffswitch-label" for="systemCreated">
+                        <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">是否自定义SQL:</label>
             <div class="col-sm-8">
-                <div class="radio radio-info radio-inline" style="transform: scale(1.1, 1.1);">
-                    <input type="radio" id="customSql1" name="customSql" value="true" th:field="*{customSql}"
-                           class="radio_select">
-                    <label for="customSql1">是</label>
-                </div>
-                <div class="radio radio-danger radio-inline " style="transform: scale(1.1, 1.1);">
-                    <input type="radio" id="customSql2" name="customSql" value="false" th:field="*{customSql}">
-                    <label for="customSql2">否</label>
+                <div class="onoffswitch">
+                    <input type="checkbox" th:checked="true" class="onoffswitch-checkbox" id="customSql" name="customSql">
+                    <label class="onoffswitch-label" for="customSql">
+                        <span class="onoffswitch-inner"></span>
+                        <span class="onoffswitch-switch"></span>
+                    </label>
                 </div>
             </div>
         </div>
@@ -87,12 +83,12 @@
             code:{
                 required:true,
             },
-            moduleType:{
-                required:true,
-            },
-            recordType:{
-                required:true,
-            },
+            // moduleType:{
+            //     required:true,
+            // },
+            // recordType:{
+            //     required:true,
+            // },
             filterCode:{
                 required:true,
             },
@@ -100,6 +96,8 @@
         submitHandler: function(form) {
             // $.operate.save(prefix + "/add", $('#form-locationType-add').serialize());
             var tableValue = $.common.getTableValue("#form-filterConfigDetail-edit");
+            tableValue = formValueReplace(tableValue, "systemCreated", $("input[name='systemCreated']").is(':checked'));
+            tableValue = formValueReplace(tableValue, "customSql", $("input[name='customSql']").is(':checked'));
             $.operate.save(prefix + "/edit", tableValue);
         }
     });
diff --git a/src/main/resources/templates/config/filterConfigDetail/filterConfigDetail.html b/src/main/resources/templates/config/filterConfigDetail/filterConfigDetail.html
index c47d919..b728ed2 100644
--- a/src/main/resources/templates/config/filterConfigDetail/filterConfigDetail.html
+++ b/src/main/resources/templates/config/filterConfigDetail/filterConfigDetail.html
@@ -22,6 +22,8 @@
     var prefix = ctx + "config/filterConfigDetail";
     var editFlag = [[${@permission.hasPermi('config:filterConfigDetail:edit')}]];
     var removeFlag = [[${@permission.hasPermi('config:filterConfigDetail:remove')}]];
+    var moduleType = [[${@dict.getType('moduleType')}]];
+    var recordType = [[${@dict.getType('recordType')}]];
     var datas = [[${@dict.getType('sys_normal_disable')}]];
     var nessaryDatas = [[${@dict.getType('nessary')}]];
     $(function() {
@@ -63,11 +65,19 @@
                 },
                 {
                     field : 'moduleType',
-                    title : '模块'
+                    title : '模块',
+                    align : "center",
+                    formatter: function (value, item, index) {
+                        return $.table.selectDictLabel(moduleType, value);
+                    }
                 },
                 {
                     field : 'recordType',
-                    title : '类型'
+                    title : '类型',
+                    align : "center",
+                    formatter: function (value, item, index) {
+                        return $.table.selectDictLabel(recordType, value);
+                    }
                 },
                 {
                     field : 'filterCode',
diff --git a/src/main/resources/templates/config/filterConfigHeader/add.html b/src/main/resources/templates/config/filterConfigHeader/add.html
index 5fdaef0..923b700 100644
--- a/src/main/resources/templates/config/filterConfigHeader/add.html
+++ b/src/main/resources/templates/config/filterConfigHeader/add.html
@@ -9,14 +9,16 @@
             <label class="col-sm-3 control-label">模块:</label>
             <div class="col-sm-8">
                 <select class="form-control" name="moduleType" th:with="moduleType=${@dict.getType('moduleType')}">
-                    <option th:each="e : ${moduleType}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option>
+                    <option th:each="item : ${moduleType}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option>
                 </select>
             </div>
         </div>
         <div class="form-group">
             <label class="col-sm-3 control-label">类型:</label>
             <div class="col-sm-8">
-                <input id="recordType" name="recordType" class="form-control" type="text">
+                <select id="recordType" name="recordType" class="form-control" th:with="recordType=${@dict.getType('recordType')}">
+                    <option th:each="item : ${recordType}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option>
+                </select>
             </div>
         </div>
         <div class="form-group">
@@ -46,14 +48,12 @@
         <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="systemCreated1" name="systemCreated" value="true" checked="checked"
-                           class="radio_select">
-                    <label for="systemCreated1">是</label>
-                </div>
-                <div class="radio radio-danger radio-inline " style="transform: scale(1.1, 1.1);">
-                    <input type="radio" id="systemCreated2" name="systemCreated" value="false">
-                    <label for="systemCreated2">否</label>
+                <div class="onoffswitch">
+                    <input type="checkbox" th:checked="true" class="onoffswitch-checkbox" id="systemCreated" name="systemCreated">
+                    <label class="onoffswitch-label" for="systemCreated">
+                        <span class="onoffswitch-inner"></span>
+                        <span class="onoffswitch-switch"></span>
+                    </label>
                 </div>
             </div>
         </div>
@@ -83,7 +83,8 @@
         submitHandler: function (form) {
             // $.operate.save(prefix + "/add", $('#form-locationType-add').serialize());
             var tableValue = $.common.getTableValue("#form-filterConfigHeader-add");
-            tableValue = formValueReplace(tableValue, "moduleType", $("#moduleType option:selected").val());
+            // tableValue = formValueReplace(tableValue, "moduleType", $("#moduleType option:selected").val());
+            tableValue = formValueReplace(tableValue, "systemCreated", $("input[name='systemCreated']").is(':checked'));
             $.operate.save(prefix + "/add", tableValue);
         }
     });
diff --git a/src/main/resources/templates/config/filterConfigHeader/edit.html b/src/main/resources/templates/config/filterConfigHeader/edit.html
index 36b8b31..4f37958 100644
--- a/src/main/resources/templates/config/filterConfigHeader/edit.html
+++ b/src/main/resources/templates/config/filterConfigHeader/edit.html
@@ -6,20 +6,20 @@
 <div class="wrapper wrapper-content animated fadeInRight ibox-content">
     <form class="form-horizontal m" id="form-filterConfigHeader-edit" th:object="${filterConfigHeader}">
         <input name="id" th:field="*{id}" type="hidden">
-        <div class="form-group">
-            <label class="col-sm-3 control-label">模块:</label>
-            <div class="col-sm-8">
-                <select class="form-control" name="moduleType" th:with="moduleType=${@dict.getType('moduleType')}" th:field="*{moduleType}">
-                    <option th:each="e : ${moduleType}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option>
-                </select>
-            </div>
-        </div>
-        <div class="form-group">
-            <label class="col-sm-3 control-label">类型:</label>
-            <div class="col-sm-8">
-                <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">-->
+                <!--<select class="form-control" name="moduleType" th:with="moduleType=${@dict.getType('moduleType')}" th:field="*{moduleType}">-->
+                    <!--<option th:each="e : ${moduleType}" th:text="${e['dictLabel']}" th:value="${e['dictValue']}"></option>-->
+                <!--</select>-->
+            <!--</div>-->
+        <!--</div>-->
+        <!--<div class="form-group">-->
+            <!--<label class="col-sm-3 control-label">类型:</label>-->
+            <!--<div class="col-sm-8">-->
+                <!--<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">
@@ -38,29 +38,16 @@
                 <input id="description" name="description" class="form-control" type="text" th:field="*{description}">
             </div>
         </div>
-        <!--<div class="form-group">-->
-            <!--<label class="col-sm-3 control-label">是否系统创建:</label>-->
-            <!--<div class="col-sm-8">-->
-                <!--<div class="onoffswitch">-->
-                    <!--<input type="checkbox" th:checked="${systemCreated}" class="onoffswitch-checkbox" id="systemCreated" name="systemCreated">-->
-                    <!--<label class="onoffswitch-label" for="systemCreated">-->
-                        <!--<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">
-                <div class="radio radio-info radio-inline" style="transform: scale(1.1, 1.1);">
-                    <input type="radio" id="systemCreated1" name="systemCreated" value="true" th:field="*{systemCreated}"
-                           class="radio_select">
-                    <label for="systemCreated1">是</label>
-                </div>
-                <div class="radio radio-danger radio-inline " style="transform: scale(1.1, 1.1);">
-                    <input type="radio" id="systemCreated2" name="systemCreated" value="false" th:field="*{systemCreated}">
-                    <label for="systemCreated2">否</label>
+                <div class="onoffswitch">
+                    <input type="checkbox" th:checked="true" class="onoffswitch-checkbox" id="systemCreated" name="systemCreated">
+                    <label class="onoffswitch-label" for="systemCreated">
+                        <span class="onoffswitch-inner"></span>
+                        <span class="onoffswitch-switch"></span>
+                    </label>
                 </div>
             </div>
         </div>
@@ -92,7 +79,8 @@
         },
         submitHandler: function(form) {
             var tableValue = $.common.getTableValue("#form-filterConfigHeader-edit");
-            tableValue = formValueReplace(tableValue, "moduleType", $("#moduleType option:selected").val());
+            // tableValue = formValueReplace(tableValue, "moduleType", $("#moduleType option:selected").val());
+            tableValue = formValueReplace(tableValue, "systemCreated", $("input[name='systemCreated']").is(':checked'));
             $.operate.save(prefix + "/edit", tableValue);
         }
     });
diff --git a/src/main/resources/templates/config/filterConfigHeader/filterConfigHeader.html b/src/main/resources/templates/config/filterConfigHeader/filterConfigHeader.html
index c396b23..a286e5a 100644
--- a/src/main/resources/templates/config/filterConfigHeader/filterConfigHeader.html
+++ b/src/main/resources/templates/config/filterConfigHeader/filterConfigHeader.html
@@ -75,6 +75,7 @@
     var removeFlag = [[${@permission.hasPermi('config:filterConfigHeader:remove')}]];
     var datas = [[${@dict.getType('sys_normal_disable')}]];
     var moduleType = [[${@dict.getType('moduleType')}]];
+    var recordType = [[${@dict.getType('recordType')}]];
     $(function() {
         var options = {
             url: prefix + "/list",
@@ -105,7 +106,11 @@
                 },
                 {
                     field : 'recordType',
-                    title : '类型'
+                    title : '类型',
+                    align : "center",
+                    formatter: function (value, item, index) {
+                        return $.table.selectDictLabel(recordType, value);
+                    }
                 },
                 {
                     field : 'filterCode',
diff --git a/src/main/resources/templates/config/receiptPreference/add.html b/src/main/resources/templates/config/receiptPreference/add.html
index b196fd2..a021415 100644
--- a/src/main/resources/templates/config/receiptPreference/add.html
+++ b/src/main/resources/templates/config/receiptPreference/add.html
@@ -38,8 +38,8 @@
             <label class="col-sm-3 control-label">允许超收:</label>
             <div class="col-sm-8">
                 <select id="allowOverReceiving" name="allowOverReceiving" class="form-control">
-                    <option value="0">允许</option>
-                    <option value="1">不允许</option>
+                    <option value="1">允许</option>
+                    <option value="0">不允许</option>
                 </select>
              </div>
         </div>
@@ -82,7 +82,7 @@
         <div class="form-group">
             <label class="col-sm-3 control-label">定位规则:</label>
             <div class="col-sm-8">
-                <select id="locatingRule" name="locatingRule" class="form-control" th:with="list=${@FilterConfigDetailService.queryFilterConfigDetail('入库')}">
+                <select id="locationRule" name="locationRule" class="form-control" th:with="list=${@FilterConfigDetailService.queryFilterConfigDetail('locationRule')}">
                     <option value="">请选择</option>
                     <option th:each="item : ${list}" th:text="${item['description']}" th:value="${item['code']}"></option>
                 </select>
@@ -92,7 +92,7 @@
             <label class="col-sm-3 control-label">空库位规则:</label>
             <div class="col-sm-8">
                 <select id="emptyLocRule" name="emptyLocRule" class="form-control"
-                        th:with="list=${@FilterConfigDetailService.queryFilterConfigDetail('空库位规则')}">
+                        th:with="list=${@FilterConfigDetailService.queryFilterConfigDetail('emptyLocRule')}">
                     <option value="">请选择</option>
                     <option th:each="item : ${list}" th:text="${item['description']}" th:value="${item['code']}"></option>
                 </select>
@@ -137,7 +137,10 @@
         <div class="form-group">
             <label class="col-sm-3 control-label">RF快速上架:</label>
             <div class="col-sm-8">
-                <input id="allowQuickPutaway" name="allowQuickPutaway" class="form-control" type="text">
+                <select id="allowQuickPutaway" name="allowQuickPutaway" class="form-control">
+                    <option value="0">是</option>
+                    <option value="1">否</option>
+                </select>
             </div>
         </div>
         <div class="form-group">
@@ -149,7 +152,10 @@
         <div class="form-group">
             <label class="col-sm-3 control-label">快速入库:</label>
             <div class="col-sm-8">
-                <input id="useQuickCheckIn" name="useQuickCheckIn" class="form-control" type="text">
+                <select id="useQuickCheckIn" name="useQuickCheckIn" class="form-control">
+                    <option value="0">是</option>
+                    <option value="1">否</option>
+                </select>
             </div>
         </div>
         <!--<div class="form-group">
@@ -284,12 +290,14 @@
         submitHandler: function(form) {
             var tableValue = $.common.getTableValue("#form-receiptPreference-add");
             tableValue = formValueReplace(tableValue, "allowOverReceiving",  $("#allowOverReceiving option:selected").val());
-            tableValue = formValueReplace(tableValue, "receiptFlow", $("#receiptFlow option:selected").val());
+            tableValue = formValueReplace(tableValue, "receivingFlow", $("#receivingFlow option:selected").val());
             tableValue = formValueReplace(tableValue, "autoAssignLPN", $("#autoAssignLPN option:selected").val());
             tableValue = formValueReplace(tableValue, "autoLocate", $("#autoLocate option:selected").val());
             tableValue = formValueReplace(tableValue, "showOpenQty", $("#showOpenQty option:selected").val());
-            tableValue = formValueReplace(tableValue, "locatingRule", $("#locatingRule option:selected").val());
+            tableValue = formValueReplace(tableValue, "locationRule", $("#locationRule option:selected").val());
             tableValue = formValueReplace(tableValue, "emptyLocRule", $("#emptyLocRule option:selected").val());
+            tableValue = formValueReplace(tableValue, "useQuickCheckIn", $("#useQuickCheckIn option:selected").val());
+            tableValue = formValueReplace(tableValue, "allowQuickPutaway", $("#allowQuickPutaway option:selected").val());
             $.operate.save(prefix + "/add", tableValue);
         }
     });
diff --git a/src/main/resources/templates/config/receiptPreference/edit.html b/src/main/resources/templates/config/receiptPreference/edit.html
index 712e423..565b81b 100644
--- a/src/main/resources/templates/config/receiptPreference/edit.html
+++ b/src/main/resources/templates/config/receiptPreference/edit.html
@@ -5,7 +5,7 @@
 <body class="white-bg">
 <div class="wrapper wrapper-content animated fadeInRight ibox-content">
     <form class="form-horizontal m" id="form-receiptPreference-edit" th:object="${receiptPreference}">
-        <input id="id" name="id" th:field="*{id}">
+        <input id="id" name="id" th:field="*{id}" type="hidden">
         <div class="form-group">
             <label class="col-sm-3 control-label">编码:</label>
             <div class="col-sm-8">
@@ -21,26 +21,27 @@
         <div class="form-group">
             <label class="col-sm-3 control-label">入库流程:</label>
             <div class="col-sm-8">
-                <input id="receiptFlow" name="receiptFlow" class="form-control" type="text" th:field="*{receiptFlow}">
+                <select id="receivingFlow" name="receivingFlow" class="form-control" th:with="statusFlowList=${@StatusFlow.flowList('入库单')}" th:field="*{receivingFlow}">
+                    <option th:each="flow : ${statusFlowList}" th:text="${flow['name']}" th:value="${flow['code']}"></option>
+                </select>
             </div>
         </div>
         <div class="form-group">
             <label class="col-sm-3 control-label">自动生成托盘号:</label>
             <div class="col-sm-8">
-                <input id="autoAssignLPN" name="autoAssignLPN" class="form-control" type="text" th:field="*{autoAssignLPN}">
+                <select id="autoAssignLPN" name="autoAssignLPN" class="form-control" th:field="*{autoAssignLPN}">
+                    <option value="0">自动生成</option>
+                    <option value="1">不自动生成</option>
+                </select>
             </div>
         </div>
         <div class="form-group">
             <label class="col-sm-3 control-label">允许超收:</label>
             <div class="col-sm-8">
-                <div class="onoffswitch">
-                    <input type="checkbox" th:checked="true" class="onoffswitch-checkbox" id="allowOverReceiving"
-                           name="allowOverReceiving" th:field="*{allowOverReceiving}">
-                    <label class="onoffswitch-label" for="allowOverReceiving">
-                        <span class="onoffswitch-inner"></span>
-                        <span class="onoffswitch-switch"></span>
-                    </label>
-                </div>
+                <select id="allowOverReceiving" name="allowOverReceiving" class="form-control" th:field="*{allowOverReceiving}">
+                    <option value="1">允许</option>
+                    <option value="0">不允许</option>
+                </select>
             </div>
         </div>
         <div class="form-group">
@@ -52,13 +53,19 @@
         <div class="form-group">
             <label class="col-sm-3 control-label">自动定位:</label>
             <div class="col-sm-8">
-                <input id="autoLocate" name="autoLocate" class="form-control" type="text" th:field="*{autoLocate}">
+                <select id="autoLocate" name="autoLocate" th:field="*{autoLocate}" class="form-control">
+                    <option value="0">是</option>
+                    <option value="1">否</option>
+                </select>
             </div>
         </div>
         <div class="form-group">
             <label class="col-sm-3 control-label">RF显示未收数量:</label>
             <div class="col-sm-8">
-                <input id="showOpenQty" name="showOpenQty" class="form-control" type="text" th:field="*{showOpenQty}">
+                <select id="showOpenQty" name="showOpenQty" class="form-control" th:field="*{showOpenQty}">
+                    <option value="0">是</option>
+                    <option value="1">否</option>
+                </select>
             </div>
         </div>
         <div class="form-group">
@@ -76,13 +83,21 @@
         <div class="form-group">
             <label class="col-sm-3 control-label">定位规则:</label>
             <div class="col-sm-8">
-                <input id="locationRule" name="locationRule" class="form-control" type="text" th:field="*{locationRule}">
+                <select id="locationRule" name="locationRule" class="form-control"
+                        th:with="list=${@FilterConfigDetailService.queryFilterConfigDetail('locationRule')}" th:field="*{locationRule}">
+                    <option value="">请选择</option>
+                    <option th:each="item : ${list}" th:text="${item['description']}" th:value="${item['code']}"></option>
+                </select>
             </div>
         </div>
         <div class="form-group">
             <label class="col-sm-3 control-label">空库位规则:</label>
             <div class="col-sm-8">
-                <input id="emptyLocRule" name="emptyLocRule" class="form-control" type="text" th:field="*{emptyLocRule}">
+                <select id="emptyLocRule" name="emptyLocRule" class="form-control"
+                        th:with="list=${@FilterConfigDetailService.queryFilterConfigDetail('emptyLocRule')}" th:field="*{emptyLocRule}">
+                    <option value="">请选择</option>
+                    <option th:each="item : ${list}" th:text="${item['description']}" th:value="${item['code']}"></option>
+                </select>
             </div>
         </div>
         <div class="form-group">
@@ -124,7 +139,10 @@
         <div class="form-group">
             <label class="col-sm-3 control-label">RF快速上架:</label>
             <div class="col-sm-8">
-                <input id="allowQuickPutaway" name="allowQuickPutaway" class="form-control" type="text" th:field="*{allowQuickPutaway}">
+                <select id="allowQuickPutaway" name="allowQuickPutaway" class="form-control" th:field="*{allowQuickPutaway}">
+                    <option value="0">是</option>
+                    <option value="1">否</option>
+                </select>
             </div>
         </div>
         <div class="form-group">
@@ -136,7 +154,10 @@
         <div class="form-group">
             <label class="col-sm-3 control-label">快速入库:</label>
             <div class="col-sm-8">
-                <input id="useQuickCheckIn" name="useQuickCheckIn" class="form-control" type="text" th:field="*{useQuickCheckIn}">
+                <select id="useQuickCheckIn" name="useQuickCheckIn" class="form-control" th:field="*{useQuickCheckIn}">
+                    <option value="0">是</option>
+                    <option value="1">否</option>
+                </select>
             </div>
         </div>
         <!--<div class="form-group">
@@ -269,8 +290,14 @@
             }
         },
         submitHandler: function(form) {
-            var tableValue = $.common.getTableValue("#form-receiptPreference-edi");
+            var tableValue = $.common.getTableValue("#form-receiptPreference-edit");
             tableValue = formValueReplace(tableValue, "allowOverReceiving", $("input[name='allowOverReceiving']").is(':checked'));
+            tableValue = formValueReplace(tableValue, "receivingFlow", $("#receivingFlow option:selected").val());
+            tableValue = formValueReplace(tableValue, "autoAssignLPN", $("#autoAssignLPN option:selected").val());
+            tableValue = formValueReplace(tableValue, "autoLocate", $("#autoLocate option:selected").val());
+            tableValue = formValueReplace(tableValue, "showOpenQty", $("#showOpenQty option:selected").val());
+            tableValue = formValueReplace(tableValue, "locationRule", $("#locationRule option:selected").val());
+            tableValue = formValueReplace(tableValue, "emptyLocRule", $("#emptyLocRule option:selected").val());
             $.operate.save(prefix + "/edit", tableValue);
         }
     });
diff --git a/src/main/resources/templates/config/receiptPreference/receiptPreference.html b/src/main/resources/templates/config/receiptPreference/receiptPreference.html
index 05ee9a4..8bac2f9 100644
--- a/src/main/resources/templates/config/receiptPreference/receiptPreference.html
+++ b/src/main/resources/templates/config/receiptPreference/receiptPreference.html
@@ -90,11 +90,19 @@
                         },
                         {
                             field : 'autoAssignLPN',
-                            title : '自动生成托盘号'
+                            title : '自动生成托盘号',
+                            align : "center",
+                            formatter :  function(value, row, index) {
+                                return $.table.selectWhetherLabel(value);
+                            },
                         },
                         {
                             field : 'allowOverReceiving',
-                            title : '允许超收'
+                            title : '允许超收',
+                            align : "center",
+                            formatter :  function(value, row, index) {
+                                if (value){return "<span class='badge badge-primary'>是</span>";} else {return "<span class='badge badge-danger'>否</span>";}
+                            },
                         },
                         {
                             field : 'allowOverReceivingQty',
@@ -102,11 +110,19 @@
                         },
                         {
                             field : 'autoLocate',
-                            title : '自动定位'
+                            title : '自动定位',
+                            align : "center",
+                            formatter :  function(value, row, index) {
+                                return $.table.selectWhetherLabel(value);
+                            },
                         },
                         {
                             field : 'showOpenQty',
-                            title : 'RF显示未收数量'
+                            title : 'RF显示未收数量',
+                            align : "center",
+                            formatter :  function(value, row, index) {
+                                return $.table.selectWhetherLabel(value);
+                            },
                         },
                         {
                             field : 'receiptTypes',
@@ -114,11 +130,18 @@
                         },
                         {
                             field : 'groupPutaway',
-                            title : 'RF组车收货'
+                            title : 'RF组车收货',
+                            align : "center",
+                            formatter :  function(value, row, index) {
+                                return $.table.selectWhetherLabel(value);
+                            },
                         },
                         {
                             field : 'manuallyBuildLPN',
-                            title : '人工组盘'
+                            title : '人工组盘',
+                            formatter :  function(value, row, index) {
+                                return $.table.selectWhetherLabel(value);
+                            },
                         },
                         {
                             field : 'locationRule',
@@ -130,11 +153,19 @@
                         },
                         {
                             field : 'checkinByPiece',
-                            title : 'RF逐件收货'
+                            title : 'RF逐件收货',
+                            align : "center",
+                            formatter :  function(value, row, index) {
+                                return $.table.selectWhetherLabel(value);
+                            },
                         },
                         {
                             field : 'pieceConfirm',
-                            title : 'RF自动提交收货'
+                            title : 'RF自动提交收货',
+                            align : "center",
+                            formatter :  function(value, row, index) {
+                                return $.table.selectWhetherLabel(value);
+                            },
                         },
                         {
                             field : 'abcClass',
@@ -154,7 +185,11 @@
                         },
                         {
                             field : 'allowQuickPutaway',
-                            title : 'RF快速上架'
+                            title : 'RF快速上架',
+                            align : "center",
+                            formatter :  function(value, row, index) {
+                                return $.table.selectWhetherLabel(value);
+                            },
                         },
                         {
                             field : 'attributeTemplateCode',
@@ -162,7 +197,11 @@
                         },
                         {
                             field : 'useQuickCheckIn',
-                            title : '快速入库'
+                            title : '快速入库',
+                            align : "center",
+                            formatter :  function(value, row, index) {
+                                return $.table.selectWhetherLabel(value);
+                            },
                         },
                         {
                             field : 'created',
diff --git a/src/main/resources/templates/config/shipmentPreference/add.html b/src/main/resources/templates/config/shipmentPreference/add.html
index fbc5b0e..4b7119f 100644
--- a/src/main/resources/templates/config/shipmentPreference/add.html
+++ b/src/main/resources/templates/config/shipmentPreference/add.html
@@ -20,19 +20,25 @@
         <div class="form-group">
             <label class="col-sm-3 control-label">出库流程:</label>
             <div class="col-sm-8">
-                <input id="receiptFlow" name="shippingFlow" class="form-control" type="text">
+                <select id="shippingFlow" name="shippingFlow" class="form-control" th:with="shippingFlow=${@StatusFlow.shipmentStatusFlowHeaders('shipment')}">
+                    <option th:each="item : ${shippingFlow}" th:text="${item['name']}" th:value="${item['code']}"></option>
+                </select>
             </div>
         </div>
         <div class="form-group">
             <label class="col-sm-3 control-label">库存分配规则:</label>
             <div class="col-sm-8">
-                <input id="allocationRule" name="allocationRule" class="form-control" type="text">
+                <select id="allocationRule" name="allocationRule" class="form-control" th:with="allocationRule=${@filterConfigHeaderService.getFilterConfigHeaderService('shipment','allocationRule')}">
+                    <option th:each="item : ${allocationRule}" th:text="${item['filterName']}" th:value="${item['filterCode']}"></option>
+                </select>
             </div>
         </div>
         <div class="form-group">
             <label class="col-sm-3 control-label">拣货规则:</label>
             <div class="col-sm-8">
-                <input id="shipmentPickingRule" name="shipmentPickingRule" class="form-control" type="text">
+                <select id="shipmentPickingRule" name="shipmentPickingRule" class="form-control" th:with="shipmentPickingRule=${@filterConfigHeaderService.getFilterConfigHeaderService('shipment','shipmentPickingRule')}">
+                    <option th:each="item : ${shipmentPickingRule}" th:text="${item['filterName']}" th:value="${item['filterCode']}"></option>
+                </select>
             </div>
         </div>
         <div class="form-group">
diff --git a/src/main/resources/templates/config/shipmentPreference/edit.html b/src/main/resources/templates/config/shipmentPreference/edit.html
index 06ad25b..0b9f832 100644
--- a/src/main/resources/templates/config/shipmentPreference/edit.html
+++ b/src/main/resources/templates/config/shipmentPreference/edit.html
@@ -18,24 +18,24 @@
                 <input id="name" name="name" class="form-control" type="text" th:field="*{name}">
             </div>
         </div>
-        <div class="form-group">
-            <label class="col-sm-3 control-label">出库流程:</label>
-            <div class="col-sm-8">
-                <input id="shippingFlow" name="shippingFlow" class="form-control" type="text" th:field="*{shippingFlow}">
-            </div>
-        </div>
-        <div class="form-group">
-            <label class="col-sm-3 control-label">库存分配规则:</label>
-            <div class="col-sm-8">
-                <input id="allocationRule" name="allocationRule" class="form-control" type="text" th:field="*{allocationRule}">
-            </div>
-        </div>
-        <div class="form-group">
-            <label class="col-sm-3 control-label">拣货规则:</label>
-            <div class="col-sm-8">
-                <input id="shipmentPickingRule" name="shipmentPickingRule" class="form-control" type="text" th:field="*{shipmentPickingRule}">
-            </div>
-        </div>
+        <!--<div class="form-group">-->
+            <!--<label class="col-sm-3 control-label">出库流程:</label>-->
+            <!--<div class="col-sm-8">-->
+                <!--<input id="shippingFlow" name="shippingFlow" class="form-control" type="text" th:field="*{shippingFlow}">-->
+            <!--</div>-->
+        <!--</div>-->
+        <!--<div class="form-group">-->
+            <!--<label class="col-sm-3 control-label">库存分配规则:</label>-->
+            <!--<div class="col-sm-8">-->
+                <!--<input id="allocationRule" name="allocationRule" class="form-control" type="text" th:field="*{allocationRule}">-->
+            <!--</div>-->
+        <!--</div>-->
+        <!--<div class="form-group">-->
+            <!--<label class="col-sm-3 control-label">拣货规则:</label>-->
+            <!--<div class="col-sm-8">-->
+                <!--<input id="shipmentPickingRule" name="shipmentPickingRule" class="form-control" type="text" th:field="*{shipmentPickingRule}">-->
+            <!--</div>-->
+        <!--</div>-->
         <div class="form-group">
             <label class="col-sm-3 control-label">拣货库位范围规则:</label>
             <div class="col-sm-8">
@@ -236,18 +236,18 @@
             name:{
                 required: true,
             },
-            shippingFlow:{
-                required: true,
-            },
-            shipmentPickingRule:{
-                required: true,
-            },
+            // shippingFlow:{
+            //     required: true,
+            // },
+            // shipmentPickingRule:{
+            //     required: true,
+            // },
             shipmentPickingLocRange:{
                 required: true,
             },
-            allocationRule: {
-                required: true,
-            },
+            // allocationRule: {
+            //     required: true,
+            // },
             autoAssignLPN: {
                 required: true,
             },
diff --git a/src/main/resources/templates/config/shipmentPreference/shipmentPreference.html b/src/main/resources/templates/config/shipmentPreference/shipmentPreference.html
index 3e1b1aa..67fb14b 100644
--- a/src/main/resources/templates/config/shipmentPreference/shipmentPreference.html
+++ b/src/main/resources/templates/config/shipmentPreference/shipmentPreference.html
@@ -52,7 +52,9 @@
             var editFlag = [[${@permission.hasPermi('config:shipmentPreference:edit')}]];
             var removeFlag = [[${@permission.hasPermi('config:shipmentPreference:remove')}]];
             var prefix = ctx + "config/shipmentPreference";
-            var datas = [[${@dict.getType('sys_normal_disable')}]];
+            var StatusFlow = [[${@StatusFlow.shipmentStatusFlowHeaders('shipment')}]];
+            var shipmentPickingRule = [[${@filterConfigHeaderService.getFilterConfigHeaderService('shipment','shipmentPickingRule')}]];
+            var allocationRule = [[${@filterConfigHeaderService.getFilterConfigHeaderService('shipment','allocationRule')}]];
             $(function() {
                 var options = {
                     url: prefix + "/list",
@@ -83,15 +85,45 @@
                         },
                         {
                             field : 'shippingFlow',
-                            title : '出库流程'
+                            title : '出库流程',
+                            formatter: function (value, item, index) {
+                                var actions = [];
+                                    $.each(StatusFlow, function(index, dict) {
+                                    if (dict.code == value) {
+                                        actions.push("<span class='badge badge-" + dict.code + "'>" + dict.name + "</span>");
+                                        return false;
+                                    }
+                                });
+                                return actions.join('');
+                            }
                         },
                         {
                             field : 'allocationRule',
                             title : '库存分配规则',
+                            formatter: function (value, item, index) {
+                                var actions = [];
+                                $.each(allocationRule, function(index, dict) {
+                                    if (dict.filterCode == value) {
+                                        actions.push("<span class='badge badge-" + dict.filterCode + "'>" + dict.filterName + "</span>");
+                                        return false;
+                                    }
+                                });
+                                return actions.join('');
+                            }
                         },
                         {
                             field : 'shipmentPickingRule',
                             title : '拣货规则',
+                            formatter: function (value, item, index) {
+                                var actions = [];
+                                $.each(shipmentPickingRule, function(index, dict) {
+                                    if (dict.filterCode == value) {
+                                        actions.push("<span class='badge badge-" + dict.filterCode + "'>" + dict.filterName + "</span>");
+                                        return false;
+                                    }
+                                });
+                                return actions.join('');
+                            }
                         },
                         {
                             field : 'shipmentPickingLocRange',
diff --git a/src/main/resources/templates/config/statusFlowDetail/statusFlowDetail.html b/src/main/resources/templates/config/statusFlowDetail/statusFlowDetail.html
index 9ff33cf..223716b 100644
--- a/src/main/resources/templates/config/statusFlowDetail/statusFlowDetail.html
+++ b/src/main/resources/templates/config/statusFlowDetail/statusFlowDetail.html
@@ -23,7 +23,9 @@
     var editFlag = [[${@permission.hasPermi('config:statusFlowDetails:edit')}]];
     var removeFlag = [[${@permission.hasPermi('config:statusFlowDetails:remove')}]];
     var datas = [[${@dict.getType('sys_normal_disable')}]];
+    var moduleType = [[${@dict.getType('moduleType')}]];
     var nessaryDatas = [[${@dict.getType('nessary')}]];
+
     $(function() {
         var options = {
             url: prefix + "/list",
@@ -67,7 +69,11 @@
                 },
                 {
                     field : 'moduleType',
-                    title : '模块'
+                    title : '模块',
+                    align : "center",
+                    formatter: function (value, item, index) {
+                        return $.table.selectDictLabel(moduleType, value);
+                    }
                 },
                 {
                     field : 'recordType',
diff --git a/src/main/resources/templates/config/statusFlowHeader/add.html b/src/main/resources/templates/config/statusFlowHeader/add.html
index ba86cef..adf741e 100644
--- a/src/main/resources/templates/config/statusFlowHeader/add.html
+++ b/src/main/resources/templates/config/statusFlowHeader/add.html
@@ -28,7 +28,9 @@
         <div class="form-group">
             <label class="col-sm-3 control-label">类型:</label>
             <div class="col-sm-8">
-                <input id="recordType" name="recordType" class="form-control" type="text">
+                <select id="recordType" name="recordType" class="form-control" th:with="recordType=${@dict.getType('recordType')}">
+                    <option th:each="item : ${recordType}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option>
+                </select>
             </div>
         </div>
         <!--<div class="form-group">-->
diff --git a/src/main/resources/templates/config/statusFlowHeader/edit.html b/src/main/resources/templates/config/statusFlowHeader/edit.html
index 6b1c43d..8bae9ed 100644
--- a/src/main/resources/templates/config/statusFlowHeader/edit.html
+++ b/src/main/resources/templates/config/statusFlowHeader/edit.html
@@ -18,18 +18,20 @@
                 <input id="name" name="name" class="form-control" type="text" th:field="*{name}">
             </div>
         </div>
-        <div class="form-group">
-            <label class="col-sm-3 control-label">模块:</label>
-            <div class="col-sm-8">
-                <input id="moduleType" name="moduleType" class="form-control" readonly="readonly">
-            </div>
-        </div>
-        <div class="form-group">
-            <label class="col-sm-3 control-label">类型:</label>
-            <div class="col-sm-8">
-                <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">-->
+                <!--<select id="moduleType" name="moduleType" class="form-control" th:with="moduleTyped=${@dict.getType('moduleType')}" th:field="*{moduleType}">-->
+                    <!--<option th:each="item : ${moduleType}" th:text="${item['dictLabel']}" th:value="${item['dictValue']}"></option>-->
+                <!--</select>-->
+            <!--</div>-->
+        <!--</div>-->
+        <!--<div class="form-group">-->
+            <!--<label class="col-sm-3 control-label">类型:</label>-->
+            <!--<div class="col-sm-8">-->
+                <!--<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">-->
diff --git a/src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html b/src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html
index 681d46b..675c1e1 100644
--- a/src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html
+++ b/src/main/resources/templates/config/statusFlowHeader/statusFlowHeader.html
@@ -27,7 +27,7 @@
                                         模块:<input type="text" name="moduleType" th:value="${moduleType}"/>
                                     </li>
                                     <li>
-                                        类型:<input type="text" name="recordType"/>
+                                        类型:<input type="text" name="recordType" th:value="${recordType}"/>
                                     </li>
                                     <li class="time">
                                         <label>创建时间: </label>
@@ -77,7 +77,8 @@
     var editFlag = [[${@permission.hasPermi('config:statusFlowHeader:edit')}]];
     var removeFlag = [[${@permission.hasPermi('config:statusFlowHeader:remove')}]];
     var datas = [[${@dict.getType('sys_normal_disable')}]];
-
+    var moduleType = [[${@dict.getType('moduleType')}]];
+    var recordType = [[${@dict.getType('recordType')}]];
     $(function() {
         var options = {
             url: prefix + "/list",
@@ -112,11 +113,19 @@
                 },
                 {
                     field : 'moduleType',
-                    title : '模块'
+                    title : '模块',
+                    align : "center",
+                    formatter: function (value, item, index) {
+                        return $.table.selectDictLabel(moduleType, value);
+                    }
                 },
                 {
                     field : 'recordType',
-                    title : '类型'
+                    title : '类型',
+                    align : "center",
+                    formatter: function (value, item, index) {
+                        return $.table.selectDictLabel(recordType, value);
+                    }
                 },
                 {
                     field : 'enable',
diff --git a/src/main/resources/templates/config/waveMaster/waveMaster.html b/src/main/resources/templates/config/waveMaster/waveMaster.html
index 38719d3..fdd2b32 100644
--- a/src/main/resources/templates/config/waveMaster/waveMaster.html
+++ b/src/main/resources/templates/config/waveMaster/waveMaster.html
@@ -48,7 +48,7 @@
                         </div>
 
                         <div class="btn-group hidden-xs" id="toolbar" role="group">
-                            <a class="btn btn-outline btn-success btn-rounded" onclick="$.operate.add()" shiro:hasPermission="config:waveMaster:add">
+                            <a class="btn btn-outline btn-success btn-rounded" onclick="matserAdd()" shiro:hasPermission="config:waveMaster:add">
                                 <i class="fa fa-plus"></i> 新增
                             </a>
                             <a class="btn btn-outline btn-danger btn-rounded" onclick="$.operate.batRemove()" shiro:hasPermission="config:waveMaster:remove">
@@ -512,6 +512,11 @@
                 headerId = rowId;
                 detail();
             }
+
+            function matserAdd() {
+                var url = prefix+"/add";
+                $.modal.open("添加" + $.table._option.modalName, url);
+            }
         </script>
 </body>
 </html>
\ No newline at end of file
diff --git a/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html b/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html
index ecc1659..4101300 100644
--- a/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html
+++ b/src/main/resources/templates/shipment/shipmentHeader/shipmentHeader.html
@@ -87,10 +87,10 @@
                            shiro:hasPermission="shipment:bill:remove">
                             <i class="fa fa-trash-o"></i> 删除
                         </a>
-                        <!--<a class="btn btn-outline btn-success btn-rounded" onclick="analysis()"-->
-                           <!--shiro:hasPermission="shipment:bill:analysis">-->
-                            <!--<i class="fa fa-plus"></i> 订单分析-->
-                        <!--</a>-->
+                        <a class="btn btn-outline btn-success btn-rounded" onclick="review()"
+                           shiro:hasPermission="shipment:bill:edit">
+                            <i class="fa fa-plus"></i> 订单审核
+                        </a>
                         <a class="btn btn-outline btn-success btn-rounded" onclick="wave()"
                            shiro:hasPermission="shipment:bill:wave">
                             <i class="fa fa-plus"></i> 加入波次
@@ -214,7 +214,8 @@
     var uploadStatus=[[${@dict.getType('uploadStatus')}]];
     var detailCreateUrl=prefix_detail+"/add";
     var detailRemoveUrl=prefix_detail+"/remove";
-    var detailanalysisUrl=prefix+"/analysis";
+    var reviewUrl=prefix+"/review";
+    var analysisUrl=prefix+"/analysis";
     var inventoryStatus=[[${@dict.getType('inventoryStatus')}]];
     var rossDoccking = [[${@permission.hasPermi('shipment:bill:rossDoccking')}]];
     var rossDocckingUrl =prefix_detail+"/rossDoccking";
@@ -640,10 +641,22 @@
         });
     }
 
+    /* 订单审核 */
+    function review() {
+        var rows=$("#bootstrap-table").bootstrapTable('getSelections');
+        if (rows.length == 0) {
+            $.modal.alertWarning("请至少选择一条记录");
+            return;
+        }
+            var url = reviewUrl;
+            var data = { "ids": rows.map(function(v){return v.id;}).join(',') };
+            localSubmit(url, "post", "json", data);
+    }
+
 
     /* 订单分析 */
     function analysis() {
-        var rows=$("#bootstrap-table-detail").bootstrapTable('getSelections');
+        var rows=$("#bootstrap-table").bootstrapTable('getSelections');
         if (rows.length == 0) {
             $.modal.alertWarning("请至少选择一条记录");
             return;