From 29ec252deaf466bc2c8cbc110221547da8790e8d Mon Sep 17 00:00:00 2001
From: YYC <1833023622@qq.com>
Date: 星期五, 30 六月 2023 14:35:54 +0800
Subject: [PATCH] 出入库报表

---
 igds-inout/src/main/java/com/ld/igds/inout/view/InoutReportPR.java          |  409 +++++-----
 igds-web/src/main/resources/templates/test/qualityReport03.html             |  162 ++++
 igds-web/src/main/resources/templates/test/qualityReport04.html             |  152 +++
 igds-inout/src/main/java/com/ld/igds/inout/view/ReportInoutDetail.view.xml  |   19 
 igds-inout/src/main/java/com/ld/igds/inout/service/JInoutReportService.java | 1453 ++++++++++++++++++------------------
 igds-inout/src/main/java/com/ld/igds/inout/view/ReportInDay.view.xml        |   27 
 igds-inout/src/main/java/com/ld/igds/inout/view/ReportOutDay.view.xml       |   27 
 igds-web/src/main/resources/templates/test/qualityReport02.html             |   44 
 8 files changed, 1,305 insertions(+), 988 deletions(-)

diff --git a/igds-inout/src/main/java/com/ld/igds/inout/service/JInoutReportService.java b/igds-inout/src/main/java/com/ld/igds/inout/service/JInoutReportService.java
index e4b9b80..a65f698 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/service/JInoutReportService.java
+++ b/igds-inout/src/main/java/com/ld/igds/inout/service/JInoutReportService.java
@@ -24,805 +24,798 @@
  */
 @Slf4j
 @Component(JInoutReportService.BEAN_ID)
-public class JInoutReportService extends JdbcDao  {
-	
-	public static final String BEAN_ID = "jdbcInoutReportServiceImpl";
+public class JInoutReportService extends JdbcDao {
 
-	@Autowired
-	private HDepotService depotService;
+    public static final String BEAN_ID = "jdbcInoutReportServiceImpl";
 
-	public List<ReportInoutDepotData> getInoutDepotData(
-			Map<String, Object> parameter) {
-		// 鏃堕棿鏉′欢蹇呴』
-		Date start = (Date) parameter.get("start");
-		Date end = (Date) parameter.get("end");
-		String deptId = (String) parameter.get("deptId");
+    @Autowired
+    private HDepotService depotService;
 
-		if (start == null || end == null || StringUtils.isEmpty(deptId))
-			return null;
+    public List<ReportInoutDepotData> getInoutDepotData(
+            Map<String, Object> parameter) {
+        // 鏃堕棿鏉′欢蹇呴』
+        Date start = (Date) parameter.get("start");
+        Date end = (Date) parameter.get("end");
+        String deptId = (String) parameter.get("deptId");
 
-		StringBuffer sql = new StringBuffer();
-		sql.append("SELECT ");
-		sql.append("d.ID_ AS depotId, ");
-		sql.append("d.NAME_ AS depotName, ");
-		sql.append("d.FOOD_TYPE_ AS foodType, ");
-		sql.append("d.FOOD_VARIETY_ AS foodVariety, ");
-		sql.append("0 as cqkc, ");
-		sql.append("d.STORAGE_REAL_ as qmkc, ");
-		sql.append("a.inNum, ");
-		sql.append("a.outNum, ");
-		sql.append("a.lossNum, ");
-		sql.append("a.overNum, ");
-		sql.append("( ");
-		sql.append("IFNULL(a.inNum, 0) + IFNULL(a.overNum, 0) ");
-		sql.append(") AS inSum, ");
-		sql.append("( ");
-		sql.append("IFNULL(a.outNum, 0) + IFNULL(a.lossNum, 0) ");
-		sql.append(") AS outSum ");
-		sql.append("FROM ");
-		sql.append("d_depot d ");
-		sql.append("LEFT JOIN ( ");
-		sql.append("SELECT ");
-		sql.append("a.DEPOT_ID_, ");
-		sql.append("SUM( ");
-		sql.append("IF ( ");
-		sql.append("a.TYPE_ = :typeIn, ");
-		sql.append("a.SETTLE_WEIGHT_, ");
-		sql.append("0 ");
-		sql.append(") ");
-		sql.append(") AS inNum, ");
-		sql.append("SUM( ");
-		sql.append("IF ( ");
-		sql.append("a.TYPE_ = :typeOut, ");
-		sql.append("a.SETTLE_WEIGHT_, ");
-		sql.append("0 ");
-		sql.append(") ");
-		sql.append(") AS outNum, ");
-		sql.append("SUM( ");
-		sql.append("IF ( ");
-		sql.append("a.TYPE_ = :typeLoss, ");
-		sql.append("a.SETTLE_WEIGHT_, ");
-		sql.append("0 ");
-		sql.append(") ");
-		sql.append(") AS lossNum, ");
-		sql.append("SUM( ");
-		sql.append("IF ( ");
-		sql.append("a.TYPE_ = :typeOver, ");
-		sql.append("a.SETTLE_WEIGHT_, ");
-		sql.append("0 ");
-		sql.append(") ");
-		sql.append(") AS overNum ");
-		sql.append("FROM ");
-		sql.append("( ");
-		sql.append("SELECT ");
-		sql.append("DEPOT_ID_, ");
-		sql.append("SETTLE_WEIGHT_, ");
-		sql.append("TYPE_, ");
-		sql.append("CUR_STORAGE_ ");
-		sql.append("FROM ");
-		sql.append("d_inout_record ");
-		sql.append("WHERE ");
-		sql.append("COMPANY_ID_ = :companyId ");
-		sql.append("AND PROGRESS_ = :progress ");
-		sql.append("AND RECORD_STATUS_ <> :recordStatusDel  ");
-		sql.append("AND RECORD_STATUS_ <> :recordStatusError ");
-		sql.append("AND COMPLETE_TIME_ >= :start ");
-		sql.append("AND COMPLETE_TIME_ <= :end ");
-		sql.append("AND DEPT_ID_  = :deptId ");
-		sql.append(") a ");
-		sql.append("GROUP BY a.DEPOT_ID_ ");
-		sql.append(") a ON d.ID_ = a.DEPOT_ID_ ");
-		sql.append("WHERE d.COMPANY_ID_ = :companyId ");
-		sql.append("AND d.DEPOT_TYPE_ <> :depotTypeOther ");
-		sql.append("AND d.DEPT_ID_  = :deptId ");
-		sql.append("ORDER BY d.ID_");
+        if (start == null || end == null || StringUtils.isEmpty(deptId))
+            return null;
 
-		Map<String, Object> args = new HashMap<>();
-		args.put("deptId", deptId);
-		args.put("companyId", ContextUtil.getCompanyId());
-		args.put("typeIn", InoutConstant.TYPE_IN);
-		args.put("typeOut", InoutConstant.TYPE_OUT);
-		args.put("typeLoss", Constant.LOSS_OVER_LOSS);
-		args.put("typeOver", Constant.LOSS_OVER_OVER);
-		args.put("progress", InoutConstant.PROGRESS_RECORD);
-		args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL);
+        StringBuffer sql = new StringBuffer();
+        sql.append("SELECT ");
+        sql.append("d.ID_ AS depotId, ");
+        sql.append("d.NAME_ AS depotName, ");
+        sql.append("d.FOOD_TYPE_ AS foodType, ");
+        sql.append("d.FOOD_VARIETY_ AS foodVariety, ");
+        sql.append("0 as cqkc, ");
+        sql.append("d.STORAGE_REAL_ as qmkc, ");
+        sql.append("a.inNum, ");
+        sql.append("a.outNum, ");
+        sql.append("a.lossNum, ");
+        sql.append("a.overNum, ");
+        sql.append("( ");
+        sql.append("IFNULL(a.inNum, 0) + IFNULL(a.overNum, 0) ");
+        sql.append(") AS inSum, ");
+        sql.append("( ");
+        sql.append("IFNULL(a.outNum, 0) + IFNULL(a.lossNum, 0) ");
+        sql.append(") AS outSum ");
+        sql.append("FROM ");
+        sql.append("d_depot d ");
+        sql.append("LEFT JOIN ( ");
+        sql.append("SELECT ");
+        sql.append("a.DEPOT_ID_, ");
+        sql.append("SUM( ");
+        sql.append("IF ( ");
+        sql.append("a.TYPE_ = :typeIn, ");
+        sql.append("a.SETTLE_WEIGHT_, ");
+        sql.append("0 ");
+        sql.append(") ");
+        sql.append(") AS inNum, ");
+        sql.append("SUM( ");
+        sql.append("IF ( ");
+        sql.append("a.TYPE_ = :typeOut, ");
+        sql.append("a.SETTLE_WEIGHT_, ");
+        sql.append("0 ");
+        sql.append(") ");
+        sql.append(") AS outNum, ");
+        sql.append("SUM( ");
+        sql.append("IF ( ");
+        sql.append("a.TYPE_ = :typeLoss, ");
+        sql.append("a.SETTLE_WEIGHT_, ");
+        sql.append("0 ");
+        sql.append(") ");
+        sql.append(") AS lossNum, ");
+        sql.append("SUM( ");
+        sql.append("IF ( ");
+        sql.append("a.TYPE_ = :typeOver, ");
+        sql.append("a.SETTLE_WEIGHT_, ");
+        sql.append("0 ");
+        sql.append(") ");
+        sql.append(") AS overNum ");
+        sql.append("FROM ");
+        sql.append("( ");
+        sql.append("SELECT ");
+        sql.append("DEPOT_ID_, ");
+        sql.append("SETTLE_WEIGHT_, ");
+        sql.append("TYPE_, ");
+        sql.append("CUR_STORAGE_ ");
+        sql.append("FROM ");
+        sql.append("d_inout_record ");
+        sql.append("WHERE ");
+        sql.append("COMPANY_ID_ = :companyId ");
+        sql.append("AND PROGRESS_ = :progress ");
+        sql.append("AND RECORD_STATUS_ <> :recordStatusDel  ");
+        sql.append("AND COMPLETE_TIME_ >= :start ");
+        sql.append("AND COMPLETE_TIME_ <= :end ");
+        sql.append("AND DEPT_ID_  = :deptId ");
+        sql.append(") a ");
+        sql.append("GROUP BY a.DEPOT_ID_ ");
+        sql.append(") a ON d.ID_ = a.DEPOT_ID_ ");
+        sql.append("WHERE d.COMPANY_ID_ = :companyId ");
+        sql.append("AND d.DEPOT_TYPE_ <> :depotTypeOther ");
+        sql.append("AND d.DEPT_ID_  = :deptId ");
+        sql.append("ORDER BY d.ID_");
 
-		args.put("start", DateUtil.getCurZero(start));
-		args.put("end", DateUtil.getNextZero(end));
-		args.put("depotTypeOther", DepotType.TYPE_99.getCode());
+        Map<String, Object> args = new HashMap<>();
+        args.put("deptId", deptId);
+        args.put("companyId", ContextUtil.getCompanyId());
+        args.put("typeIn", InoutConstant.TYPE_IN);
+        args.put("typeOut", InoutConstant.TYPE_OUT);
+        args.put("typeLoss", Constant.LOSS_OVER_LOSS);
+        args.put("typeOver", Constant.LOSS_OVER_OVER);
+        args.put("progress", InoutConstant.PROGRESS_RECORD);
+        args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL);
 
-		log.debug("====鎵цSLQ1={}", sql.toString());
+        args.put("start", DateUtil.getCurZero(start));
+        args.put("end", DateUtil.getNextZero(end));
+        args.put("depotTypeOther", DepotType.TYPE_99.getCode());
 
-		List<ReportInoutDepotData> data = this.getNamedParameterJdbcTemplate()
-				.query(sql.toString(), args, new ReportInoutDepotRowMapper());
+        log.debug("====鎵цSLQ1={}", sql.toString());
 
-		if (null == data || data.isEmpty())
-			return data;
+        List<ReportInoutDepotData> data = this.getNamedParameterJdbcTemplate()
+                .query(sql.toString(), args, new ReportInoutDepotRowMapper());
 
-		// 鏍规嵁寮�濮嬫椂闂磋幏鍙栬窛绂绘渶杩戠殑杞﹁締淇℃伅锛岃幏鍙栧垵鏈熷簱瀛�
-		sql = new StringBuffer();
-		args = new HashMap<>();
-		sql.append("SELECT ");
-		sql.append("DEPOT_ID_, ");
-		sql.append("SETTLE_WEIGHT_, ");
-		sql.append("TYPE_, ");
-		sql.append("CUR_STORAGE_, ");
-		sql.append("FOOD_VARIETY_, ");
-		sql.append("COMPLETE_TIME_ ");
-		sql.append("FROM ");
-		sql.append("( ");
-		sql.append("SELECT ");
-		sql.append("DEPOT_ID_, ");
-		sql.append("SETTLE_WEIGHT_, ");
-		sql.append("TYPE_, ");
-		sql.append("CUR_STORAGE_, ");
-		sql.append("COMPANY_ID_, ");
-		sql.append("PROGRESS_, ");
-		sql.append("RECORD_STATUS_, ");
-		sql.append("DEPT_ID_, ");
-		sql.append("FOOD_VARIETY_, ");
-		sql.append("COMPLETE_TIME_ ");
-		sql.append("FROM ");
-		sql.append("d_inout_record ");
-		sql.append("WHERE ");
-		sql.append("COMPANY_ID_ =:companyId ");
-		sql.append("AND PROGRESS_ =:progress ");
-		sql.append("AND RECORD_STATUS_ <> :recordStatusDel ");
-		sql.append("AND RECORD_STATUS_ <> :recordStatusError ");
-		sql.append("AND DEPT_ID_ = :deptId ");
-		sql.append("AND COMPLETE_TIME_ < :start ");
-		sql.append("ORDER BY COMPLETE_TIME_ DESC ");
-		sql.append("LIMIT 9999 ");
-		sql.append(") AS a ");
-		sql.append("GROUP BY ");
-		sql.append("a.DEPOT_ID_ ");
+        if (null == data || data.isEmpty())
+            return data;
 
-		args.put("deptId", deptId);
-		args.put("companyId", ContextUtil.getCompanyId());
-		args.put("progress", InoutConstant.PROGRESS_RECORD);
-		args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL);
-		// 鑾峰彇璺濈寮�濮嬫椂闂翠箙鏈�杩戠殑鏁版嵁锛屽綋鍓嶅ぉ鐨勭浜斿垎閽�
-		Date date = DateUtil.getCurZero(start);
-		args.put("start", DateUtils.addMinutes(date, 5));
+        // 鏍规嵁寮�濮嬫椂闂磋幏鍙栬窛绂绘渶杩戠殑杞﹁締淇℃伅锛岃幏鍙栧垵鏈熷簱瀛�
+        sql = new StringBuffer();
+        args = new HashMap<>();
+        sql.append("SELECT ");
+        sql.append("DEPOT_ID_, ");
+        sql.append("SETTLE_WEIGHT_, ");
+        sql.append("TYPE_, ");
+        sql.append("CUR_STORAGE_, ");
+        sql.append("FOOD_VARIETY_, ");
+        sql.append("COMPLETE_TIME_ ");
+        sql.append("FROM ");
+        sql.append("( ");
+        sql.append("SELECT ");
+        sql.append("DEPOT_ID_, ");
+        sql.append("SETTLE_WEIGHT_, ");
+        sql.append("TYPE_, ");
+        sql.append("CUR_STORAGE_, ");
+        sql.append("COMPANY_ID_, ");
+        sql.append("PROGRESS_, ");
+        sql.append("RECORD_STATUS_, ");
+        sql.append("DEPT_ID_, ");
+        sql.append("FOOD_VARIETY_, ");
+        sql.append("COMPLETE_TIME_ ");
+        sql.append("FROM ");
+        sql.append("d_inout_record ");
+        sql.append("WHERE ");
+        sql.append("COMPANY_ID_ =:companyId ");
+        sql.append("AND PROGRESS_ =:progress ");
+        sql.append("AND RECORD_STATUS_ <> :recordStatusDel ");
+        sql.append("AND DEPT_ID_ = :deptId ");
+        sql.append("AND COMPLETE_TIME_ < :start ");
+        sql.append("ORDER BY COMPLETE_TIME_ DESC ");
+        sql.append("LIMIT 9999 ");
+        sql.append(") AS a ");
+        sql.append("GROUP BY ");
+        sql.append("a.DEPOT_ID_ ");
 
-		log.debug("====鎵цSLQ2={}", sql.toString());
-		List<ReportInoutStorageData> list1 = this
-				.getNamedParameterJdbcTemplate().query(sql.toString(), args,
-						new ReportInoutStorageRowMapper());
+        args.put("deptId", deptId);
+        args.put("companyId", ContextUtil.getCompanyId());
+        args.put("progress", InoutConstant.PROGRESS_RECORD);
+        args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL);
+        // 鑾峰彇璺濈寮�濮嬫椂闂翠箙鏈�杩戠殑鏁版嵁锛屽綋鍓嶅ぉ鐨勭浜斿垎閽�
+        Date date = DateUtil.getCurZero(start);
+        args.put("start", DateUtils.addMinutes(date, 5));
 
-		// 鑾峰彇鏈熸湯搴撳瓨锛岃幏鍙栬窛绂荤粨鏉熸椂闂存渶杩戠殑涓�鏉℃暟鎹�
-		sql = new StringBuffer();
-		args = new HashMap<>();
-		sql.append("SELECT ");
-		sql.append("DEPOT_ID_, ");
-		sql.append("SETTLE_WEIGHT_, ");
-		sql.append("TYPE_, ");
-		sql.append("CUR_STORAGE_, ");
-		sql.append("FOOD_VARIETY_, ");
-		sql.append("COMPLETE_TIME_ ");
-		sql.append("FROM ");
-		sql.append("( ");
-		sql.append("SELECT ");
-		sql.append("DEPOT_ID_, ");
-		sql.append("SETTLE_WEIGHT_, ");
-		sql.append("TYPE_, ");
-		sql.append("CUR_STORAGE_, ");
-		sql.append("COMPANY_ID_, ");
-		sql.append("PROGRESS_, ");
-		sql.append("RECORD_STATUS_, ");
-		sql.append("DEPT_ID_, ");
-		sql.append("FOOD_VARIETY_, ");
-		sql.append("COMPLETE_TIME_ ");
-		sql.append("FROM ");
-		sql.append("d_inout_record ");
-		sql.append("WHERE ");
-		sql.append("COMPANY_ID_ =:companyId ");
-		sql.append("AND PROGRESS_ =:progress ");
-		sql.append("AND RECORD_STATUS_ <> :recordStatusDel ");
-		sql.append("AND RECORD_STATUS_ <> :recordStatusError ");
-		sql.append("AND DEPT_ID_ = :deptId ");
-		sql.append("AND COMPLETE_TIME_ <:end ");
-		sql.append("ORDER BY COMPLETE_TIME_ DESC ");
-		sql.append("LIMIT 9999 ");
-		sql.append(") AS a ");
-		sql.append("GROUP BY ");
-		sql.append("a.DEPOT_ID_ ");
+        log.debug("====鎵цSLQ2={}", sql.toString());
+        List<ReportInoutStorageData> list1 = this
+                .getNamedParameterJdbcTemplate().query(sql.toString(), args,
+                        new ReportInoutStorageRowMapper());
 
-		args.put("deptId", deptId);
-		args.put("companyId", ContextUtil.getCompanyId());
-		args.put("progress", InoutConstant.PROGRESS_RECORD);
-		args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL);
-		args.put("end", DateUtil.getNextZero(end));
+        // 鑾峰彇鏈熸湯搴撳瓨锛岃幏鍙栬窛绂荤粨鏉熸椂闂存渶杩戠殑涓�鏉℃暟鎹�
+        sql = new StringBuffer();
+        args = new HashMap<>();
+        sql.append("SELECT ");
+        sql.append("DEPOT_ID_, ");
+        sql.append("SETTLE_WEIGHT_, ");
+        sql.append("TYPE_, ");
+        sql.append("CUR_STORAGE_, ");
+        sql.append("FOOD_VARIETY_, ");
+        sql.append("COMPLETE_TIME_ ");
+        sql.append("FROM ");
+        sql.append("( ");
+        sql.append("SELECT ");
+        sql.append("DEPOT_ID_, ");
+        sql.append("SETTLE_WEIGHT_, ");
+        sql.append("TYPE_, ");
+        sql.append("CUR_STORAGE_, ");
+        sql.append("COMPANY_ID_, ");
+        sql.append("PROGRESS_, ");
+        sql.append("RECORD_STATUS_, ");
+        sql.append("DEPT_ID_, ");
+        sql.append("FOOD_VARIETY_, ");
+        sql.append("COMPLETE_TIME_ ");
+        sql.append("FROM ");
+        sql.append("d_inout_record ");
+        sql.append("WHERE ");
+        sql.append("COMPANY_ID_ =:companyId ");
+        sql.append("AND PROGRESS_ =:progress ");
+        sql.append("AND RECORD_STATUS_ <> :recordStatusDel ");
+        sql.append("AND DEPT_ID_ = :deptId ");
+        sql.append("AND COMPLETE_TIME_ <:end ");
+        sql.append("ORDER BY COMPLETE_TIME_ DESC ");
+        sql.append("LIMIT 9999 ");
+        sql.append(") AS a ");
+        sql.append("GROUP BY ");
+        sql.append("a.DEPOT_ID_ ");
 
-		log.debug("====鎵цSLQ3={}", sql.toString());
+        args.put("deptId", deptId);
+        args.put("companyId", ContextUtil.getCompanyId());
+        args.put("progress", InoutConstant.PROGRESS_RECORD);
+        args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL);
+        args.put("end", DateUtil.getNextZero(end));
 
-		List<ReportInoutStorageData> list2 = this
-				.getNamedParameterJdbcTemplate().query(sql.toString(), args,
-						new ReportInoutStorageRowMapper());
+        log.debug("====鎵цSLQ3={}", sql.toString());
 
-		// 璋冩暣鏈熸湯搴撳瓨鍜屽垵鏈熷簱瀛樹互鍙婂悎璁′俊鎭�
-		updateDepotReport(data, list1, list2);
+        List<ReportInoutStorageData> list2 = this
+                .getNamedParameterJdbcTemplate().query(sql.toString(), args,
+                        new ReportInoutStorageRowMapper());
 
-		return data;
-	}
+        // 璋冩暣鏈熸湯搴撳瓨鍜屽垵鏈熷簱瀛樹互鍙婂悎璁′俊鎭�
+        updateDepotReport(data, list1, list2);
 
-	private void updateDepotReport(List<ReportInoutDepotData> data,
-			List<ReportInoutStorageData> list1,
-			List<ReportInoutStorageData> list2) {
-		ReportInoutDepotData sum = new ReportInoutDepotData();
-		int index = 1;
-		for (ReportInoutDepotData d : data) {
-			// 璁剧疆搴忓彿
-			d.setRemarks(String.valueOf(index));
-			// 褰撳墠鏁版嵁娣诲姞鍒濇湡搴撳瓨
-			d = this.updateDepotReportCqkc(d, list1);
+        return data;
+    }
+
+    private void updateDepotReport(List<ReportInoutDepotData> data,
+                                   List<ReportInoutStorageData> list1,
+                                   List<ReportInoutStorageData> list2) {
+        ReportInoutDepotData sum = new ReportInoutDepotData();
+        int index = 1;
+        for (ReportInoutDepotData d : data) {
+            // 璁剧疆搴忓彿
+            d.setRemarks(String.valueOf(index));
+            // 褰撳墠鏁版嵁娣诲姞鍒濇湡搴撳瓨
+            d = this.updateDepotReportCqkc(d, list1);
 //			d = this.updateDepotReportQmkc(d, list2);
 
-			// 鍚堣淇℃伅
-			sum.setCqkc(sum.getCqkc() + d.getCqkc());
-			sum.setInNum(sum.getInNum() + d.getInNum());
-			sum.setOverNum(sum.getOverNum() + d.getOverNum());
-			sum.setInSum(sum.getInSum() + d.getInSum());
-			sum.setOutNum(sum.getOutNum() + d.getOutNum());
-			sum.setLossNum(sum.getLossNum() + d.getLossNum());
-			sum.setOutSum(sum.getOutSum() + d.getOutSum());
-			sum.setQmkc(sum.getQmkc() + d.getQmkc());
-			index++;
-		}
-		sum.setDepotName("鍚堣");
-		data.add(sum);
-	}
+            // 鍚堣淇℃伅
+            sum.setCqkc(sum.getCqkc() + d.getCqkc());
+            sum.setInNum(sum.getInNum() + d.getInNum());
+            sum.setOverNum(sum.getOverNum() + d.getOverNum());
+            sum.setInSum(sum.getInSum() + d.getInSum());
+            sum.setOutNum(sum.getOutNum() + d.getOutNum());
+            sum.setLossNum(sum.getLossNum() + d.getLossNum());
+            sum.setOutSum(sum.getOutSum() + d.getOutSum());
+            sum.setQmkc(sum.getQmkc() + d.getQmkc());
+            index++;
+        }
+        sum.setDepotName("鍚堣");
+        data.add(sum);
+    }
 
-	// 娉ㄦ剰锛氬鏋滄湡鏈簱瀛樻病鏈変复杩戞暟鎹紝鍒欒〃绀鸿幏鍙栨渶鏂扮殑搴撳瓨
-	private ReportInoutDepotData updateDepotReportQmkc(ReportInoutDepotData d,
-			List<ReportInoutStorageData> list2) {
-		ReportInoutStorageData inoutStorageData = null;
-		for (ReportInoutStorageData storageData : list2) {
-			if (storageData.getDepotId().equals(d.getDepotId())) {
-				inoutStorageData = storageData;
-				break;
-			}
-		}
-		if (null == inoutStorageData) {
-			Depot depot = depotService.getDepotById(ContextUtil.getCompanyId(),
-					d.getDepotId());
-			d.setQmkc(null == depot.getStorageReal() ? 0.0 : depot
-					.getStorageReal());
-			return d;
-		}
+    // 娉ㄦ剰锛氬鏋滄湡鏈簱瀛樻病鏈変复杩戞暟鎹紝鍒欒〃绀鸿幏鍙栨渶鏂扮殑搴撳瓨
+    private ReportInoutDepotData updateDepotReportQmkc(ReportInoutDepotData d,
+                                                       List<ReportInoutStorageData> list2) {
+        ReportInoutStorageData inoutStorageData = null;
+        for (ReportInoutStorageData storageData : list2) {
+            if (storageData.getDepotId().equals(d.getDepotId())) {
+                inoutStorageData = storageData;
+                break;
+            }
+        }
+        if (null == inoutStorageData) {
+            Depot depot = depotService.getDepotById(ContextUtil.getCompanyId(),
+                    d.getDepotId());
+            d.setQmkc(null == depot.getStorageReal() ? 0.0 : depot
+                    .getStorageReal());
+            return d;
+        }
 
-		double cmkc = inoutStorageData.getCurStorage();
-		if (InoutConstant.TYPE_IN.equals(inoutStorageData.getType())) {
-			cmkc = inoutStorageData.getCurStorage()
-					+ inoutStorageData.getSettleWeight();
-		}
-		if (InoutConstant.TYPE_OUT.equals(inoutStorageData.getType())) {
-			cmkc = inoutStorageData.getCurStorage()
-					- inoutStorageData.getSettleWeight();
-		}
-		if (Constant.LOSS_OVER_OVER.equals(inoutStorageData.getType())) {
-			cmkc = inoutStorageData.getCurStorage()
-					+ inoutStorageData.getSettleWeight();
-		}
-		if (Constant.LOSS_OVER_LOSS.equals(inoutStorageData.getType())) {
-			cmkc = inoutStorageData.getCurStorage()
-					- inoutStorageData.getSettleWeight();
-		}
-		d.setQmkc(cmkc);
+        double cmkc = inoutStorageData.getCurStorage();
+        if (InoutConstant.TYPE_IN.equals(inoutStorageData.getType())) {
+            cmkc = inoutStorageData.getCurStorage()
+                    + inoutStorageData.getSettleWeight();
+        }
+        if (InoutConstant.TYPE_OUT.equals(inoutStorageData.getType())) {
+            cmkc = inoutStorageData.getCurStorage()
+                    - inoutStorageData.getSettleWeight();
+        }
+        if (Constant.LOSS_OVER_OVER.equals(inoutStorageData.getType())) {
+            cmkc = inoutStorageData.getCurStorage()
+                    + inoutStorageData.getSettleWeight();
+        }
+        if (Constant.LOSS_OVER_LOSS.equals(inoutStorageData.getType())) {
+            cmkc = inoutStorageData.getCurStorage()
+                    - inoutStorageData.getSettleWeight();
+        }
+        d.setQmkc(cmkc);
 
-		return d;
-	}
+        return d;
+    }
 
-	private ReportInoutDepotData updateDepotReportCqkc(ReportInoutDepotData d,
-			List<ReportInoutStorageData> list1) {
-		ReportInoutStorageData inoutStorageData = null;
-		for (ReportInoutStorageData storageData : list1) {
-			if (storageData.getDepotId().equals(d.getDepotId())) {
-				inoutStorageData = storageData;
-				break;
-			}
-		}
-		if (null == inoutStorageData) {
-			d.setCqkc(0.0);
-			return d;
-		}
+    private ReportInoutDepotData updateDepotReportCqkc(ReportInoutDepotData d,
+                                                       List<ReportInoutStorageData> list1) {
+        ReportInoutStorageData inoutStorageData = null;
+        for (ReportInoutStorageData storageData : list1) {
+            if (storageData.getDepotId().equals(d.getDepotId())) {
+                inoutStorageData = storageData;
+                break;
+            }
+        }
+        if (null == inoutStorageData) {
+            d.setCqkc(0.0);
+            return d;
+        }
 
-		double cqkc = inoutStorageData.getCurStorage();
-		if (InoutConstant.TYPE_IN.equals(inoutStorageData.getType())) {
-			cqkc = inoutStorageData.getCurStorage()
-					+ inoutStorageData.getSettleWeight();
-		}
+        double cqkc = inoutStorageData.getCurStorage();
+        if (InoutConstant.TYPE_IN.equals(inoutStorageData.getType())) {
+            cqkc = inoutStorageData.getCurStorage()
+                    + inoutStorageData.getSettleWeight();
+        }
 
-		if (InoutConstant.TYPE_OUT.equals(inoutStorageData.getType())) {
-			cqkc = inoutStorageData.getCurStorage()
-					- inoutStorageData.getSettleWeight();
-		}
+        if (InoutConstant.TYPE_OUT.equals(inoutStorageData.getType())) {
+            cqkc = inoutStorageData.getCurStorage()
+                    - inoutStorageData.getSettleWeight();
+        }
 
-		if (Constant.LOSS_OVER_OVER.equals(inoutStorageData.getType())) {
-			cqkc = inoutStorageData.getCurStorage()
-					+ inoutStorageData.getSettleWeight();
-		}
+        if (Constant.LOSS_OVER_OVER.equals(inoutStorageData.getType())) {
+            cqkc = inoutStorageData.getCurStorage()
+                    + inoutStorageData.getSettleWeight();
+        }
 
-		if (Constant.LOSS_OVER_LOSS.equals(inoutStorageData.getType())) {
-			cqkc = inoutStorageData.getCurStorage()
-					- inoutStorageData.getSettleWeight();
-		}
-		d.setCqkc(cqkc);
-		if (StringUtils.isEmpty(d.getFoodVarietyName()) && d.getCqkc() > 0) {
-			d.setFoodVarietyName(FoodVariety.getMsg(inoutStorageData
-					.getFoodVariety()));
-			d.setFoodVariety(inoutStorageData.getFoodVariety());
-		}
-		return d;
-	}
+        if (Constant.LOSS_OVER_LOSS.equals(inoutStorageData.getType())) {
+            cqkc = inoutStorageData.getCurStorage()
+                    - inoutStorageData.getSettleWeight();
+        }
+        d.setCqkc(cqkc);
+        if (StringUtils.isEmpty(d.getFoodVarietyName()) && d.getCqkc() > 0) {
+            d.setFoodVarietyName(FoodVariety.getMsg(inoutStorageData
+                    .getFoodVariety()));
+            d.setFoodVariety(inoutStorageData.getFoodVariety());
+        }
+        return d;
+    }
 
-	public List<ReportInoutDepotData> getFoodVarietyData(
-			Map<String, Object> parameter) {
+    public List<ReportInoutDepotData> getFoodVarietyData(
+            Map<String, Object> parameter) {
 
-		// 鏃堕棿鏉′欢蹇呴』
-		Date start = (Date) parameter.get("start");
-		Date end = (Date) parameter.get("end");
-		String deptId = (String) parameter.get("deptId");
+        // 鏃堕棿鏉′欢蹇呴』
+        Date start = (Date) parameter.get("start");
+        Date end = (Date) parameter.get("end");
+        String deptId = (String) parameter.get("deptId");
 
-		if (start == null || end == null)
-			return null;
+        if (start == null || end == null)
+            return null;
 
-		StringBuffer sql = new StringBuffer();
-		sql.append("SELECT ");
-		sql.append("'NONE' as foodType, ");
-		sql.append("0 as cqkc, ");
-		sql.append("0 as qmkc, ");
-		sql.append("0 as inSum, ");
-		sql.append("0 as outSum, ");
-		sql.append("a.FOOD_VARIETY_ as foodVariety, ");
-		sql.append("SUM( ");
-		sql.append("IF ( ");
-		sql.append("a.TYPE_ =:typeIn, ");
-		sql.append("a.SETTLE_WEIGHT_, ");
-		sql.append("0 ");
-		sql.append(") ");
-		sql.append(") AS inNum, ");
-		sql.append("SUM( ");
-		sql.append("IF ( ");
-		sql.append("a.TYPE_ =:typeOut, ");
-		sql.append("a.SETTLE_WEIGHT_, ");
-		sql.append("0 ");
-		sql.append(") ");
-		sql.append(") AS outNum, ");
-		sql.append("SUM( ");
-		sql.append("IF ( ");
-		sql.append("a.TYPE_ =:typeLoss, ");
-		sql.append("a.SETTLE_WEIGHT_, ");
-		sql.append("0 ");
-		sql.append(") ");
-		sql.append(") AS lossNum, ");
-		sql.append("SUM( ");
-		sql.append("IF ( ");
-		sql.append("a.TYPE_ =:typeOver, ");
-		sql.append("a.SETTLE_WEIGHT_, ");
-		sql.append("0 ");
-		sql.append(") ");
-		sql.append(") AS overNum ");
-		sql.append("FROM ");
-		sql.append("( ");
-		sql.append("SELECT ");
-		sql.append("FOOD_VARIETY_, ");
-		sql.append("SETTLE_WEIGHT_, ");
-		sql.append("TYPE_, ");
-		sql.append("CUR_STORAGE_ ");
-		sql.append("FROM ");
-		sql.append("d_inout_record ");
-		sql.append("WHERE ");
-		sql.append("COMPANY_ID_ =:companyId ");
-		sql.append("AND PROGRESS_ =:progress ");
-		sql.append("AND RECORD_STATUS_ <> :recordStatusDel ");
-		sql.append("AND RECORD_STATUS_ <> :recordStatusError ");
-		sql.append("AND COMPLETE_TIME_ >= :start ");
-		sql.append("AND COMPLETE_TIME_ <= :end ");
-		sql.append("AND DEPT_ID_  = :deptId ");
-		sql.append("ORDER BY COMPLETE_TIME_ DESC ");
-		sql.append(") a ");
-		sql.append("GROUP BY a.FOOD_VARIETY_ ");
+        StringBuffer sql = new StringBuffer();
+        sql.append("SELECT ");
+        sql.append("'NONE' as foodType, ");
+        sql.append("0 as cqkc, ");
+        sql.append("0 as qmkc, ");
+        sql.append("0 as inSum, ");
+        sql.append("0 as outSum, ");
+        sql.append("a.FOOD_VARIETY_ as foodVariety, ");
+        sql.append("SUM( ");
+        sql.append("IF ( ");
+        sql.append("a.TYPE_ =:typeIn, ");
+        sql.append("a.SETTLE_WEIGHT_, ");
+        sql.append("0 ");
+        sql.append(") ");
+        sql.append(") AS inNum, ");
+        sql.append("SUM( ");
+        sql.append("IF ( ");
+        sql.append("a.TYPE_ =:typeOut, ");
+        sql.append("a.SETTLE_WEIGHT_, ");
+        sql.append("0 ");
+        sql.append(") ");
+        sql.append(") AS outNum, ");
+        sql.append("SUM( ");
+        sql.append("IF ( ");
+        sql.append("a.TYPE_ =:typeLoss, ");
+        sql.append("a.SETTLE_WEIGHT_, ");
+        sql.append("0 ");
+        sql.append(") ");
+        sql.append(") AS lossNum, ");
+        sql.append("SUM( ");
+        sql.append("IF ( ");
+        sql.append("a.TYPE_ =:typeOver, ");
+        sql.append("a.SETTLE_WEIGHT_, ");
+        sql.append("0 ");
+        sql.append(") ");
+        sql.append(") AS overNum ");
+        sql.append("FROM ");
+        sql.append("( ");
+        sql.append("SELECT ");
+        sql.append("FOOD_VARIETY_, ");
+        sql.append("SETTLE_WEIGHT_, ");
+        sql.append("TYPE_, ");
+        sql.append("CUR_STORAGE_ ");
+        sql.append("FROM ");
+        sql.append("d_inout_record ");
+        sql.append("WHERE ");
+        sql.append("COMPANY_ID_ =:companyId ");
+        sql.append("AND PROGRESS_ =:progress ");
+        sql.append("AND RECORD_STATUS_ <> :recordStatusDel ");
+        sql.append("AND COMPLETE_TIME_ >= :start ");
+        sql.append("AND COMPLETE_TIME_ <= :end ");
+        sql.append("AND DEPT_ID_  = :deptId ");
+        sql.append("ORDER BY COMPLETE_TIME_ DESC ");
+        sql.append(") a ");
+        sql.append("GROUP BY a.FOOD_VARIETY_ ");
 
-		Map<String, Object> args = new HashMap<>();
-		args.put("deptId", deptId);
-		args.put("companyId", ContextUtil.getCompanyId());
-		args.put("typeIn", InoutConstant.TYPE_IN);
-		args.put("typeOut", InoutConstant.TYPE_OUT);
-		args.put("typeLoss", Constant.LOSS_OVER_LOSS);
-		args.put("typeOver", Constant.LOSS_OVER_OVER);
-		args.put("progress", InoutConstant.PROGRESS_RECORD);
-		args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL);
-		args.put("start", DateUtil.getCurZero(start));
-		args.put("end", DateUtil.getNextZero(end));
+        Map<String, Object> args = new HashMap<>();
+        args.put("deptId", deptId);
+        args.put("companyId", ContextUtil.getCompanyId());
+        args.put("typeIn", InoutConstant.TYPE_IN);
+        args.put("typeOut", InoutConstant.TYPE_OUT);
+        args.put("typeLoss", Constant.LOSS_OVER_LOSS);
+        args.put("typeOver", Constant.LOSS_OVER_OVER);
+        args.put("progress", InoutConstant.PROGRESS_RECORD);
+        args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL);
+        args.put("start", DateUtil.getCurZero(start));
+        args.put("end", DateUtil.getNextZero(end));
 
-		log.debug("====鎵цSLQ1={}锛屽弬鏁�={}", sql.toString(),args);
+        log.debug("====鎵цSLQ1={}锛屽弬鏁�={}", sql.toString(), args);
 
-		List<ReportInoutDepotData> data = this.getNamedParameterJdbcTemplate()
-				.query(sql.toString(), args, new ReportFoodVarietyRowMapper());
+        List<ReportInoutDepotData> data = this.getNamedParameterJdbcTemplate()
+                .query(sql.toString(), args, new ReportFoodVarietyRowMapper());
 
 
-		// 鏍规嵁寮�濮嬫椂闂磋幏鍙栬窛绂绘渶杩戠殑杞﹁締淇℃伅锛岃幏鍙栧垵鏈熷簱瀛�
-		sql = new StringBuffer();
-		args = new HashMap<>();
-		sql.append("SELECT ");
-		sql.append("DEPOT_ID_, ");
-		sql.append("SETTLE_WEIGHT_, ");
-		sql.append("TYPE_, ");
-		sql.append("CUR_STORAGE_, ");
-		sql.append("FOOD_VARIETY_, ");
-		sql.append("COMPLETE_TIME_ ");
-		sql.append("FROM ");
-		sql.append("( ");
-		sql.append("SELECT ");
-		sql.append("DEPOT_ID_, ");
-		sql.append("SETTLE_WEIGHT_, ");
-		sql.append("TYPE_, ");
-		sql.append("CUR_STORAGE_, ");
-		sql.append("COMPANY_ID_, ");
-		sql.append("PROGRESS_, ");
-		sql.append("RECORD_STATUS_, ");
-		sql.append("DEPT_ID_, ");
-		sql.append("FOOD_VARIETY_, ");
-		sql.append("COMPLETE_TIME_ ");
-		sql.append("FROM ");
-		sql.append("d_inout_record ");
-		sql.append("WHERE ");
-		sql.append("COMPANY_ID_ =:companyId ");
-		sql.append("AND PROGRESS_ =:progress ");
-		sql.append("AND RECORD_STATUS_ <> :recordStatusDel ");
-		sql.append("AND RECORD_STATUS_ <> :recordStatusError ");
-		sql.append("AND DEPT_ID_ = :deptId ");
-		sql.append("AND COMPLETE_TIME_ < :start ");
-		sql.append("ORDER BY COMPLETE_TIME_ DESC ");
-		sql.append("LIMIT 9999 ");
-		sql.append(") AS a ");
-		sql.append("GROUP BY ");
-		sql.append("a.DEPOT_ID_ ");
+        // 鏍规嵁寮�濮嬫椂闂磋幏鍙栬窛绂绘渶杩戠殑杞﹁締淇℃伅锛岃幏鍙栧垵鏈熷簱瀛�
+        sql = new StringBuffer();
+        args = new HashMap<>();
+        sql.append("SELECT ");
+        sql.append("DEPOT_ID_, ");
+        sql.append("SETTLE_WEIGHT_, ");
+        sql.append("TYPE_, ");
+        sql.append("CUR_STORAGE_, ");
+        sql.append("FOOD_VARIETY_, ");
+        sql.append("COMPLETE_TIME_ ");
+        sql.append("FROM ");
+        sql.append("( ");
+        sql.append("SELECT ");
+        sql.append("DEPOT_ID_, ");
+        sql.append("SETTLE_WEIGHT_, ");
+        sql.append("TYPE_, ");
+        sql.append("CUR_STORAGE_, ");
+        sql.append("COMPANY_ID_, ");
+        sql.append("PROGRESS_, ");
+        sql.append("RECORD_STATUS_, ");
+        sql.append("DEPT_ID_, ");
+        sql.append("FOOD_VARIETY_, ");
+        sql.append("COMPLETE_TIME_ ");
+        sql.append("FROM ");
+        sql.append("d_inout_record ");
+        sql.append("WHERE ");
+        sql.append("COMPANY_ID_ =:companyId ");
+        sql.append("AND PROGRESS_ =:progress ");
+        sql.append("AND RECORD_STATUS_ <> :recordStatusDel ");
+        sql.append("AND DEPT_ID_ = :deptId ");
+        sql.append("AND COMPLETE_TIME_ < :start ");
+        sql.append("ORDER BY COMPLETE_TIME_ DESC ");
+        sql.append("LIMIT 9999 ");
+        sql.append(") AS a ");
+        sql.append("GROUP BY ");
+        sql.append("a.DEPOT_ID_ ");
 
-		args.put("deptId", deptId);
-		args.put("companyId", ContextUtil.getCompanyId());
-		args.put("progress", InoutConstant.PROGRESS_RECORD);
-		args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL);
-		// 鑾峰彇璺濈寮�濮嬫椂闂翠箙鏈�杩戠殑鏁版嵁锛屽綋鍓嶅ぉ鐨勭浜斿垎閽�
-		Date date = DateUtil.getCurZero(start);
-		args.put("start", DateUtils.addMinutes(date, 5));
+        args.put("deptId", deptId);
+        args.put("companyId", ContextUtil.getCompanyId());
+        args.put("progress", InoutConstant.PROGRESS_RECORD);
+        args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL);
+        // 鑾峰彇璺濈寮�濮嬫椂闂翠箙鏈�杩戠殑鏁版嵁锛屽綋鍓嶅ぉ鐨勭浜斿垎閽�
+        Date date = DateUtil.getCurZero(start);
+        args.put("start", DateUtils.addMinutes(date, 5));
 
-		log.debug("====鎵цSLQ2={}", sql.toString());
+        log.debug("====鎵цSLQ2={}", sql.toString());
 
-		List<ReportInoutStorageData> list1 = this
-				.getNamedParameterJdbcTemplate().query(sql.toString(), args,
-						new ReportInoutStorageRowMapper());
+        List<ReportInoutStorageData> list1 = this
+                .getNamedParameterJdbcTemplate().query(sql.toString(), args,
+                        new ReportInoutStorageRowMapper());
 
-		// 鑾峰彇鏈熸湯搴撳瓨锛岃幏鍙栬窛绂荤粨鏉熸椂闂存渶杩戠殑涓�鏉℃暟鎹�
-		sql = new StringBuffer();
-		args = new HashMap<>();
-		sql.append("SELECT ");
-		sql.append("DEPOT_ID_, ");
-		sql.append("SETTLE_WEIGHT_, ");
-		sql.append("TYPE_, ");
-		sql.append("CUR_STORAGE_, ");
-		sql.append("FOOD_VARIETY_, ");
-		sql.append("COMPLETE_TIME_ ");
-		sql.append("FROM ");
-		sql.append("( ");
-		sql.append("SELECT ");
-		sql.append("DEPOT_ID_, ");
-		sql.append("SETTLE_WEIGHT_, ");
-		sql.append("TYPE_, ");
-		sql.append("CUR_STORAGE_, ");
-		sql.append("COMPANY_ID_, ");
-		sql.append("PROGRESS_, ");
-		sql.append("RECORD_STATUS_, ");
-		sql.append("DEPT_ID_, ");
-		sql.append("FOOD_VARIETY_, ");
-		sql.append("COMPLETE_TIME_ ");
-		sql.append("FROM ");
-		sql.append("d_inout_record ");
-		sql.append("WHERE ");
-		sql.append("COMPANY_ID_ =:companyId ");
-		sql.append("AND PROGRESS_ =:progress ");
-		sql.append("AND RECORD_STATUS_ <> :recordStatusDel ");
-		sql.append("AND RECORD_STATUS_ <> :recordStatusError ");
-		sql.append("AND DEPT_ID_ = :deptId ");
-		sql.append("AND COMPLETE_TIME_ < :end ");
-		sql.append("ORDER BY COMPLETE_TIME_ DESC ");
-		sql.append("LIMIT 9999 ");
-		sql.append(") AS a ");
-		sql.append("GROUP BY ");
-		sql.append("a.DEPOT_ID_ ");
+        // 鑾峰彇鏈熸湯搴撳瓨锛岃幏鍙栬窛绂荤粨鏉熸椂闂存渶杩戠殑涓�鏉℃暟鎹�
+        sql = new StringBuffer();
+        args = new HashMap<>();
+        sql.append("SELECT ");
+        sql.append("DEPOT_ID_, ");
+        sql.append("SETTLE_WEIGHT_, ");
+        sql.append("TYPE_, ");
+        sql.append("CUR_STORAGE_, ");
+        sql.append("FOOD_VARIETY_, ");
+        sql.append("COMPLETE_TIME_ ");
+        sql.append("FROM ");
+        sql.append("( ");
+        sql.append("SELECT ");
+        sql.append("DEPOT_ID_, ");
+        sql.append("SETTLE_WEIGHT_, ");
+        sql.append("TYPE_, ");
+        sql.append("CUR_STORAGE_, ");
+        sql.append("COMPANY_ID_, ");
+        sql.append("PROGRESS_, ");
+        sql.append("RECORD_STATUS_, ");
+        sql.append("DEPT_ID_, ");
+        sql.append("FOOD_VARIETY_, ");
+        sql.append("COMPLETE_TIME_ ");
+        sql.append("FROM ");
+        sql.append("d_inout_record ");
+        sql.append("WHERE ");
+        sql.append("COMPANY_ID_ =:companyId ");
+        sql.append("AND PROGRESS_ =:progress ");
+        sql.append("AND RECORD_STATUS_ <> :recordStatusDel ");
+        sql.append("AND DEPT_ID_ = :deptId ");
+        sql.append("AND COMPLETE_TIME_ < :end ");
+        sql.append("ORDER BY COMPLETE_TIME_ DESC ");
+        sql.append("LIMIT 9999 ");
+        sql.append(") AS a ");
+        sql.append("GROUP BY ");
+        sql.append("a.DEPOT_ID_ ");
 
-		args.put("deptId", deptId);
-		args.put("companyId", ContextUtil.getCompanyId());
-		args.put("progress", InoutConstant.PROGRESS_RECORD);
-		args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL);
-		args.put("end", DateUtil.getNextZero(end));
+        args.put("deptId", deptId);
+        args.put("companyId", ContextUtil.getCompanyId());
+        args.put("progress", InoutConstant.PROGRESS_RECORD);
+        args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL);
+        args.put("end", DateUtil.getNextZero(end));
 
-		log.debug("====鎵цSLQ3={}", sql.toString());
+        log.debug("====鎵цSLQ3={}", sql.toString());
 
-		List<ReportInoutStorageData> list2 = this
-				.getNamedParameterJdbcTemplate().query(sql.toString(), args,
-						new ReportInoutStorageRowMapper());
+        List<ReportInoutStorageData> list2 = this
+                .getNamedParameterJdbcTemplate().query(sql.toString(), args,
+                        new ReportInoutStorageRowMapper());
 
-		return updateFoodVarietySum(data, list1, list2);
+        return updateFoodVarietySum(data, list1, list2);
 
-	}
+    }
 
-	@SuppressWarnings("unused")
-	private List<ReportInoutDepotData> updateFoodVarietySum(
-			List<ReportInoutDepotData> datas,
-			List<ReportInoutStorageData> list1,
-			List<ReportInoutStorageData> list2) {
+    @SuppressWarnings("unused")
+    private List<ReportInoutDepotData> updateFoodVarietySum(
+            List<ReportInoutDepotData> datas,
+            List<ReportInoutStorageData> list1,
+            List<ReportInoutStorageData> list2) {
 
-		// 璋冩暣鍒濇湡搴撳瓨
-		Map<String, Double> map1 = new HashMap<>();
-		if (null != list1) {
-			for (ReportInoutStorageData data : list1) {
-				if (null == map1.get(data.getFoodVariety())) {
-					map1.put(data.getFoodVariety(), 0.0);
-				}
-				double cqkc = data.getCurStorage();
-				if (InoutConstant.TYPE_IN.equals(data.getType())) {
-					cqkc = data.getCurStorage() + data.getSettleWeight();
-				}
-				if (InoutConstant.TYPE_OUT.equals(data.getType())) {
-					cqkc = data.getCurStorage() - data.getSettleWeight();
-				}
-				if (Constant.LOSS_OVER_OVER.equals(data.getType())) {
-					cqkc = data.getCurStorage() + data.getSettleWeight();
-				}
-				if (Constant.LOSS_OVER_LOSS.equals(data.getType())) {
-					cqkc = data.getCurStorage() - data.getSettleWeight();
-				}
-				map1.put(data.getFoodVariety(), map1.get(data.getFoodVariety())
-						+ cqkc);
-			}
-		}
+        // 璋冩暣鍒濇湡搴撳瓨
+        Map<String, Double> map1 = new HashMap<>();
+        if (null != list1) {
+            for (ReportInoutStorageData data : list1) {
+                if (null == map1.get(data.getFoodVariety())) {
+                    map1.put(data.getFoodVariety(), 0.0);
+                }
+                double cqkc = data.getCurStorage();
+                if (InoutConstant.TYPE_IN.equals(data.getType())) {
+                    cqkc = data.getCurStorage() + data.getSettleWeight();
+                }
+                if (InoutConstant.TYPE_OUT.equals(data.getType())) {
+                    cqkc = data.getCurStorage() - data.getSettleWeight();
+                }
+                if (Constant.LOSS_OVER_OVER.equals(data.getType())) {
+                    cqkc = data.getCurStorage() + data.getSettleWeight();
+                }
+                if (Constant.LOSS_OVER_LOSS.equals(data.getType())) {
+                    cqkc = data.getCurStorage() - data.getSettleWeight();
+                }
+                map1.put(data.getFoodVariety(), map1.get(data.getFoodVariety())
+                        + cqkc);
+            }
+        }
 
-		// 璋冩暣鏈熸湯搴撳瓨
-		Map<String, Double> map2 = new HashMap<String, Double>();
-		if (null != list2) {
-			Depot depot = null;
-			for (ReportInoutStorageData data : list2) {
-				if (null == map2.get(data.getFoodVariety())) {
-					map2.put(data.getFoodVariety(), 0.0);
-				}
-				double cmkc = data.getCurStorage();
-				if (InoutConstant.TYPE_IN.equals(data.getType())) {
-					cmkc = data.getCurStorage() + data.getSettleWeight();
-				}
-				if (InoutConstant.TYPE_OUT.equals(data.getType())) {
-					cmkc = data.getCurStorage() - data.getSettleWeight();
-				}
-				if (Constant.LOSS_OVER_OVER.equals(data.getType())) {
-					cmkc = data.getCurStorage() + data.getSettleWeight();
-				}
-				if (Constant.LOSS_OVER_LOSS.equals(data.getType())) {
-					cmkc = data.getCurStorage() - data.getSettleWeight();
-				}
-				map2.put(data.getFoodVariety(), map2.get(data.getFoodVariety())
-						+ cmkc);
-			}
-		}
+        // 璋冩暣鏈熸湯搴撳瓨
+        Map<String, Double> map2 = new HashMap<String, Double>();
+        if (null != list2) {
+            Depot depot = null;
+            for (ReportInoutStorageData data : list2) {
+                if (null == map2.get(data.getFoodVariety())) {
+                    map2.put(data.getFoodVariety(), 0.0);
+                }
+                double cmkc = data.getCurStorage();
+                if (InoutConstant.TYPE_IN.equals(data.getType())) {
+                    cmkc = data.getCurStorage() + data.getSettleWeight();
+                }
+                if (InoutConstant.TYPE_OUT.equals(data.getType())) {
+                    cmkc = data.getCurStorage() - data.getSettleWeight();
+                }
+                if (Constant.LOSS_OVER_OVER.equals(data.getType())) {
+                    cmkc = data.getCurStorage() + data.getSettleWeight();
+                }
+                if (Constant.LOSS_OVER_LOSS.equals(data.getType())) {
+                    cmkc = data.getCurStorage() - data.getSettleWeight();
+                }
+                map2.put(data.getFoodVariety(), map2.get(data.getFoodVariety())
+                        + cmkc);
+            }
+        }
 
-		//鍒ゆ柇鍒濇湡搴撳瓨绮绉嶇被鏁版槸鍚﹁窡鍑哄叆搴撶伯椋熺绫绘暟鐩哥瓑
-		if(datas.size() != map1.size()){
-			ReportInoutDepotData report;
-			for (String s : map1.keySet()) {
-				boolean flag = true;
-				for (ReportInoutDepotData data : datas) {
-					if(StringUtils.isNotEmpty(data.getFoodVariety()) && data.getFoodVariety().equals(s)){
-						flag = false;
-						break;
-					}
-				}
-				if (flag){
-					report = new ReportInoutDepotData();
-					report.setFoodType("NONE");
-					report.setFoodVariety(s);
-					report.setFoodVarietyName(FoodVariety.getMsg(s));
-					datas.add(report);
-				}
-			}
-		}
+        //鍒ゆ柇鍒濇湡搴撳瓨绮绉嶇被鏁版槸鍚﹁窡鍑哄叆搴撶伯椋熺绫绘暟鐩哥瓑
+        if (datas.size() != map1.size()) {
+            ReportInoutDepotData report;
+            for (String s : map1.keySet()) {
+                boolean flag = true;
+                for (ReportInoutDepotData data : datas) {
+                    if (StringUtils.isNotEmpty(data.getFoodVariety()) && data.getFoodVariety().equals(s)) {
+                        flag = false;
+                        break;
+                    }
+                }
+                if (flag) {
+                    report = new ReportInoutDepotData();
+                    report.setFoodType("NONE");
+                    report.setFoodVariety(s);
+                    report.setFoodVarietyName(FoodVariety.getMsg(s));
+                    datas.add(report);
+                }
+            }
+        }
 
-		if (null == datas || datas.isEmpty()){
-			return datas;
-		}
+        if (null == datas || datas.isEmpty()) {
+            return datas;
+        }
 
-		ReportInoutDepotData sum = new ReportInoutDepotData();
-		sum.setFoodVarietyName("鍚堣");
-		int index = 1;
-		for (ReportInoutDepotData data : datas) {
-			if(StringUtils.isNotEmpty(data.getFoodVariety())){
-				// 璁剧疆搴忓彿
-				data.setRemarks(String.valueOf(index));
-				index++;
-				data.setOutSum(data.getOutNum() + data.getLossNum());
-				data.setInSum(data.getInNum() + data.getOverNum());
+        ReportInoutDepotData sum = new ReportInoutDepotData();
+        sum.setFoodVarietyName("鍚堣");
+        int index = 1;
+        for (ReportInoutDepotData data : datas) {
+            if (StringUtils.isNotEmpty(data.getFoodVariety())) {
+                // 璁剧疆搴忓彿
+                data.setRemarks(String.valueOf(index));
+                index++;
+                data.setOutSum(data.getOutNum() + data.getLossNum());
+                data.setInSum(data.getInNum() + data.getOverNum());
 
-				// 璋冩暣鏈熸湯搴撳瓨鍜屾湡鍒濆簱瀛�
-				data.setCqkc(map1.get(data.getFoodVariety()) == null ? 0.0:map1.get(data.getFoodVariety()));
-				data.setQmkc(map2.get(data.getFoodVariety()) == null ? 0.0:map2.get(data.getFoodVariety()));
+                // 璋冩暣鏈熸湯搴撳瓨鍜屾湡鍒濆簱瀛�
+                data.setCqkc(map1.get(data.getFoodVariety()) == null ? 0.0 : map1.get(data.getFoodVariety()));
+                data.setQmkc(map2.get(data.getFoodVariety()) == null ? 0.0 : map2.get(data.getFoodVariety()));
 
-				// 鍒濇湡搴撳瓨
-				sum.setCqkc(sum.getCqkc() + data.getCqkc());
-				// 鏈熸湯搴撳瓨
-				sum.setQmkc(sum.getQmkc() + data.getQmkc());
-				sum.setInNum(sum.getInNum() + data.getInNum());
-				sum.setOutNum(sum.getOutNum() + data.getOutNum());
-				sum.setInSum(sum.getInSum() + data.getInSum());
-				sum.setOutSum(sum.getOutSum() + data.getOutSum());
-				sum.setLossNum(sum.getLossNum() + data.getLossNum());
-				sum.setOverNum(sum.getOverNum() + data.getOverNum());
-			}
-		}
-		datas.add(sum);
+                // 鍒濇湡搴撳瓨
+                sum.setCqkc(sum.getCqkc() + data.getCqkc());
+                // 鏈熸湯搴撳瓨
+                sum.setQmkc(sum.getQmkc() + data.getQmkc());
+                sum.setInNum(sum.getInNum() + data.getInNum());
+                sum.setOutNum(sum.getOutNum() + data.getOutNum());
+                sum.setInSum(sum.getInSum() + data.getInSum());
+                sum.setOutSum(sum.getOutSum() + data.getOutSum());
+                sum.setLossNum(sum.getLossNum() + data.getLossNum());
+                sum.setOverNum(sum.getOverNum() + data.getOverNum());
+            }
+        }
+        datas.add(sum);
 
-		return datas;
-	}
+        return datas;
+    }
 
-	public List<ReportInoutShipData> listShipDetail(Map<String, Object> parameter) {
+    public List<ReportInoutShipData> listShipDetail(Map<String, Object> parameter) {
 
-		// 鏃堕棿鏉′欢蹇呴』
-		Date start = (Date) parameter.get("start");
-		Date end = (Date) parameter.get("end");
-		if (start == null || end == null){
-			return null;
-		}
+        // 鏃堕棿鏉′欢蹇呴』
+        Date start = (Date) parameter.get("start");
+        Date end = (Date) parameter.get("end");
+        if (start == null || end == null) {
+            return null;
+        }
 
-		StringBuffer sql = new StringBuffer();
-		sql.append("SELECT ");
-		sql.append("ID_, ");
-		sql.append("PLATE_NUM_, ");
-		sql.append("CUSTOMER_ID_, ");
-		sql.append("CUSTOMER_NAME_, ");
-		sql.append("FOOD_VARIETY_, ");
-		sql.append("DEPOT_ID_, ");
-		sql.append("TYPE_, ");
-		sql.append("PROGRESS_, ");
-		sql.append("FULL_WEIGHT_, ");
-		sql.append("EMPTY_WEIGHT_, ");
-		sql.append("NET_WEIGHT_, ");
-		sql.append("DE_SUM_, ");
-		sql.append("SETTLE_WEIGHT_, ");
-		sql.append("COMPLETE_TIME_ ");
-		sql.append("FROM ");
-		sql.append("d_inout_record ");
-		sql.append("WHERE ");
-		sql.append("TRANS_TYPE_ =:transType ");
-		sql.append("AND RECORD_STATUS_ <> :recordStatusDel ");
-		sql.append("AND RECORD_STATUS_ <> :recordStatusError ");
-		sql.append("AND TYPE_ <> :typeNone ");
-		sql.append("AND TYPE_ <> :typeLoss ");
-		sql.append("AND TYPE_ <> :typeOver ");
-		sql.append("AND COMPANY_ID_ =:companyId ");
-		sql.append("AND REGISTER_TIME_ >= :start ");
-		sql.append("AND REGISTER_TIME_ <= :end ");
+        StringBuffer sql = new StringBuffer();
+        sql.append("SELECT ");
+        sql.append("ID_, ");
+        sql.append("PLATE_NUM_, ");
+        sql.append("CUSTOMER_ID_, ");
+        sql.append("CUSTOMER_NAME_, ");
+        sql.append("FOOD_VARIETY_, ");
+        sql.append("DEPOT_ID_, ");
+        sql.append("TYPE_, ");
+        sql.append("PROGRESS_, ");
+        sql.append("FULL_WEIGHT_, ");
+        sql.append("EMPTY_WEIGHT_, ");
+        sql.append("NET_WEIGHT_, ");
+        sql.append("DE_SUM_, ");
+        sql.append("SETTLE_WEIGHT_, ");
+        sql.append("COMPLETE_TIME_ ");
+        sql.append("FROM ");
+        sql.append("d_inout_record ");
+        sql.append("WHERE ");
+        sql.append("TRANS_TYPE_ =:transType ");
+        sql.append("AND RECORD_STATUS_ <> :recordStatusDel ");
+        sql.append("AND TYPE_ <> :typeNone ");
+        sql.append("AND TYPE_ <> :typeLoss ");
+        sql.append("AND TYPE_ <> :typeOver ");
+        sql.append("AND COMPANY_ID_ =:companyId ");
+        sql.append("AND REGISTER_TIME_ >= :start ");
+        sql.append("AND REGISTER_TIME_ <= :end ");
 
-		Map<String, Object> args = new HashMap<>();
-		args.put("transType", TransType.TYPE_3.getCode());
-		args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL);
-		args.put("typeNone", InoutConstant.TYPE_NONE);
-		args.put("typeLoss", Constant.LOSS_OVER_LOSS);
-		args.put("typeOver", Constant.LOSS_OVER_OVER);
-		args.put("companyId", ContextUtil.getCompanyId());
-		args.put("start", DateUtil.getCurZero(start));
-		args.put("end", DateUtil.getNextZero(end));
+        Map<String, Object> args = new HashMap<>();
+        args.put("transType", TransType.TYPE_3.getCode());
+        args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL);
+        args.put("typeNone", InoutConstant.TYPE_NONE);
+        args.put("typeLoss", Constant.LOSS_OVER_LOSS);
+        args.put("typeOver", Constant.LOSS_OVER_OVER);
+        args.put("companyId", ContextUtil.getCompanyId());
+        args.put("start", DateUtil.getCurZero(start));
+        args.put("end", DateUtil.getNextZero(end));
 
-		String str = (String) parameter.get("deptId");
-		if(StringUtils.isNotEmpty(str)){
-			sql.append("AND DEPT_ID_ =:deptId ");
-			args.put("deptId", str);
-		}
-		str = (String) parameter.get("type");
-		if(StringUtils.isNotEmpty(str)){
-			sql.append("AND TYPE_ =:type ");
-			args.put("type", str);
-		}
-		str = (String) parameter.get("customerId");
-		if(StringUtils.isNotEmpty(str)){
-			sql.append("AND CUSTOMER_ID_ =:customerId ");
-			args.put("customerId", str);
-		}
-		str = (String) parameter.get("plateNum");
-		if(StringUtils.isNotEmpty(str)){
-			sql.append("AND PLATE_NUM_ like:plateNum ");
-			args.put("plateNum", "%" + str + "%");
-		}
-		sql.append("ORDER BY ID_ DESC ");
+        String str = (String) parameter.get("deptId");
+        if (StringUtils.isNotEmpty(str)) {
+            sql.append("AND DEPT_ID_ =:deptId ");
+            args.put("deptId", str);
+        }
+        str = (String) parameter.get("type");
+        if (StringUtils.isNotEmpty(str)) {
+            sql.append("AND TYPE_ =:type ");
+            args.put("type", str);
+        }
+        str = (String) parameter.get("customerId");
+        if (StringUtils.isNotEmpty(str)) {
+            sql.append("AND CUSTOMER_ID_ =:customerId ");
+            args.put("customerId", str);
+        }
+        str = (String) parameter.get("plateNum");
+        if (StringUtils.isNotEmpty(str)) {
+            sql.append("AND PLATE_NUM_ like:plateNum ");
+            args.put("plateNum", "%" + str + "%");
+        }
+        sql.append("ORDER BY ID_ DESC ");
 
-		log.debug("====鎵цSLQ锛屾煡璇㈡祦姘翠富琛ㄤ俊鎭�={}锛屽弬鏁�={}", sql.toString(),args);
+        log.debug("====鎵цSLQ锛屾煡璇㈡祦姘翠富琛ㄤ俊鎭�={}锛屽弬鏁�={}", sql.toString(), args);
 
-		List<ReportInoutShipData> list1 = this.getNamedParameterJdbcTemplate().query(sql.toString(), args, new ReportInoutShipRowMapper1());
+        List<ReportInoutShipData> list1 = this.getNamedParameterJdbcTemplate().query(sql.toString(), args, new ReportInoutShipRowMapper1());
 
-		if (null == list1 || list1.isEmpty()){
-			return null;
-		}
-		String depotId = (String) parameter.get("depotId");
-		String carNum = (String) parameter.get("carNum");
-		List<ReportInoutShipData> list = new ArrayList<>();
-		List<ReportInoutShipData> list2;
-		int index = 1;
-		//鍚堣淇℃伅
-		ReportInoutShipData hj = new ReportInoutShipData();
-		hj.setId("鍚堣");
-		for (ReportInoutShipData shipData : list1) {
-			list2 = this.listShipRecordItem(shipData.getId(), depotId, carNum);
-			if(null == list2 || list2.isEmpty()){
-				continue;
-			}
-			if(!InoutConstant.PROGRESS_RECORD.equals(shipData.getProgress())){
-				//娴佺▼鏈畬鎴愶紝缁熻閲嶉噺淇℃伅
-				for (ReportInoutShipData shipItem : list2) {
-					shipData.setFullWeight(shipData.getFullWeight() + shipItem.getFullWeight());
-					shipData.setEmptyWeight(shipData.getEmptyWeight() + shipItem.getEmptyWeight());
-					shipData.setNetWeight(shipData.getNetWeight() + shipItem.getNetWeight());
-					shipData.setDeSum(shipData.getDeSum() + shipItem.getDeSum());
-					shipData.setSettleWeight(shipData.getSettleWeight() + shipItem.getSettleWeight());
-				}
-			}
+        if (null == list1 || list1.isEmpty()) {
+            return null;
+        }
+        String depotId = (String) parameter.get("depotId");
+        String carNum = (String) parameter.get("carNum");
+        List<ReportInoutShipData> list = new ArrayList<>();
+        List<ReportInoutShipData> list2;
+        int index = 1;
+        //鍚堣淇℃伅
+        ReportInoutShipData hj = new ReportInoutShipData();
+        hj.setId("鍚堣");
+        for (ReportInoutShipData shipData : list1) {
+            list2 = this.listShipRecordItem(shipData.getId(), depotId, carNum);
+            if (null == list2 || list2.isEmpty()) {
+                continue;
+            }
+            if (!InoutConstant.PROGRESS_RECORD.equals(shipData.getProgress())) {
+                //娴佺▼鏈畬鎴愶紝缁熻閲嶉噺淇℃伅
+                for (ReportInoutShipData shipItem : list2) {
+                    shipData.setFullWeight(shipData.getFullWeight() + shipItem.getFullWeight());
+                    shipData.setEmptyWeight(shipData.getEmptyWeight() + shipItem.getEmptyWeight());
+                    shipData.setNetWeight(shipData.getNetWeight() + shipItem.getNetWeight());
+                    shipData.setDeSum(shipData.getDeSum() + shipItem.getDeSum());
+                    shipData.setSettleWeight(shipData.getSettleWeight() + shipItem.getSettleWeight());
+                }
+            }
 
-			list.addAll(list2);
-			shipData.setIndex(index + "");
-			list.add(shipData);
-			index ++;
+            list.addAll(list2);
+            shipData.setIndex(index + "");
+            list.add(shipData);
+            index++;
 
-			//缁熻鍚堣淇℃伅
-			hj.setFullWeight(hj.getFullWeight() + shipData.getFullWeight());
-			hj.setEmptyWeight(hj.getEmptyWeight() + shipData.getEmptyWeight());
-			hj.setNetWeight(hj.getNetWeight() + shipData.getNetWeight());
-			hj.setDeSum(hj.getDeSum() + shipData.getDeSum());
-			hj.setSettleWeight(hj.getSettleWeight() + shipData.getSettleWeight());
-		}
-		list.add(hj);
-		return list;
-	}
+            //缁熻鍚堣淇℃伅
+            hj.setFullWeight(hj.getFullWeight() + shipData.getFullWeight());
+            hj.setEmptyWeight(hj.getEmptyWeight() + shipData.getEmptyWeight());
+            hj.setNetWeight(hj.getNetWeight() + shipData.getNetWeight());
+            hj.setDeSum(hj.getDeSum() + shipData.getDeSum());
+            hj.setSettleWeight(hj.getSettleWeight() + shipData.getSettleWeight());
+        }
+        list.add(hj);
+        return list;
+    }
 
-	public List<ReportInoutShipData> listShipRecordItem(String recordId, String depotId, String carNum) {
+    public List<ReportInoutShipData> listShipRecordItem(String recordId, String depotId, String carNum) {
 
-		if (StringUtils.isEmpty(recordId)){
-			return null;
-		}
+        if (StringUtils.isEmpty(recordId)) {
+            return null;
+        }
 
-		StringBuffer sql = new StringBuffer();
-		sql.append("SELECT ");
-		sql.append("DEPOT_ID_, ");
-		sql.append("CAR_NUM_, ");
-		sql.append("CAR_NAME_, ");
-		sql.append("TYPE_, ");
-		sql.append("PROGRESS_, ");
-		sql.append("FULL_WEIGHT_, ");
-		sql.append("EMPTY_WEIGHT_, ");
-		sql.append("NET_WEIGHT_, ");
-		sql.append("DE_, ");
-		sql.append("SETTLE_WEIGHT_, ");
-		sql.append("CREATE_TIME_ AS COMPLETE_TIME_ ");
-		sql.append("FROM ");
-		sql.append("d_inout_record_item ");
-		sql.append("WHERE RECORD_STATUS_ <> :recordStatusDel ");
-		sql.append("AND PROGRESS_ =:progressRecord ");
-		Map<String, Object> args = new HashMap<>();
-		args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL);
-		args.put("progressRecord", InoutConstant.PROGRESS_RECORD);
-		if(StringUtils.isNotEmpty(recordId)){
-			sql.append("AND RECORD_ID_ =:recordId ");
-			args.put("recordId", recordId);
-		}
-		if(StringUtils.isNotEmpty(depotId)){
-			sql.append("AND DEPOT_ID_ =:depotId ");
-			args.put("depotId", depotId);
-		}
-		if(StringUtils.isNotEmpty(carNum)){
-			sql.append("AND CAR_NUM_ like:carNum ");
-			args.put("carNum", "%" + carNum + "%");
-		}
-		sql.append("ORDER BY CREATE_TIME_ ASC ");
-		log.debug("====鎵цSLQ1={}锛屽弬鏁�={}", sql.toString(),args);
+        StringBuffer sql = new StringBuffer();
+        sql.append("SELECT ");
+        sql.append("DEPOT_ID_, ");
+        sql.append("CAR_NUM_, ");
+        sql.append("CAR_NAME_, ");
+        sql.append("TYPE_, ");
+        sql.append("PROGRESS_, ");
+        sql.append("FULL_WEIGHT_, ");
+        sql.append("EMPTY_WEIGHT_, ");
+        sql.append("NET_WEIGHT_, ");
+        sql.append("DE_, ");
+        sql.append("SETTLE_WEIGHT_, ");
+        sql.append("CREATE_TIME_ AS COMPLETE_TIME_ ");
+        sql.append("FROM ");
+        sql.append("d_inout_record_item ");
+        sql.append("WHERE RECORD_STATUS_ <> :recordStatusDel ");
+        sql.append("AND PROGRESS_ =:progressRecord ");
+        Map<String, Object> args = new HashMap<>();
+        args.put("recordStatusDel", InoutConstant.RECORD_STATUS_DEL);
+        args.put("progressRecord", InoutConstant.PROGRESS_RECORD);
+        if (StringUtils.isNotEmpty(recordId)) {
+            sql.append("AND RECORD_ID_ =:recordId ");
+            args.put("recordId", recordId);
+        }
+        if (StringUtils.isNotEmpty(depotId)) {
+            sql.append("AND DEPOT_ID_ =:depotId ");
+            args.put("depotId", depotId);
+        }
+        if (StringUtils.isNotEmpty(carNum)) {
+            sql.append("AND CAR_NUM_ like:carNum ");
+            args.put("carNum", "%" + carNum + "%");
+        }
+        sql.append("ORDER BY CREATE_TIME_ ASC ");
+        log.debug("====鎵цSLQ1={}锛屽弬鏁�={}", sql.toString(), args);
 
-		List<ReportInoutShipData> data = this.getNamedParameterJdbcTemplate()
-				.query(sql.toString(), args, new ReportInoutShipRowMapper2());
+        List<ReportInoutShipData> data = this.getNamedParameterJdbcTemplate()
+                .query(sql.toString(), args, new ReportInoutShipRowMapper2());
 
-		return data;
-	}
+        return data;
+    }
 }
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/view/InoutReportPR.java b/igds-inout/src/main/java/com/ld/igds/inout/view/InoutReportPR.java
index ab3831e..6ac1dd2 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/view/InoutReportPR.java
+++ b/igds-inout/src/main/java/com/ld/igds/inout/view/InoutReportPR.java
@@ -19,237 +19,242 @@
 import com.ld.igds.util.DateUtil;
 
 /**
- * 
  * @author: andy.jia
  * @description:
  * @version:
  * @data:2020骞�3鏈�13鏃�
- *
  */
 @Component
 public class InoutReportPR {
 
-	@Autowired
-	private HInoutReportService hiberReportService;
-	@Autowired
-	private JInoutReportService jdbcReportService;
-	@Autowired
-	private SysDeptService sysDeptService;
+    @Autowired
+    private HInoutReportService hiberReportService;
+    @Autowired
+    private JInoutReportService jdbcReportService;
+    @Autowired
+    private SysDeptService sysDeptService;
 
-	/**
-	 * inoutReportPR#getQuery 鏍规嵁鎶ヨ〃绫诲瀷锛岃幏鍙栭粯璁ゆ煡璇俊鎭紝姣斿琛ㄥご淇℃伅绛�
-	 *
-	 * @param
-	 * @return
-	 */
-	@DataProvider
-	public Map<String, Object> getQuery(Map<String, Object> param) {
-		Map<String, Object> result = new HashMap<String, Object>();
-		//鑾峰彇鍙傛暟涓姤琛ㄧ被鍨�
-		String type = (String)param.get("type");
-		//鑾峰彇鍙傛暟涓垎搴撶紪鐮�
-		String deptId = (String)param.get("deptId");
-		//鑾峰彇鍒嗗簱缂栫爜瀵瑰簲鐨勫垎搴撳悕绉�
-		String deptName = "";
-		List<DefaultDept> defaultDepts = sysDeptService.getCacheDept(ContextUtil.getCompanyId());
-		for (DefaultDept defaultDept : defaultDepts) {
-			if(defaultDept.getId().equals(deptId)){
-				deptName = defaultDept.getName();
-			}
-		}
-		if ("INOUT_DETAIL".equals(type)) {
-			result.put("title", "鍑哄叆搴撴槑缁嗘眹鎬�");
-			if (StringUtils.isNotEmpty(deptName)) {
-				result.put("title", deptName + "鍑哄叆搴撴槑缁嗘眹鎬�");
-				result.put("deptId", deptId);
-			}
+    /**
+     * inoutReportPR#getQuery 鏍规嵁鎶ヨ〃绫诲瀷锛岃幏鍙栭粯璁ゆ煡璇俊鎭紝姣斿琛ㄥご淇℃伅绛�
+     *
+     * @param
+     * @return
+     */
+    @DataProvider
+    public Map<String, Object> getQuery(Map<String, Object> param) {
+        Map<String, Object> result = new HashMap<String, Object>();
+        //鑾峰彇鍙傛暟涓姤琛ㄧ被鍨�
+        String type = (String) param.get("type");
+        //鑾峰彇鍙傛暟涓垎搴撶紪鐮�
+        String deptId = (String) param.get("deptId");
+        //鑾峰彇鍒嗗簱缂栫爜瀵瑰簲鐨勫垎搴撳悕绉�
+        String deptName = "";
+        List<DefaultDept> defaultDepts = sysDeptService.getCacheDept(ContextUtil.getCompanyId());
+        for (DefaultDept defaultDept : defaultDepts) {
+            if (defaultDept.getId().equals(deptId)) {
+                deptName = defaultDept.getName();
+            }
+        }
+        if ("INOUT_DETAIL".equals(type)) {
+            result.put("title", "鍑哄叆搴撴槑缁嗘眹鎬�");
+            if (StringUtils.isNotEmpty(deptName)) {
+                result.put("title", deptName + "鍑哄叆搴撴槑缁嗘眹鎬�");
+                result.put("deptId", deptId);
+            }
 
-			result.put("unit", "鍗冨厠锛圞G锛�");
-			result.put("end", new Date());
-			Date start = DateUtil.getNewByDay(new Date(), -30);
-			result.put("start", start);
+            result.put("unit", "鍗冨厠锛圞G锛�");
+            result.put("end", new Date());
+            Date start = DateUtil.getNewByDay(new Date(), -30);
+            result.put("start", start);
 
-			result.put("timeDesc",
-					DateFormatUtils.format(start, "yyyy-MM-dd") + "   鎴嚦锛�"
-							+ DateFormatUtils.format(new Date(), "yyyy-MM-dd"));
-		}
+            result.put("timeDesc",
+                    DateFormatUtils.format(start, "yyyy-MM-dd") + "   鎴嚦锛�"
+                            + DateFormatUtils.format(new Date(), "yyyy-MM-dd"));
+        }
 
-		/**
-		 * 姣忔棩鍑哄簱缁熻
-		 */
-		if ("OUT_DAY".equals(type)) {
-			result.put("title", "姣忔棩鍑哄簱姹囨��");
-			if (StringUtils.isNotEmpty(deptName)) {
-				result.put("title", deptName + "姣忔棩鍑哄簱姹囨��");
-				result.put("deptId", deptId);
-			}
+        /**
+         * 姣忔棩鍑哄簱缁熻
+         */
+        if ("OUT_DAY".equals(type)) {
+            result.put("title", "姣忔棩鍑哄簱姹囨��");
+            if (StringUtils.isNotEmpty(deptName)) {
+                result.put("title", deptName + "姣忔棩鍑哄簱姹囨��");
+                result.put("deptId", deptId);
+            }
 
-			result.put("unit", "鍗冨厠锛圞G锛�");
-			result.put("day", new Date());
-			result.put("timeDesc",
-					DateFormatUtils.format(new Date(), "yyyy-MM-dd"));
-			result.put("type", InoutConstant.TYPE_OUT);
-		}
+            result.put("unit", "鍗冨厠锛圞G锛�");
+            result.put("day", new Date());
+            result.put("timeDesc",
+                    DateFormatUtils.format(new Date(), "yyyy-MM-dd"));
+            result.put("type", InoutConstant.TYPE_OUT);
+        }
 
-		/**
-		 * 姣忔棩鍏ュ簱姹囨�荤粺璁�
-		 */
-		if ("IN_DAY".equals(type)) {
-			result.put("title", "姣忔棩鍏ュ簱姹囨��");
-			if (StringUtils.isNotEmpty(deptName)) {
-				result.put("title", deptName + "姣忔棩鍏ュ簱姹囨��");
-				result.put("deptId", deptId);
-			}
+        /**
+         * 姣忔棩鍏ュ簱姹囨�荤粺璁�
+         */
+        if ("IN_DAY".equals(type)) {
+            result.put("title", "姣忔棩鍏ュ簱姹囨��");
+            if (StringUtils.isNotEmpty(deptName)) {
+                result.put("title", deptName + "姣忔棩鍏ュ簱姹囨��");
+                result.put("deptId", deptId);
+            }
 
-			result.put("unit", "鍗冨厠锛圞G锛�");
-			result.put("day", new Date());
-			result.put("timeDesc",
-					DateFormatUtils.format(new Date(), "yyyy-MM-dd"));
-			result.put("type", InoutConstant.TYPE_IN);
-		}
-		/**
-		 * 鍒嗕粨鏀舵敮瀛�
-		 */
-		if ("INOUTDEPOT".equals(type)) {
-			result.put("title", "鍒嗕粨绮补鏀舵敮瀛�");
-			if (StringUtils.isNotEmpty(deptName)) {
-				result.put("title", deptName + "鍒嗕粨绮补鏀舵敮瀛�");
-				result.put("deptId", deptId);
-			}
-			result.put("end", new Date());
-			Date start = DateUtil.getNewByDay(new Date(), -30);
-			result.put("start", start);
+            result.put("unit", "鍗冨厠锛圞G锛�");
+            result.put("day", new Date());
+            result.put("timeDesc",
+                    DateFormatUtils.format(new Date(), "yyyy-MM-dd"));
+            result.put("type", InoutConstant.TYPE_IN);
+        }
+        /**
+         * 鍒嗕粨鏀舵敮瀛�
+         */
+        if ("INOUTDEPOT".equals(type)) {
+            result.put("title", "鍒嗕粨绮补鏀舵敮瀛�");
+            if (StringUtils.isNotEmpty(deptName)) {
+                result.put("title", deptName + "鍒嗕粨绮补鏀舵敮瀛�");
+                result.put("deptId", deptId);
+            }
+            result.put("end", new Date());
+            Date start = DateUtil.getNewByDay(new Date(), -30);
+            result.put("start", start);
 
-			result.put("timeDesc",
-					DateFormatUtils.format(start, "yyyy-MM-dd") + "   鎴嚦锛�"
-							+ DateFormatUtils.format(new Date(), "yyyy-MM-dd"));
-			result.put("unit", "鍗冨厠锛圞G锛�");
-		}
-		/**
-		 * 鍒嗗搧绉嶆敹鏀瓨
-		 */
-		if ("INOUTFOODVARIETY".equals(type)) {
-			result.put("title", "鍒嗗搧绉嶇伯娌规敹鏀瓨");
-			if (StringUtils.isNotEmpty(deptName)) {
-				result.put("title", deptName + "鍒嗗搧绉嶇伯娌规敹鏀瓨");
-				result.put("deptId", deptId);
-			}
-			result.put("end", new Date());
-			Date start = DateUtil.getNewByDay(new Date(), -30);
-			result.put("start", start);
+            result.put("timeDesc",
+                    DateFormatUtils.format(start, "yyyy-MM-dd") + "   鎴嚦锛�"
+                            + DateFormatUtils.format(new Date(), "yyyy-MM-dd"));
+            result.put("unit", "鍗冨厠锛圞G锛�");
+        }
+        /**
+         * 鍒嗗搧绉嶆敹鏀瓨
+         */
+        if ("INOUTFOODVARIETY".equals(type)) {
+            result.put("title", "鍒嗗搧绉嶇伯娌规敹鏀瓨");
+            if (StringUtils.isNotEmpty(deptName)) {
+                result.put("title", deptName + "鍒嗗搧绉嶇伯娌规敹鏀瓨");
+                result.put("deptId", deptId);
+            }
+            result.put("end", new Date());
+            Date start = DateUtil.getNewByDay(new Date(), -30);
+            result.put("start", start);
 
-			result.put("timeDesc",
-					DateFormatUtils.format(start, "yyyy-MM-dd") + "   鎴嚦锛�"
-							+ DateFormatUtils.format(new Date(), "yyyy-MM-dd"));
-			result.put("unit", "鍗冨厠锛圞G锛�");
-		}
-		if ("INOUT_SHIP_DETAIL".equals(type)) {
-			result.put("title", "鑸硅繍鏄庣粏姹囨��");
-			if (StringUtils.isNotEmpty(deptName)) {
-				result.put("title", deptName + "鑸硅繍鏄庣粏姹囨��");
-				result.put("deptId", deptId);
-			}
+            result.put("timeDesc",
+                    DateFormatUtils.format(start, "yyyy-MM-dd") + "   鎴嚦锛�"
+                            + DateFormatUtils.format(new Date(), "yyyy-MM-dd"));
+            result.put("unit", "鍗冨厠锛圞G锛�");
+        }
+        if ("INOUT_SHIP_DETAIL".equals(type)) {
+            result.put("title", "鑸硅繍鏄庣粏姹囨��");
+            if (StringUtils.isNotEmpty(deptName)) {
+                result.put("title", deptName + "鑸硅繍鏄庣粏姹囨��");
+                result.put("deptId", deptId);
+            }
 
-			result.put("unit", "鍗冨厠锛圞G锛�");
-			result.put("end", new Date());
-			Date start = DateUtil.getNewByDay(new Date(), -30);
-			result.put("start", start);
+            result.put("unit", "鍗冨厠锛圞G锛�");
+            result.put("end", new Date());
+            Date start = DateUtil.getNewByDay(new Date(), -30);
+            result.put("start", start);
 
-			result.put("timeDesc",
-					DateFormatUtils.format(start, "yyyy-MM-dd") + "   鎴嚦锛�"
-							+ DateFormatUtils.format(new Date(), "yyyy-MM-dd"));
-		}
-		return result;
-	}
+            result.put("timeDesc",
+                    DateFormatUtils.format(start, "yyyy-MM-dd") + "   鎴嚦锛�"
+                            + DateFormatUtils.format(new Date(), "yyyy-MM-dd"));
+        }
+        return result;
+    }
 
-	/**
-	 * 鍑哄叆搴撴眹鎬昏〃
-	 * inoutReportPR#listRecord 鎶ヨ〃鏁版嵁锛屽彧鑾峰彇宸茬粡瀹屾垚鐨勶紝骞朵笖闈炲紓甯告暟鎹拰鍒犻櫎鏁版嵁
-	 * 
-	 * @param param
-	 * @return
-	 */
-	@DataProvider
-	public List<InoutRecord> listRecord(Map<String, Object> param)
-			throws Exception {
+    /**
+     * 鍑哄叆搴撴眹鎬昏〃
+     * inoutReportPR#listRecord 鎶ヨ〃鏁版嵁锛屽彧鑾峰彇宸茬粡瀹屾垚鐨勶紝骞朵笖闈炲紓甯告暟鎹拰鍒犻櫎鏁版嵁
+     *
+     * @param param
+     * @return
+     */
+    @DataProvider
+    public List<InoutRecord> listRecord(Map<String, Object> param)
+            throws Exception {
 
-		if (null == param) {
-			param = new HashMap<String, Object>();
-			param.put("progress", InoutConstant.PROGRESS_RECORD);
-		}
+        if (null == param) {
+            param = new HashMap<String, Object>();
+            param.put("progress", InoutConstant.PROGRESS_RECORD);
+        }
 
-		List<InoutRecord> result = hiberReportService.listRecord(param);
-		if (null == result || result.isEmpty())
-			return result;
+        List<InoutRecord> result = hiberReportService.listRecord(param);
+        if (null == result || result.isEmpty())
+            return result;
 
-		// 娣诲姞缁熻淇℃伅
-		double emptyWeightSum = 0.0, fullWeightSum = 0.0, deWetSum = 0.0, deImpuritySum = 0.0, deHandleSum = 0.0,  deOtherSum = 0.0, deSumSum = 0.0, netWeightSum = 0.0, settleWeightSum = 0.0;
-		int index = 1;
-		for (InoutRecord record : result) {
-			record.setRemarks(String.valueOf(index));
-			emptyWeightSum += record.getEmptyWeight();
-			fullWeightSum += record.getFullWeight();
+        // 娣诲姞缁熻淇℃伅
+        double emptyWeightSum = 0.0, fullWeightSum = 0.0, deCheck = 0.0, addCheck = 0.0, deWetSum = 0.0, deImpuritySum = 0.0, deHandleSum = 0.0, deOtherSum = 0.0, deSumSum = 0.0, netWeightSum = 0.0, settleWeightSum = 0.0;
+        int index = 1;
+        for (InoutRecord record : result) {
+            record.setRemarks(String.valueOf(index));
+            emptyWeightSum += record.getEmptyWeight();
+            fullWeightSum += record.getFullWeight();
+            deCheck += record.getDeCheck();
+            addCheck += record.getAddCheck();
 //			deWetSum += record.getDeWet();
 //			deImpuritySum += record.getDeImpurity();
-			deHandleSum += record.getDeHandle();
-			deOtherSum += record.getDeOther();
-		//	deSumSum += record.getDeSum();
-			netWeightSum += record.getNetWeight();
-			settleWeightSum += record.getSettleWeight();
-			index ++;
-		}
-		InoutRecord sum = new InoutRecord();
-		sum.setId("鍚堣");
-		sum.setEmptyWeight(emptyWeightSum);
-		sum.setFullWeight(fullWeightSum);
+            deHandleSum += record.getDeHandle();
+            deOtherSum += record.getDeOther();
+            //	deSumSum += record.getDeSum();
+            netWeightSum += record.getNetWeight();
+            settleWeightSum += record.getSettleWeight();
+            index++;
+        }
+        InoutRecord sum = new InoutRecord();
+        sum.setId("鍚堣");
+        sum.setEmptyWeight(emptyWeightSum);
+        sum.setFullWeight(fullWeightSum);
+        sum.setAddCheck(addCheck);
+        sum.setDeCheck(deCheck);
 //		sum.setDeWet(deWetSum);
 //		sum.setDeImpurity(deImpuritySum);
-		sum.setDeHandle(deHandleSum);
-		sum.setDeOther(deOtherSum);
-	//	sum.setDeSum(deSumSum);
-		sum.setNetWeight(netWeightSum);
-		sum.setSettleWeight(settleWeightSum);
-		result.add(sum);
-		
-		return result;
-	}
+        sum.setDeHandle(deHandleSum);
+        sum.setDeOther(deOtherSum);
+        //	sum.setDeSum(deSumSum);
+        sum.setNetWeight(netWeightSum);
+        sum.setSettleWeight(settleWeightSum);
+        result.add(sum);
 
-	/**
-	 * inoutReportPR#inoutDepotData 鍒嗕粨绮补鏀舵敮瀛�
-	 * @param param
-	 * @return
-	 */
-	@DataProvider
-	public List<ReportInoutDepotData> inoutDepotData(Map<String, Object> param)throws Exception {
-		List<ReportInoutDepotData> result = jdbcReportService.getInoutDepotData(param);
-		return result;
-	}
-	/**
-	 * inoutReportPR#inoutFoodVarietyData 鍒嗗搧绉嶇伯娌规敹鏀瓨
-	 * @param param
-	 * @return
-	 */
-	@DataProvider
-	public List<ReportInoutDepotData> inoutFoodVarietyData(Map<String, Object> param)
-			throws Exception {
-		List<ReportInoutDepotData> result = jdbcReportService.getFoodVarietyData(param);
-		return result;
-	}
+        return result;
+    }
 
-	/**
-	 * 鑸硅繍鏄庣粏姹囨��
-	 * inoutReportPR#listShipDetail
-	 *
-	 * @param param
-	 * @return
-	 */
-	@DataProvider
-	public List<ReportInoutShipData> listShipDetail(Map<String, Object> param) throws Exception {
+    /**
+     * inoutReportPR#inoutDepotData 鍒嗕粨绮补鏀舵敮瀛�
+     *
+     * @param param
+     * @return
+     */
+    @DataProvider
+    public List<ReportInoutDepotData> inoutDepotData(Map<String, Object> param) throws Exception {
+        List<ReportInoutDepotData> result = jdbcReportService.getInoutDepotData(param);
+        return result;
+    }
 
-		if (null == param) {
-			param = new HashMap<String, Object>();
-		}
+    /**
+     * inoutReportPR#inoutFoodVarietyData 鍒嗗搧绉嶇伯娌规敹鏀瓨
+     *
+     * @param param
+     * @return
+     */
+    @DataProvider
+    public List<ReportInoutDepotData> inoutFoodVarietyData(Map<String, Object> param)
+            throws Exception {
+        List<ReportInoutDepotData> result = jdbcReportService.getFoodVarietyData(param);
+        return result;
+    }
 
-		return jdbcReportService.listShipDetail(param);
-	}
+    /**
+     * 鑸硅繍鏄庣粏姹囨��
+     * inoutReportPR#listShipDetail
+     *
+     * @param param
+     * @return
+     */
+    @DataProvider
+    public List<ReportInoutShipData> listShipDetail(Map<String, Object> param) throws Exception {
+
+        if (null == param) {
+            param = new HashMap<String, Object>();
+        }
+
+        return jdbcReportService.listShipDetail(param);
+    }
 }
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/view/ReportInDay.view.xml b/igds-inout/src/main/java/com/ld/igds/inout/view/ReportInDay.view.xml
index 8fa04c2..faa1f53 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/view/ReportInDay.view.xml
+++ b/igds-inout/src/main/java/com/ld/igds/inout/view/ReportInDay.view.xml
@@ -251,6 +251,18 @@
           <Property name="width">100</Property>
           <Property name="align">center</Property>
         </DataColumn>
+        <DataColumn>
+          <Property name="align">center</Property>
+          <Property name="name">addCheck</Property>
+          <Property name="property">addCheck</Property>
+          <Editor/>
+        </DataColumn>
+        <DataColumn>
+          <Property name="align">center</Property>
+          <Property name="name">deCheck</Property>
+          <Property name="property">deCheck</Property>
+          <Editor/>
+        </DataColumn>
         <DataColumn name="fullWeight">
           <Property name="property">fullWeight</Property>
           <Property name="caption">姣涢噸</Property>
@@ -265,21 +277,16 @@
           <Property name="property">netWeight</Property>
           <Property name="align">center</Property>
         </DataColumn>
-        <DataColumn name="deWet">
-          <Property name="property">deWet</Property>
-          <Property name="caption">姘村垎</Property>
-          <Property name="align">center</Property>
-        </DataColumn>
-        <DataColumn>
-          <Property name="property">deSum</Property>
-          <Property name="align">center</Property>
-          <Property name="name">deSum</Property>
-        </DataColumn>
         <DataColumn name="settleWeight">
           <Property name="property">settleWeight</Property>
           <Property name="caption">缁撶畻閲嶉噺</Property>
           <Property name="align">center</Property>
         </DataColumn>
+        <DataColumn>
+          <Property name="property">completeTime</Property>
+          <Property name="align">center</Property>
+          <Property name="name">completeTime</Property>
+        </DataColumn>
       </DataGrid>
     </Container>
     <Export2ReportAction id="exportExcel">
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/view/ReportInoutDetail.view.xml b/igds-inout/src/main/java/com/ld/igds/inout/view/ReportInoutDetail.view.xml
index babae32..784f6c1 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/view/ReportInoutDetail.view.xml
+++ b/igds-inout/src/main/java/com/ld/igds/inout/view/ReportInoutDetail.view.xml
@@ -41,8 +41,8 @@
           <Property name="mapValues">
             <Collection>
               <Entity>
-                <Property name="name"/>
-                <Property name="value"/>
+                <Property name="name"></Property>
+                <Property name="value"></Property>
               </Entity>
               <Entity>
                 <Property name="name">鍑哄簱</Property>
@@ -306,21 +306,16 @@
           <Property name="property">netWeight</Property>
           <Property name="align">center</Property>
         </DataColumn>
-        <DataColumn>
-          <Property name="property">deSum</Property>
-          <Property name="align">center</Property>
-          <Property name="name">deSum</Property>
-        </DataColumn>
-        <DataColumn name="deWet">
-          <Property name="property">deWet</Property>
-          <Property name="caption">姘村垎</Property>
-          <Property name="align">center</Property>
-        </DataColumn>
         <DataColumn name="settleWeight">
           <Property name="property">settleWeight</Property>
           <Property name="caption">缁撶畻閲嶉噺</Property>
           <Property name="align">center</Property>
         </DataColumn>
+        <DataColumn>
+          <Property name="property">completeTime</Property>
+          <Property name="align">center</Property>
+          <Property name="name">completeTime</Property>
+        </DataColumn>
       </DataGrid>
     </Container>
     <Export2ReportAction id="exportExcel">
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/view/ReportOutDay.view.xml b/igds-inout/src/main/java/com/ld/igds/inout/view/ReportOutDay.view.xml
index b753b93..9609b61 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/view/ReportOutDay.view.xml
+++ b/igds-inout/src/main/java/com/ld/igds/inout/view/ReportOutDay.view.xml
@@ -251,6 +251,18 @@
           <Property name="width">100</Property>
           <Property name="align">center</Property>
         </DataColumn>
+        <DataColumn>
+          <Property name="align">center</Property>
+          <Property name="name">addCheck</Property>
+          <Property name="property">addCheck</Property>
+          <Editor/>
+        </DataColumn>
+        <DataColumn>
+          <Property name="align">center</Property>
+          <Property name="name">deCheck</Property>
+          <Property name="property">deCheck</Property>
+          <Editor/>
+        </DataColumn>
         <DataColumn name="fullWeight">
           <Property name="property">fullWeight</Property>
           <Property name="caption">姣涢噸</Property>
@@ -265,21 +277,16 @@
           <Property name="property">netWeight</Property>
           <Property name="align">center</Property>
         </DataColumn>
-        <DataColumn name="deWet">
-          <Property name="property">deWet</Property>
-          <Property name="caption">姘村垎</Property>
-          <Property name="align">center</Property>
-        </DataColumn>
-        <DataColumn>
-          <Property name="property">deSum</Property>
-          <Property name="align">center</Property>
-          <Property name="name">deSum</Property>
-        </DataColumn>
         <DataColumn name="settleWeight">
           <Property name="property">settleWeight</Property>
           <Property name="caption">缁撶畻閲嶉噺</Property>
           <Property name="align">center</Property>
         </DataColumn>
+        <DataColumn>
+          <Property name="property">completeTime</Property>
+          <Property name="align">center</Property>
+          <Property name="name">completeTime</Property>
+        </DataColumn>
       </DataGrid>
     </Container>
     <Export2ReportAction id="exportExcel">
diff --git a/igds-web/src/main/resources/templates/test/qualityReport02.html b/igds-web/src/main/resources/templates/test/qualityReport02.html
index 58b24d3..0349546 100644
--- a/igds-web/src/main/resources/templates/test/qualityReport02.html
+++ b/igds-web/src/main/resources/templates/test/qualityReport02.html
@@ -102,40 +102,35 @@
         <td>bgcjsj</td>
     </tr>
     <tr>
-        <td rowspan="7">璐ㄦ缁撴灉</td>
-        <td rowspan="4">璐ㄩ噺鎸囨爣妫�楠�</td>
+        <td rowspan="6">璐ㄦ缁撴灉</td>
+        <td rowspan="3">璐ㄩ噺鎸囨爣妫�楠�</td>
         <td>鍝佺</td>
         <td>foodVariety</td>
-        <td>鍑虹硻鐜囷紙%锛�</td>
-        <td>rough</td>
+        <td>瀹归噸锛坓/L锛�</td>
+        <td>bulkWeight</td>
         <td>绛夌骇</td>
         <td>foodLevel</td>
     </tr>
     <tr>
-        <td>鏁寸簿绫崇巼锛�%锛�</td>
-        <td>C10_ST</td>
+        <td>鑹叉辰銆佹皵鍛�</td>
+        <td>C16_ST</td>
         <td>鏉傝川锛�%锛�</td>
         <td>C02_ST</td>
         <td>姘村垎锛�%锛�</td>
         <td>c_perWet</td>
     </tr>
     <tr>
-        <td>榛勭矑绫筹紙%锛�</td>
-        <td>C11_ST</td>
-        <td>璋峰绯欑背锛�%锛�</td>
-        <td>C12_ST</td>
-        <td>鑹叉辰銆佹皵鍛�</td>
-        <td>C16_ST</td>
-    </tr>
-    <tr>
-        <td>浜掓贩鐜囷紙%锛�</td>
-        <td>C13_ST</td>
-        <td colspan="4"></td>
+        <td>涓嶅畬鍠勭矑锛�%锛�</td>
+        <td>C04_ST</td>
+        <td>鐢熻娊绮掞紙%锛�</td>
+        <td>C05_ST</td>
+        <td>鐢熼湁绮掞紙%锛�</td>
+        <td>C06_ST</td>
     </tr>
     <tr>
         <td>鍌ㄥ瓨鍝佽川妫�楠�</td>
-        <td>鑴傝偑閰稿�硷紙mgKOH/100g锛�</td>
-        <td>C14_ST</td>
+        <td>闈㈢瓔鍚告按閲忥紙%锛�</td>
+        <td>C08_ST</td>
         <td>鍝佸皾鍒嗗��</td>
         <td>C15_ST</td>
         <td>鑹叉辰銆佹皵鍛�</td>
@@ -143,19 +138,20 @@
     </tr>
     <tr>
         <td rowspan="2">椋熷搧瀹夊叏妫�楠�</td>
-        <td>榛勬洸闇夋瘨绱� B1锛埼糶/kg锛�</td>
-        <td>C17_ST</td>
+        <td>鍛曞悙姣掞紙mg/kg锛�</td>
+        <td>C27_ST</td>
+        <td>鐜夌背璧ら湁鐑叜锛埼糶/kg锛�</td>
+        <td>C31_ST</td>
         <td>閾咃紙mg/kg锛�</td>
         <td>C18_ST</td>
-        <td>闀夛紙mg/kg锛�</td>
-        <td>C19_ST</td>
     </tr>
     <tr>
+        <td>闀夛紙mg/kg锛�</td>
+        <td>C19_ST</td>
         <td>姹烇紙渭g/kg锛�</td>
         <td>C20_ST</td>
         <td>鏃犳満鐮凤紙mg/kg锛�</td>
         <td>C21_ST</td>
-        <td colspan="2"></td>
     </tr>
     <tr>
         <td colspan="2">澶囨敞</td>
diff --git a/igds-web/src/main/resources/templates/test/qualityReport03.html b/igds-web/src/main/resources/templates/test/qualityReport03.html
new file mode 100644
index 0000000..c60ddce
--- /dev/null
+++ b/igds-web/src/main/resources/templates/test/qualityReport03.html
@@ -0,0 +1,162 @@
+<!DOCTYPE html>
+<html lang='zh-cn'>
+<head>
+    <meta http-equiv='Content-Type' content='text/html;charset=UTF-8'>
+    <title>璐ㄦ鎶ュ憡(鐜夌背)</title>
+    <style>body {
+        text-align: center;
+        padding: 10px
+    }
+
+    .tit {
+        margin: 10px;
+        font-size: 24px;
+        font-family: '瀹嬩綋';
+        padding-top: 15px
+    }
+
+    .div-tit {
+        padding-top: 10px
+    }
+
+    table {
+        width: 100%;
+        border-right: 1px solid;
+        border-bottom: 1px solid;
+        font-size: 14px
+    }
+
+    table td {
+        border-left: 1px solid;
+        border-top: 1px solid;
+        height: 38px
+    }
+
+    .sp1 {
+        width: 33%;
+        float: left;
+        padding-bottom: 10px
+    }
+    </style>
+</head>
+<body><h1 class='tit'>璐ㄦ鎶ュ憡(foodVariety)</h1>
+<div class='div-tit'><span class='sp1'></span><span class='sp1'></span><span
+        class='sp1'>鍗曞彿锛歴erId</span></div>
+<table cellspacing='0' cellpadding='0'>
+    <tr>
+        <td colspan='2' rowspan="5" `width`="15%">鏍峰搧淇℃伅</td>
+        <td width='14%'>鍗曚綅鍚嶇О</td>
+        <td colspan='2' `width`='28%'>customerName</td>
+        <td width='15%'>搴撳尯鍚嶇О</td>
+        <td colspan='2' `width`='28%'>deptName</td>
+    </tr>
+    <tr>
+        <td width='14%'>浠撴埧鍚嶇О</td>
+        <td width='14%'>depotName</td>
+        <td width='14%'>璐т綅鍚嶇О</td>
+        <td width='15%'>hwmc</td>
+        <td width='14%'>淇濈鍛�</td>
+        <td width='14%'>storeKeeperName</td>
+    </tr>
+    <tr>
+        <td>鍝佺</td>
+        <td>foodVariety</td>
+        <td>鎬ц川</td>
+        <td>foodType</td>
+        <td>浠撳唴绮鏁伴噺</td>
+        <td>foodNumber KG</td>
+    </tr>
+    <tr>
+        <td>浜у湴</td>
+        <td>foodLocation</td>
+        <td>绛夌骇</td>
+        <td>foodLevel</td>
+        <td>鐢熶骇骞撮檺</td>
+        <td>scnx</td>
+    </tr>
+    <tr>
+        <td>鏍峰搧鏁伴噺</td>
+        <td>checkNum</td>
+        <td>鏍峰搧浠h〃鏁伴噺</td>
+        <td>foodNumber KG</td>
+        <td colspan="2"></td>
+    </tr>
+    <tr>
+        <td colspan='2'>妫�楠屽崟浣�</td>
+        <td colspan="6">unit</td>
+    </tr>
+    <tr>
+        <td colspan='2' rowspan="2">璐ㄦ浜哄憳</td>
+        <td>鎵︽牱鍛�</td>
+        <td>sampleUser</td>
+        <td>妫�楠屽憳</td>
+        <td>checkUser</td>
+        <td colspan="2"></td>
+    </tr>
+    <tr>
+        <td>鎵︽牱鏃堕棿</td>
+        <td>sampleTime</td>
+        <td>妫�楠屾椂闂�</td>
+        <td>checkTime2</td>
+        <td>鎶ュ憡鍑哄叿鏃堕棿</td>
+        <td>bgcjsj</td>
+    </tr>
+    <tr>
+        <td rowspan="6">璐ㄦ缁撴灉</td>
+        <td rowspan="3">璐ㄩ噺鎸囨爣妫�楠�</td>
+        <td>鍝佺</td>
+        <td>foodVariety</td>
+        <td>瀹归噸锛坓/L锛�</td>
+        <td>bulkWeight</td>
+        <td>绛夌骇</td>
+        <td>foodLevel</td>
+    </tr>
+    <tr>
+        <td>鑹叉辰銆佹皵鍛�</td>
+        <td>C16_ST</td>
+        <td>鏉傝川锛�%锛�</td>
+        <td>C02_ST</td>
+        <td>姘村垎锛�%锛�</td>
+        <td>c_perWet</td>
+    </tr>
+    <tr>
+        <td>涓嶅畬鍠勭矑锛�%锛�</td>
+        <td>C04_ST</td>
+        <td>鐢熼湁绮掞紙%锛�</td>
+        <td>C06_ST</td>
+        <td>闇夊彉绮掞紙%锛�</td>
+        <td>C07_ST</td>
+    </tr>
+    <tr>
+        <td>鍌ㄥ瓨鍝佽川妫�楠�</td>
+        <td>鑴傝偑閰稿�硷紙mgKOH/100g锛�</td>
+        <td>C14_ST</td>
+        <td>鍝佸皾鍒嗗��</td>
+        <td>C15_ST</td>
+        <td>鑹叉辰銆佹皵鍛�</td>
+        <td>C16_ST</td>
+    </tr>
+    <tr>
+        <td rowspan="2">椋熷搧瀹夊叏妫�楠�</td>
+        <td>鍛曞悙姣掞紙mg/kg锛�</td>
+        <td>C27_ST</td>
+        <td>鐜夌背璧ら湁鐑叜锛埼糶/kg锛�</td>
+        <td>C31_ST</td>
+        <td>閾咃紙mg/kg锛�</td>
+        <td>C18_ST</td>
+    </tr>
+    <tr>
+        <td>闀夛紙mg/kg锛�</td>
+        <td>C19_ST</td>
+        <td>姹烇紙渭g/kg锛�</td>
+        <td>C20_ST</td>
+        <td>鏃犳満鐮凤紙mg/kg锛�</td>
+        <td>C21_ST</td>
+    </tr>
+    <tr>
+        <td colspan="2">澶囨敞</td>
+        <td colspan="6">remark</td>
+    </tr>
+</table>
+</body>
+</html>
\ No newline at end of file
diff --git a/igds-web/src/main/resources/templates/test/qualityReport04.html b/igds-web/src/main/resources/templates/test/qualityReport04.html
new file mode 100644
index 0000000..764a123
--- /dev/null
+++ b/igds-web/src/main/resources/templates/test/qualityReport04.html
@@ -0,0 +1,152 @@
+<!DOCTYPE html>
+<html lang='zh-cn'>
+<head>
+    <meta http-equiv='Content-Type' content='text/html;charset=UTF-8'>
+    <title>璐ㄦ鎶ュ憡(澶ц眴)</title>
+    <style>body {
+        text-align: center;
+        padding: 10px
+    }
+
+    .tit {
+        margin: 10px;
+        font-size: 24px;
+        font-family: '瀹嬩綋';
+        padding-top: 15px
+    }
+
+    .div-tit {
+        padding-top: 10px
+    }
+
+    table {
+        width: 100%;
+        border-right: 1px solid;
+        border-bottom: 1px solid;
+        font-size: 14px
+    }
+
+    table td {
+        border-left: 1px solid;
+        border-top: 1px solid;
+        height: 38px
+    }
+
+    .sp1 {
+        width: 33%;
+        float: left;
+        padding-bottom: 10px
+    }
+    </style>
+</head>
+<body><h1 class='tit'>璐ㄦ鎶ュ憡(foodVariety)</h1>
+<div class='div-tit'><span class='sp1'></span><span class='sp1'></span><span
+        class='sp1'>鍗曞彿锛歴erId</span></div>
+<table cellspacing='0' cellpadding='0'>
+    <tr>
+        <td colspan='2' rowspan="5" `width`="15%">鏍峰搧淇℃伅</td>
+        <td width='14%'>鍗曚綅鍚嶇О</td>
+        <td colspan='2' `width`='28%'>customerName</td>
+        <td width='15%'>搴撳尯鍚嶇О</td>
+        <td colspan='2' `width`='28%'>deptName</td>
+    </tr>
+    <tr>
+        <td width='14%'>浠撴埧鍚嶇О</td>
+        <td width='14%'>depotName</td>
+        <td width='14%'>璐т綅鍚嶇О</td>
+        <td width='15%'>hwmc</td>
+        <td width='14%'>淇濈鍛�</td>
+        <td width='14%'>storeKeeperName</td>
+    </tr>
+    <tr>
+        <td>鍝佺</td>
+        <td>foodVariety</td>
+        <td>鎬ц川</td>
+        <td>foodType</td>
+        <td>浠撳唴绮鏁伴噺</td>
+        <td>foodNumber KG</td>
+    </tr>
+    <tr>
+        <td>浜у湴</td>
+        <td>foodLocation</td>
+        <td>绛夌骇</td>
+        <td>foodLevel</td>
+        <td>鐢熶骇骞撮檺</td>
+        <td>scnx</td>
+    </tr>
+    <tr>
+        <td>鏍峰搧鏁伴噺</td>
+        <td>checkNum</td>
+        <td>鏍峰搧浠h〃鏁伴噺</td>
+        <td>foodNumber KG</td>
+        <td colspan="2"></td>
+    </tr>
+    <tr>
+        <td colspan='2'>妫�楠屽崟浣�</td>
+        <td colspan="6">unit</td>
+    </tr>
+    <tr>
+        <td colspan='2' rowspan="2">璐ㄦ浜哄憳</td>
+        <td>鎵︽牱鍛�</td>
+        <td>sampleUser</td>
+        <td>妫�楠屽憳</td>
+        <td>checkUser</td>
+        <td colspan="2"></td>
+    </tr>
+    <tr>
+        <td>鎵︽牱鏃堕棿</td>
+        <td>sampleTime</td>
+        <td>妫�楠屾椂闂�</td>
+        <td>checkTime2</td>
+        <td>鎶ュ憡鍑哄叿鏃堕棿</td>
+        <td>bgcjsj</td>
+    </tr>
+    <tr>
+        <td rowspan="5">璐ㄦ缁撴灉</td>
+        <td rowspan="3">璐ㄩ噺鎸囨爣妫�楠�</td>
+        <td>鍝佺</td>
+        <td>foodVariety</td>
+        <td>瀹屾暣绮掔巼锛�%锛�</td>
+        <td>C22_ST</td>
+        <td>绛夌骇</td>
+        <td>foodLevel</td>
+    </tr>
+    <tr>
+        <td>鏉傝川锛�%锛�</td>
+        <td>C02_ST</td>
+        <td>姘村垎锛�%锛�</td>
+        <td>c_perWet</td>
+        <td>鑹叉辰銆佹皵鍛�</td>
+        <td>C16_ST</td>
+    </tr>
+    <tr>
+        <td>鎹熶激绮掔巼锛�%锛�</td>
+        <td>C23_ST</td>
+        <td>鐑崯浼ょ矑锛�%锛�</td>
+        <td>C24_ST</td>
+        <td colspan="2"></td>
+    </tr>
+    <tr>
+        <td>鍌ㄥ瓨鍝佽川妫�楠�</td>
+        <td>绮楄剛鑲吀鍊硷紙mgKOH/100g锛�</td>
+        <td>C25_ST</td>
+        <td>鍝佸皾鍒嗗��</td>
+        <td>C15_ST</td>
+        <td>鑹叉辰銆佹皵鍛�</td>
+        <td>C16_ST</td>
+    </tr>
+    <tr>
+        <td>椋熷搧瀹夊叏妫�楠�</td>
+        <td>閾咃紙mg/kg锛�</td>
+        <td>C18_ST</td>
+        <td>闀夛紙mg/kg锛�</td>
+        <td>C19_ST</td>
+        <td colspan="2"></td>
+    </tr>
+    <tr>
+        <td colspan="2">澶囨敞</td>
+        <td colspan="6">remark</td>
+    </tr>
+</table>
+</body>
+</html>
\ No newline at end of file

--
Gitblit v1.9.3