diff --git a/pom.xml b/pom.xml
index 9c33adc..63a4209 100644
--- a/pom.xml
+++ b/pom.xml
@@ -172,6 +172,17 @@
             <version>1.9.6</version>
         </dependency>
         <dependency>
+            <groupId>cn.hutool</groupId>
+            <artifactId>hutool-all</artifactId>
+            <version>5.7.14</version>
+        </dependency>
+        <dependency>
+            <groupId>cn.afterturn</groupId>
+            <artifactId>easypoi-spring-boot-starter</artifactId>
+            <version>4.4.0</version>
+        </dependency>
+
+        <dependency>
             <groupId>io.springfox</groupId>
             <artifactId>springfox-swagger2</artifactId>
             <version>2.9.2</version>
diff --git a/src/main/java/com/tianbo/analysis/controller/FFMInfoController.java b/src/main/java/com/tianbo/analysis/controller/FFMInfoController.java
index 52415dc..043750a 100644
--- a/src/main/java/com/tianbo/analysis/controller/FFMInfoController.java
+++ b/src/main/java/com/tianbo/analysis/controller/FFMInfoController.java
@@ -1,9 +1,7 @@
 package com.tianbo.analysis.controller;
 
-import com.github.pagehelper.PageInfo;
 import com.tianbo.analysis.model.FFMInfo;
 import com.tianbo.analysis.model.ResultJson;
-import com.tianbo.analysis.model.TRANSTOARRIVEEXPORT;
 import com.tianbo.analysis.service.FFMResolve;
 import com.tianbo.util.Date.DateUtil;
 import io.swagger.annotations.Api;
@@ -14,6 +12,7 @@ import org.springframework.web.bind.annotation.*;
 
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 @Api(description = "舱单解析表接口")
 @RestController
@@ -61,5 +60,4 @@ public class FFMInfoController {
         int result=ffmResolve.delByAutoidList(autoIDlist);
         return result>0?new ResultJson("200","删除成功!"):new ResultJson("201","删除失败");
     }
-
 }
diff --git a/src/main/java/com/tianbo/analysis/controller/InNmmsStaticController.java b/src/main/java/com/tianbo/analysis/controller/InNmmsStaticController.java
new file mode 100644
index 0000000..d5b3c7f
--- /dev/null
+++ b/src/main/java/com/tianbo/analysis/controller/InNmmsStaticController.java
@@ -0,0 +1,83 @@
+package com.tianbo.analysis.controller;
+
+import cn.afterturn.easypoi.entity.vo.NormalExcelConstants;
+import cn.afterturn.easypoi.excel.ExcelExportUtil;
+import cn.afterturn.easypoi.excel.entity.ExportParams;
+import cn.afterturn.easypoi.view.PoiBaseView;
+import com.tianbo.analysis.model.StatictisModel;
+import com.tianbo.analysis.service.FFMResolve;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import org.apache.poi.ss.usermodel.Workbook;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.ui.ModelMap;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.OutputStream;
+import java.net.URLEncoder;
+import java.util.List;
+
+@Api(description = "进港舱单统计")
+@RestController
+@RequestMapping("/statistics/")
+public class InNmmsStaticController {
+    @Autowired
+    FFMResolve ffmResolve;
+    @ApiOperation(value = "查询进港舱单统计")
+    @RequestMapping("/selectDevList")
+    public void selectDevList(@RequestParam(value = "flightno", required = false) String flightno,
+                                    @RequestParam(value = "subTime", required = false) String subTime,
+                                    @RequestParam(value = "nowTime", required = false) String nowTime,
+                                    ModelMap map, HttpServletRequest request, HttpServletResponse response){
+        List<StatictisModel> list=ffmResolve.selectDevList(flightno,subTime,nowTime);
+
+        ExportParams params = new ExportParams("进港舱单统计", "进港舱单统计");
+        map.put(NormalExcelConstants.DATA_LIST, list);
+        map.put(NormalExcelConstants.CLASS, StatictisModel.class);
+        map.put(NormalExcelConstants.PARAMS, params);
+        map.put(NormalExcelConstants.FILE_NAME, "进港舱单统计");
+        PoiBaseView.render(map, request, response, NormalExcelConstants.EASYPOI_EXCEL_VIEW);
+//        return new ResultJson("200","success");
+    }
+
+    @RequestMapping(value = "/exportExcel")
+    public void exportExcel(String id,HttpServletResponse response) throws Exception {
+        List<StatictisModel> list=ffmResolve.selectDevList(null,"2018-06-06","2018-06-08");
+
+        ExportParams params = new ExportParams("进港舱单统计", "进港舱单统计");
+        Workbook workbook = ExcelExportUtil.exportExcel(params, StatictisModel.class, list);
+        String fileName = "saleData.xlsx";
+        response.setCharacterEncoding("UTF-8");
+        response.setContentType("application/vnd.ms-excel; charset=utf-8");
+        response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "utf-8"));
+        OutputStream outputStream = response.getOutputStream();
+        workbook.write(outputStream);
+        outputStream.flush();
+        outputStream.close();
+    }
+
+}
+
+//@Data
+//class ExcelDemo {
+//
+//    @Excel(name = "员工名称")
+//    private String employeesName;
+//
+//    @Excel(name = "员工图片",type = 2 ,width = 30 , height = 50)
+//    private String image;
+//
+//    @Excel(name = "员工年龄")
+//    private Integer age;
+//
+//    @Excel(name = "创建日期", format = "yyyy-MM-dd HH:mm", width = 20)
+//    private Date createDate;
+//
+//    @Excel(name = "更新日期", format = "yyyy/MM/dd HH:mm", width = 20)
+//    private Date updateDate;
+//
+//}
diff --git a/src/main/java/com/tianbo/analysis/dao/FFMInfoDao.java b/src/main/java/com/tianbo/analysis/dao/FFMInfoDao.java
index a713993..68a2fe6 100644
--- a/src/main/java/com/tianbo/analysis/dao/FFMInfoDao.java
+++ b/src/main/java/com/tianbo/analysis/dao/FFMInfoDao.java
@@ -1,8 +1,13 @@
 package com.tianbo.analysis.dao;
 
+import com.sun.javafx.tools.packager.MakeAllParams;
 import com.tianbo.analysis.model.FFMInfo;
+import com.tianbo.analysis.model.StatictisModel;
+import org.apache.ibatis.annotations.Param;
 
+import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 public interface FFMInfoDao {
     int deleteByPrimaryKey(String autoid);
@@ -24,4 +29,6 @@ public interface FFMInfoDao {
     int delFlightno(FFMInfo record);
 
     int delByAutoidList(List<String> idList);
+
+    List<StatictisModel> selectDevList(@Param("flightno") String flightno, @Param("subTime") String subTime, @Param("nowTime") String nowTime);
 }
diff --git a/src/main/java/com/tianbo/analysis/model/StatictisModel.java b/src/main/java/com/tianbo/analysis/model/StatictisModel.java
new file mode 100644
index 0000000..e3afda6
--- /dev/null
+++ b/src/main/java/com/tianbo/analysis/model/StatictisModel.java
@@ -0,0 +1,48 @@
+package com.tianbo.analysis.model;
+
+import cn.afterturn.easypoi.excel.annotation.Excel;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.util.Date;
+
+@Data
+@EqualsAndHashCode
+public class StatictisModel {
+
+    @Excel(name = "运单号")
+    public String waybillnomaster;
+
+    @Excel(name = "板箱号")
+    public String pallet;
+
+    @Excel(name = "舱单件数")
+    public String manifesttotalpiece;
+
+    @Excel(name = "舱单重量")
+    public String manifesttotalweight;
+
+    @Excel(name = "运单件数")
+    public String totalpiece;
+    @Excel(name = "运单重量")
+    public String totalweight;
+
+    @Excel(name = "航班号")
+    public String fflightno;
+
+    @Excel(name = "航班日期",format = "yyyy-MM-dd")
+    public Date flightdate;
+
+    @Excel(name = "原始航班号")
+    public String oflightno;
+
+    @Excel(name = "原始航班日期",format = "yyyy-MM-dd")
+    public Date flight_date;
+
+    @Excel(name = "分批标识")
+    public String isbatch;
+
+    @Excel(name = "特殊代码")
+    public String specialgoodscode;
+
+}
diff --git a/src/main/java/com/tianbo/analysis/service/FFMResolve.java b/src/main/java/com/tianbo/analysis/service/FFMResolve.java
index e7db281..09b58a1 100644
--- a/src/main/java/com/tianbo/analysis/service/FFMResolve.java
+++ b/src/main/java/com/tianbo/analysis/service/FFMResolve.java
@@ -2,8 +2,11 @@ package com.tianbo.analysis.service;
 
 import com.tianbo.analysis.model.FFMInfo;
 import com.tianbo.analysis.model.ResultJson;
+import com.tianbo.analysis.model.StatictisModel;
 
+import java.util.Date;
 import java.util.List;
+import java.util.Map;
 
 public interface FFMResolve {
     ResultJson resolve(FFMInfo ffmInfo);
@@ -15,4 +18,6 @@ public interface FFMResolve {
     int delFlightno(FFMInfo record);
 
     int delByAutoidList(List<String> idList);
+
+    List<StatictisModel> selectDevList(String flightno, String subTime, String nowTime);
 }
diff --git a/src/main/java/com/tianbo/analysis/service/imp/FFMResolveImpl.java b/src/main/java/com/tianbo/analysis/service/imp/FFMResolveImpl.java
index dfeaf68..c305f15 100644
--- a/src/main/java/com/tianbo/analysis/service/imp/FFMResolveImpl.java
+++ b/src/main/java/com/tianbo/analysis/service/imp/FFMResolveImpl.java
@@ -6,6 +6,7 @@ import com.tianbo.analysis.dao.TBBaseAirportInfoDao;
 import com.tianbo.analysis.exception.FFMResolveException;
 import com.tianbo.analysis.model.FFMInfo;
 import com.tianbo.analysis.model.ResultJson;
+import com.tianbo.analysis.model.StatictisModel;
 import com.tianbo.analysis.model.TBBaseAirportInfo;
 import com.tianbo.analysis.service.FFMResolve;
 import com.tianbo.util.Date.DateUtil;
@@ -89,4 +90,9 @@ public class FFMResolveImpl implements FFMResolve {
     public int delByAutoidList(List<String> idList) {
         return ffmInfoDao.delByAutoidList(idList);
     }
+
+    @Override
+    public List<StatictisModel> selectDevList(String flightno, String subTime, String nowTime) {
+        return ffmInfoDao.selectDevList(flightno,subTime,nowTime);
+    }
 }
diff --git a/src/main/resources/generator/generatorConfig.xml b/src/main/resources/generator/generatorConfig.xml
index 3914445..984034a 100644
--- a/src/main/resources/generator/generatorConfig.xml
+++ b/src/main/resources/generator/generatorConfig.xml
@@ -5,7 +5,7 @@
 <generatorConfiguration>
     <!-- 数据库驱动:选择你的本地硬盘上面的数据库驱动包-->
     <!--<classPathEntry  location="/Users/mrz/Downloads/mybatis-generator-core-1.3.2/lib/mysql-connector-java-5.1.25-bin.jar"/>-->
-    <classPathEntry  location="/Users/mrz/Documents/maven/ojdbc6.jar"/>
+    <classPathEntry  location="/Users/xuyonghui/XYH/MAVEN/ojdbc6.jar"/>
     <context id="DB2Tables"  targetRuntime="MyBatis3">
         <commentGenerator>
             <property name="suppressDate" value="true"/>
@@ -34,7 +34,7 @@
             <property name="forceBigDecimals" value="false"/>
         </javaTypeResolver>
         <!-- 生成模型的包名和位置-->
-        <javaModelGenerator targetPackage="com.tianbo.analysis.model" targetProject="src/main/java">
+        <javaModelGenerator targetPackage="com.tianbo.analysis.model.new" targetProject="src/main/java">
             <property name="enableSubPackages" value="false"/>
             <property name="trimStrings" value="true"/>
         </javaModelGenerator>
@@ -47,6 +47,6 @@
             <property name="enableSubPackages" value="false"/>
         </javaClientGenerator>
         <!-- 要生成的表 tableName是数据库中的表名或视图名 domainObjectName是实体类名-->
-        <table schema="CGONMS" tableName="SENDPLAN" domainObjectName="SENDPLAN" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
+        <table schema="CGONMS" tableName="ORIGINMANIFESTSECONDARY" domainObjectName="ORIGSECONDARY" enableCountByExample="false" enableUpdateByExample="false" enableDeleteByExample="false" enableSelectByExample="false" selectByExampleQueryId="false"></table>
     </context>
 </generatorConfiguration>
diff --git a/src/main/resources/mapping/FFMInfoDao.xml b/src/main/resources/mapping/FFMInfoDao.xml
index b7fb600..c032221 100644
--- a/src/main/resources/mapping/FFMInfoDao.xml
+++ b/src/main/resources/mapping/FFMInfoDao.xml
@@ -24,6 +24,20 @@
     <result column="TOTALPIECE" jdbcType="VARCHAR" property="totalpiece" />
     <result column="DEALSTATUS" jdbcType="VARCHAR" property="dealstatus" />
   </resultMap>
+  <resultMap id="StatictisMap" type="com.tianbo.analysis.model.StatictisModel">
+    <result column="WAYBILLNOMASTER" jdbcType="VARCHAR" property="waybillnomaster" />
+    <result column="PALLET" jdbcType="VARCHAR" property="pallet" />
+    <result column="MANIFESTTOTALPIECE" jdbcType="VARCHAR" property="manifesttotalpiece" />
+    <result column="MANIFESTTOTALWEIGHT" jdbcType="VARCHAR" property="manifesttotalweight" />
+    <result column="TOTALPIECE" jdbcType="VARCHAR" property="totalpiece" />
+    <result column="TOTALWEIGHT" jdbcType="VARCHAR" property="totalweight" />
+    <result column="FFLIGHTNO" jdbcType="VARCHAR" property="fflightno" />
+    <result column="FLIGHTDATE" jdbcType="TIMESTAMP" property="flightdate" />
+    <result column="OFLIGHTNO" jdbcType="VARCHAR" property="oflightno" />
+    <result column="FLIGHT_DATE" jdbcType="TIMESTAMP" property="flight_date" />
+    <result column="ISBATCH" jdbcType="VARCHAR" property="isbatch" />
+    <result column="SPECIALGOODSCODE" jdbcType="VARCHAR" property="specialgoodscode" />
+  </resultMap>
   <sql id="Base_Column_List">
     AUTOID, CREATEDATE, FLIGHTNO, FLIGHTDATE, WAYBILLNOMASTER, ORIGINATINGSTATION, DESTINATIONSTATION,
     MANIFESTTOTALPIECE, MANIFESTTOTALWEIGHT, PRODUCTNAME, SPECIALGOODSCODE, CUSTOMSCODE,
@@ -309,4 +323,42 @@
       DEALSTATUS = #{dealstatus,jdbcType=VARCHAR}
     where AUTOID = #{autoid,jdbcType=VARCHAR}
   </update>
+  <select id="selectDevList" parameterType="java.lang.String" resultMap="StatictisMap">
+    SELECT
+	F.PALLET AS PALLET,
+	F.FLIGHTNO AS FFLIGHTNO,
+	F.FLIGHTDATE AS FLIGHTDATE,
+	F.WAYBILLNOMASTER AS WAYBILLNOMASTER,
+	F.MANIFESTTOTALPIECE AS MANIFESTTOTALPIECE,
+	F.MANIFESTTOTALWEIGHT AS MANIFESTTOTALWEIGHT,
+	O.TOTALPIECE AS TOTALPIECE,
+	O.TOTALWEIGHT AS TOTALWEIGHT,
+	O.FLIGHTNO AS OFLIGHTNO,
+	O.FLIGHT_DATE AS FLIGHT_DATE,
+	O.SPECIALGOODSCODE AS SPECIALGOODSCODE,
+	F.ISBATCH AS ISBATCH
+FROM
+	(
+	SELECT
+		a.*,
+		row_number () over ( partition BY flightno, flightdate, waybillnomaster, PALLET, reportorder ORDER BY createdate DESC ) rw
+	FROM
+		ffm_info a
+	WHERE
+		1 = 1 -- and islast = 'LAST'
+-- and reportorder = '1'
+
+		AND dealstatus = '1'
+    <if test="flightno != null and flightno!=''">
+     and FLIGHTNO = #{flightno,jdbcType=VARCHAR}
+    </if> -- 		AND waybillnomaster = '356-50028882'
+		AND flightdate BETWEEN to_date(#{subTime},'yyyy-MM-dd') and to_date(#{nowTime},'yyyy-MM-dd')
+	) F
+	LEFT JOIN ORIGINMANIFESTMASTER O ON O.WAYBILLNOMASTER = F.WAYBILLNOMASTER -- WHERE O.SPECIALGOODSCODE IS NOT NULL
+	WHERE rw=1
+ORDER BY
+	O.WAYBILLNOMASTER,
+	F.PALLET
+  </select>
+
 </mapper>
diff --git a/src/test/java/FWBTest.java b/src/test/java/FWBTest.java
new file mode 100644
index 0000000..ff67bb1
--- /dev/null
+++ b/src/test/java/FWBTest.java
@@ -0,0 +1,68 @@
+import com.tianbo.analysis.NmmsAdminApplication;
+import com.tianbo.analysis.model.FWBinfo;
+import com.tianbo.analysis.model.Originmanifestsecondary;
+import org.apache.logging.log4j.LogManager;
+import org.apache.logging.log4j.Logger;
+import org.springframework.boot.test.context.SpringBootTest;
+
+//@RunWith(SpringRunner.class)
+@SpringBootTest(classes = NmmsAdminApplication.class)
+public class FWBTest {
+
+    private static Logger logger = LogManager.getLogger(FHLTest.class);
+
+    private static String FWB = "ZCZC\n" +
+            "QK CGOFD1E\n" +
+            ".AUHFMEY 150638\n" +
+            "FWB/16\n" +
+            "607-23181900PVGRUH/T18K3958MC14.94\n" +
+            "FLT/EY9932/16\n" +
+            "RTG/AUHEY/RUHEY\n" +
+            "SHP\n" +
+            "/APPLE DISTRIBUTION INTERNATIONAL\n" +
+            "/INDUSTRIAL ESTATE PINISHED GOODS\n" +
+            "/SHANGHAI\n" +
+            "/CN//TE/353214229094/FX/35214284000\n" +
+            "CNE\n" +
+            "/APPLE SAUDI ARABIA LLC\n" +
+            "/LEVEL 30 FAISALIAH TOWER RIYADH\n" +
+            "/RIYADH\n" +
+            "/SA/11524/TE/97239005310/FX/97239005311\n" +
+            "AGT//0830875/0214/CAG\n" +
+            "/AOE FREIGHT SHANGHAI LIMTED\n" +
+            "/SHANGHAI\n" +
+            "SSR/ALL\n" +
+            "ACC/GEN/FREIGHT PREPAID\n" +
+            "/GEN/PRDGENERALCARGO\n" +
+            "CVD/CNY//PP/NVD/NCV/XXX\n" +
+            "RTD/1/P18/K3958/CQ/W3958/R30.72/T121589.76\n" +
+            "/NG/MOBILE PHONELITHIUM\n" +
+            "/2/NG/IONBATTERIES INCOMPL\n" +
+            "/3/NG/IANCE WITHSECTION II\n" +
+            "/4/NG/ OFPI967 ELI\n" +
+            "/5/ND//CMT100-100-83/18\n" +
+            "/6/NV/MC14.94\n" +
+            "OTH/P/MSC55807.8\n" +
+            "PPD/WT244469.76/VC0/TX0\n" +
+            "/OA0/OC56400/CT300869.76\n" +
+            "CER/APPLE DISTRIBUUTTON\n" +
+            "ISU/15DEC21/SHANGHAI/GHR\n" +
+            "REF/AUHFMEY\n" +
+            "SPH/EAP/HEA/ECC/ELI\n" +
+            "=\n" +
+            "NNNN";
+
+    @org.junit.jupiter.api.Test
+    public void send() {
+        try{
+            FWBinfo fwb= new FWBinfo() ;
+            fwb.text = FWB;
+            fwb.textToStringList();
+            fwb.startParse();
+        }catch (Exception e){
+            e.printStackTrace();
+        }
+
+
+    }
+}