diff --git a/pom.xml b/pom.xml
index 5e2c311..7a35606 100644
--- a/pom.xml
+++ b/pom.xml
@@ -45,9 +45,17 @@
         <aliyun-sdk-oss.version>3.15.0</aliyun-sdk-oss.version>
         <thumbnailator.version>0.4.8</thumbnailator.version>
         <jjwt.version>0.10.6</jjwt.version>
+        <easyexcel.version>2.2.3</easyexcel.version>
     </properties>
 
     <dependencies>
+
+        <dependency>
+            <groupId>com.alibaba</groupId>
+            <artifactId>easyexcel</artifactId>
+            <version>${easyexcel.version}</version>
+        </dependency>
+
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-web</artifactId>
diff --git a/src/main/java/com/order/erp/AdminApplication.java b/src/main/java/com/order/erp/AdminApplication.java
index 0faaa8a..34176f4 100644
--- a/src/main/java/com/order/erp/AdminApplication.java
+++ b/src/main/java/com/order/erp/AdminApplication.java
@@ -12,6 +12,7 @@ import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
 import org.springframework.context.annotation.Bean;
 import org.springframework.scheduling.annotation.EnableAsync;
 import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
 import org.springframework.transaction.annotation.EnableTransactionManagement;
 import springfox.documentation.swagger2.annotations.EnableSwagger2;
 
diff --git a/src/main/java/com/order/erp/controller/DictionaryController.java b/src/main/java/com/order/erp/controller/DictionaryController.java
index f0fd57a..a9f22ae 100644
--- a/src/main/java/com/order/erp/controller/DictionaryController.java
+++ b/src/main/java/com/order/erp/controller/DictionaryController.java
@@ -1,13 +1,18 @@
 package com.order.erp.controller;
 
+import com.alibaba.excel.EasyExcel;
 import com.order.erp.common.annotation.AnonymousAccess;
 import com.order.erp.common.constant.ServerResult;
+import com.order.erp.domain.dto.model.InnerNoModel;
+import com.order.erp.domain.dto.model.ProjectNoModel;
 import com.order.erp.domain.vo.admin.DictionaryQueryVO;
 import com.order.erp.domain.vo.admin.DictionaryVO;
 import com.order.erp.log.Log;
 import com.order.erp.service.admin.DictionaryService;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
+import org.apache.commons.codec.EncoderException;
+import org.apache.commons.codec.net.URLCodec;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -16,6 +21,9 @@ import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+import java.util.ArrayList;
 
 /**
  * @author xms
@@ -68,4 +76,34 @@ public class DictionaryController {
     public ServerResult delete(@RequestBody @Validated DictionaryQueryVO queryVO) {
         return dictionaryService.deleteById(queryVO);
     }
+
+    /**
+     * @param response
+     * @return ServerResult
+     * @Description: 导出项目编号模板
+     * @Author wmr
+     * @CreateTime 2023/12/20 11:53
+     */
+    @ApiOperation("导出项目编号模板")
+    @PostMapping("/exportProjectNoModel")
+    public ServerResult exportProjectNoModel(HttpServletResponse response) throws IOException, EncoderException {
+        response.setHeader("Content-Disposition", "attachment;fileName=" + new URLCodec("UTF-8").encode("项目号导入模板.xlsx"));
+        EasyExcel.write(response.getOutputStream(), ProjectNoModel.class).sheet("项目号导入表").doWrite(new ArrayList<>());
+        return ServerResult.success();
+    }
+
+    /**
+     * @Description: 导出内部编号模板
+     * @param response
+     * @return ServerResult
+     * @Author wmr
+     * @CreateTime 2023/12/20 11:59
+     */
+    @ApiOperation("导出内部编号模板")
+    @PostMapping("/exportInnerNoModel")
+    public ServerResult exportInnerNoModel(HttpServletResponse response) throws IOException, EncoderException {
+        response.setHeader("Content-Disposition", "attachment;fileName=" + new URLCodec("UTF-8").encode("内部编号导入模板.xlsx"));
+        EasyExcel.write(response.getOutputStream(), InnerNoModel.class).sheet("内部编号导入表").doWrite(new ArrayList<>());
+        return ServerResult.success();
+    }
 }
\ No newline at end of file
diff --git a/src/main/java/com/order/erp/controller/OrderController.java b/src/main/java/com/order/erp/controller/OrderController.java
index 00a3e4e..7a9e6e6 100644
--- a/src/main/java/com/order/erp/controller/OrderController.java
+++ b/src/main/java/com/order/erp/controller/OrderController.java
@@ -123,6 +123,5 @@ public class OrderController {
     public ServerResult deleteById(@RequestBody OrderBaseInfoQueryVO orderBaseInfoQueryVO) {
         return orderBaseInfoService.deleteById(orderBaseInfoQueryVO);
     }
-
 }
 
diff --git a/src/main/java/com/order/erp/domain/dto/model/InnerNoModel.java b/src/main/java/com/order/erp/domain/dto/model/InnerNoModel.java
new file mode 100644
index 0000000..d1bea0d
--- /dev/null
+++ b/src/main/java/com/order/erp/domain/dto/model/InnerNoModel.java
@@ -0,0 +1,21 @@
+package com.order.erp.domain.dto.model;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+/**
+ * Date:2023/12/20
+ * Author:wmr
+ * Description:内部编号模板类
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class InnerNoModel {
+    @ColumnWidth(20)
+    @ExcelProperty(value = "内部编号",index = 0)
+    private String innerNo;
+}
diff --git a/src/main/java/com/order/erp/domain/dto/model/ProjectNoModel.java b/src/main/java/com/order/erp/domain/dto/model/ProjectNoModel.java
new file mode 100644
index 0000000..275e5ae
--- /dev/null
+++ b/src/main/java/com/order/erp/domain/dto/model/ProjectNoModel.java
@@ -0,0 +1,23 @@
+package com.order.erp.domain.dto.model;
+
+import com.alibaba.excel.annotation.ExcelProperty;
+import com.alibaba.excel.annotation.write.style.ColumnWidth;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * Date:2023/12/20
+ * Author:wmr
+ * Description:项目号模板
+ */
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class ProjectNoModel implements Serializable {
+    @ColumnWidth(20)
+    @ExcelProperty(value = "项目号",index = 0)
+    private String projectNo;
+}
diff --git a/src/main/java/com/order/erp/domain/vo/order/OrderBaseInfoQueryVO.java b/src/main/java/com/order/erp/domain/vo/order/OrderBaseInfoQueryVO.java
index 244ea58..057de83 100644
--- a/src/main/java/com/order/erp/domain/vo/order/OrderBaseInfoQueryVO.java
+++ b/src/main/java/com/order/erp/domain/vo/order/OrderBaseInfoQueryVO.java
@@ -63,7 +63,12 @@ public class OrderBaseInfoQueryVO extends BasePageVO implements Serializable {
     /**
      * 项目号
      */
-    private String projectNo;
+    private List<String> projectNo;
+
+    /**
+     * 内部编号
+     */
+    private List<String> innerNo;
 
     /**
      * 生产科
diff --git a/src/main/java/com/order/erp/service/order/impl/OrderBaseInfoServiceImpl.java b/src/main/java/com/order/erp/service/order/impl/OrderBaseInfoServiceImpl.java
index f39ae23..4ae8d8c 100644
--- a/src/main/java/com/order/erp/service/order/impl/OrderBaseInfoServiceImpl.java
+++ b/src/main/java/com/order/erp/service/order/impl/OrderBaseInfoServiceImpl.java
@@ -1201,7 +1201,8 @@ public class OrderBaseInfoServiceImpl extends ServiceImpl<OrderBaseInfoMapper, O
                 .le(StringUtils.isNotBlank(queryVO.getCreateEndTime()), OrderBaseInfoDO::getCreateTime, queryVO.getCreateEndTime())
                 .eq(StringUtils.isNotBlank(queryVO.getOrderStatus()), OrderBaseInfoDO::getOrderStatus, queryVO.getOrderStatus())
                 .eq(StringUtils.isNotBlank(queryVO.getCustomerCode()), OrderBaseInfoDO::getCustomerCode, queryVO.getCustomerCode())
-                .eq(StringUtils.isNotBlank(queryVO.getProjectNo()), OrderBaseInfoDO::getProjectNo, queryVO.getProjectNo())
+                .in(CollectionUtils.isNotEmpty(queryVO.getProjectNo()), OrderBaseInfoDO::getProjectNo, queryVO.getProjectNo())
+                .in(CollectionUtils.isNotEmpty(queryVO.getInnerNo()),OrderBaseInfoDO::getInnerNo,queryVO.getInnerNo())
                 .eq(StringUtils.isNotBlank(queryVO.getProductionDepartment()), OrderBaseInfoDO::getProductionDepartment, queryVO.getProductionDepartment())
                 .eq(StringUtils.isNotBlank(queryVO.getCreateBy()), OrderBaseInfoDO::getCreateBy, queryVO.getCreateBy())
                 .eq(StringUtils.isNotBlank(queryVO.getBusinessPerson()), OrderBaseInfoDO::getBusinessPerson, queryVO.getBusinessPerson())