From be175fe739e687cd1d45da58f2cb7dd0c36d001f Mon Sep 17 00:00:00 2001
From: jiazx0107@163.com <jiazx0107@163.com>
Date: 星期五, 11 八月 2023 11:48:10 +0800
Subject: [PATCH] 调整Pressure的接口包位置到COre中,然后增加modBus-TCP协议通讯报道

---
 igds-inout/src/main/java/com/ld/igds/inout/manager/InoutReportManager.java                            |    8 
 igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettlePR.java                                    |  106 ++
 igds-inout/src/main/java/models/inout.model.xml                                                       |  119 +-
 igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1304.java                          |    2 
 igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java                                  |    2 
 igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteGasServiceImpl.java      |   41 +
 igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettle1.view.xml                                 | 1147 +++++++++++++++++++++++++++
 igds-inout/src/main/java/com/ld/igds/inout/service/JInoutReportService.java                           |    2 
 igds-inout/src/main/java/com/ld/igds/inout/manager/InoutEventControlManager.java                      |   22 
 pom.xml                                                                                               |    3 
 igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1306.java                          |    2 
 igds-inout/src/main/java/com/ld/igds/m/view/AppointPR.java                                            |    4 
 igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteEsServiceImpl.java       |   31 
 igds-core/src/main/java/com/ld/igds/models/InoutRecord.java                                           |    4 
 igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettle1.js                                       |   34 
 igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemotePressureServiceImpl.java |   31 
 igds-protocol-modbus/src/main/resources/lib/modbus4j-3.1.0.jar                                        |    0 
 igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java  |   58 +
 igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1308.java                          |    4 
 igds-protocol-modbus/pom.xml                                                                          |  113 ++
 igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java                         |    1 
 igds-inout/src/main/java/com/ld/igds/inout/service/HInoutSettleService.java                           |  248 +++--
 igds-parent-pom/pom.xml                                                                               |    1 
 igds-protocol-modbus/src/main/java/com/ld/igds/protocol/package-info.java                             |    1 
 igds-core/src/main/java/com/ld/igds/io/impl/DefaultRemotePressureImpl.java                            |    6 
 igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemotePestServiceImpl.java     |   42 +
 igds-core/src/main/java/com/ld/igds/io/RemotePressureService.java                                     |    0 
 igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettle.view.xml                                  |  346 +------
 igds-manager/src/main/java/com/ld/igds/oa/view/DocumentPR.java                                        |    6 
 igds-inout/src/main/java/com/ld/igds/inout/controller/InoutController.java                            |    2 
 igds-doc/sql/update-v35-to-v40.sql                                                                    |    5 
 igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/BHZNWeightServiceImpl.java           |   22 
 igds-web/pom.xml                                                                                      |    5 
 igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1302.java                          |    2 
 igds-core/src/main/java/com/ld/igds/inout/dto/InoutParam.java                                         |    6 
 igds-inout/src/main/java/com/ld/igds/inout/view/InoutDataPR.java                                      |    6 
 igds-inout/src/main/java/com/ld/igds/models/InoutSettle.java                                          |   23 
 37 files changed, 1,935 insertions(+), 520 deletions(-)

diff --git a/igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1302.java b/igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1302.java
index b8f8227..01af882 100644
--- a/igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1302.java
+++ b/igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1302.java
@@ -127,7 +127,7 @@
                 dto.setJssj(DateFormatUtils.format((inoutSettle.getPayTime() == null?new Date():inoutSettle.getPayTime()),"yyyy-MM-dd HH:mm:ss"));
                 dto.setJsjz(inoutSettle.getSettleWeight() + "");
                 dto.setJsdj(inoutSettle.getPayPrice() + "");
-                dto.setJsje(inoutSettle.getPaySum() + "");
+                dto.setJsje(inoutSettle.getPayMoney() + "");
             }else {
                 dto.setJssj(DateFormatUtils.format(new Date(),"yyyy-MM-dd HH:mm:ss"));
                 dto.setJsjz("0.0");
diff --git a/igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1304.java b/igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1304.java
index fefae36..fc5278e 100644
--- a/igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1304.java
+++ b/igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1304.java
@@ -97,7 +97,7 @@
             }
             dto.setJssl(String.valueOf(settle.getSettleWeight()));
             dto.setJsdj(String.valueOf(settle.getPayPrice()));
-            dto.setJsje(String.valueOf(settle.getPaySum()));
+            dto.setJsje(String.valueOf(settle.getPayMoney()));
             dto.setJssj(DateFormatUtils.format(settle.getPayTime()==null?new Date():settle.getPayTime(),"yyyy-MM-dd HH:mm:ss"));
             dto.setJsfs(StringUtils.isEmpty(settle.getPayType())?"0":settle.getPayType());
            // dto.setSkr(StringUtils.isEmpty(settle.getCustomerName())?"0":settle.getCustomerName()); TODO 
diff --git a/igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1306.java b/igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1306.java
index c8faf7e..092e910 100644
--- a/igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1306.java
+++ b/igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1306.java
@@ -130,7 +130,7 @@
                 dto.setShjzsj(DateFormatUtils.format(inoutSettle.getPayTime(),"yyyy-MM-dd HH:mm:ss"));
                 dto.setJzqj(DateFormatUtils.format(inoutSettle.getPayTime(),"yyyy-MM-dd"));
                 dto.setDj(inoutSettle.getPayPrice() + "");
-                dto.setJe(inoutSettle.getPaySum() + "");
+                dto.setJe(inoutSettle.getPayMoney() + "");
             }
             dto.setDjlx("0");
             dto.setLrfs("0");
diff --git a/igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1308.java b/igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1308.java
index d9b363a..479a906 100644
--- a/igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1308.java
+++ b/igds-api-inte/src/main/java/com/ld/igds/sh/service/ApiShServiceImpl1308.java
@@ -88,7 +88,7 @@
             }
             dto.setJssl(String.valueOf(settle.getSettleWeight()));
             dto.setJsdj(settle.getPayPrice() + "");
-            dto.setJsje(settle.getPaySum() + "");
+            dto.setJsje(settle.getPayMoney() + "");
             if(null == settle.getPayTime()){
                 settle.setPayTime(new Date());
             }
@@ -112,7 +112,7 @@
             dto.setZdsj(DateFormatUtils.format(settle.getPayTime(),"yyyy-MM-dd HH:mm:ss"));
             dto.setJsfsmc(StringUtils.isEmpty(settle.getPayType())?"0":settle.getPayType());
             dto.setSjjssl(settle.getSettleWeight() + "");
-            dto.setSjjsje(settle.getPaySum() + "");
+            dto.setSjjsje(settle.getPayMoney() + "");
             dto.setHjsl(settle.getSettleWeight() + "");
             dto.setSkfsbh(StringUtils.isEmpty(settle.getPayType())?"0":settle.getPayType());
 
diff --git a/igds-core/src/main/java/com/ld/igds/inout/dto/InoutParam.java b/igds-core/src/main/java/com/ld/igds/inout/dto/InoutParam.java
index 7b7f4b1..e42e3de 100644
--- a/igds-core/src/main/java/com/ld/igds/inout/dto/InoutParam.java
+++ b/igds-core/src/main/java/com/ld/igds/inout/dto/InoutParam.java
@@ -77,11 +77,11 @@
 
     private Double settleWeight;
     private Double recordWeight;
-
-    //鏄惁缁撶畻
-    private String settleTag;
+    
 
     private Double price;
+    
+    private String settleBizType;
 
     private Double settleMoney;
 
diff --git a/igds-n2/src/main/java/com/ld/igds/io/RemotePressureService.java b/igds-core/src/main/java/com/ld/igds/io/RemotePressureService.java
similarity index 100%
rename from igds-n2/src/main/java/com/ld/igds/io/RemotePressureService.java
rename to igds-core/src/main/java/com/ld/igds/io/RemotePressureService.java
diff --git a/igds-n2/src/main/java/com/ld/igds/io/DefaultRemotePressureImpl.java b/igds-core/src/main/java/com/ld/igds/io/impl/DefaultRemotePressureImpl.java
similarity index 87%
rename from igds-n2/src/main/java/com/ld/igds/io/DefaultRemotePressureImpl.java
rename to igds-core/src/main/java/com/ld/igds/io/impl/DefaultRemotePressureImpl.java
index 16aa630..6b98156 100644
--- a/igds-n2/src/main/java/com/ld/igds/io/DefaultRemotePressureImpl.java
+++ b/igds-core/src/main/java/com/ld/igds/io/impl/DefaultRemotePressureImpl.java
@@ -1,11 +1,11 @@
-package com.ld.igds.io;
+package com.ld.igds.io.impl;
 
-import org.springframework.stereotype.Repository;
-
+import com.ld.igds.io.RemotePressureService;
 import com.ld.igds.io.constant.OrderRespEnum;
 import com.ld.igds.io.constant.ProtocolEnum;
 import com.ld.igds.io.request.BaseRequest;
 import com.ld.igds.io.response.BaseResponse;
+import org.springframework.stereotype.Repository;
 
 @Repository
 public class DefaultRemotePressureImpl implements RemotePressureService {
diff --git a/igds-core/src/main/java/com/ld/igds/models/InoutRecord.java b/igds-core/src/main/java/com/ld/igds/models/InoutRecord.java
index cb3f900..c805ae4 100644
--- a/igds-core/src/main/java/com/ld/igds/models/InoutRecord.java
+++ b/igds-core/src/main/java/com/ld/igds/models/InoutRecord.java
@@ -230,11 +230,11 @@
      * -----------缁撶畻淇℃伅-----------------------
      **/
     @Column(name = "PRICE_")
-    @PropertyDef(label = "鍗曚环", description = "鍗曚綅锛氬厓/鍏枻")
+    @PropertyDef(label = "鍗曚环", description = "鍗曚綅锛氬厓/鍏枻锛屽疄闄呯粨绠椾环鏍间互缁撶畻鍗曚腑鍗曚环涓哄噯")
     private Double price = 0.0;
 
     @Column(name = "SETTLE_MONEY_")
-    @PropertyDef(label = "缁撶畻閲戦", description = "鍗曚綅锛氬厓")
+    @PropertyDef(label = "缁撶畻閲戦", description = "鍗曚綅锛氬厓锛屽疄闄呯粨绠椾互璁$畻鍗曚负鍑�")
     private Double settleMoney = 0.00;
 
     @Column(name = "SETTLE_ID_", length = 50)
diff --git a/igds-doc/sql/update-v35-to-v40.sql b/igds-doc/sql/update-v35-to-v40.sql
index d67444e..7c0a02a 100644
--- a/igds-doc/sql/update-v35-to-v40.sql
+++ b/igds-doc/sql/update-v35-to-v40.sql
@@ -48,6 +48,11 @@
 -- 璋冩暣鍑哄叆搴撴暟鎹姸鎬�
 UPDATE D_INOUT_RECORD SET RECORD_STATUS_ ='DEL' WHERE RECORD_STATUS_='ERROR';
 
+-- 璋冩暣缁撶畻瀛楁
+ALTER TABLE `d_inout_settle`
+CHANGE COLUMN `PAY_SUM_` `PAY_MONEY_`  double NULL DEFAULT NULL AFTER `PAY_PRICE_`;
+
+
 -- 鏇存柊鍖栭獙椤�
 UPDATE D_DIC_CHECK_ITEM SET CODE_ = '020101' WHERE CODE_ ='C01';
 UPDATE D_DIC_CHECK_ITEM SET CODE_ = '01010301' WHERE CODE_ ='C02';
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/controller/InoutController.java b/igds-inout/src/main/java/com/ld/igds/inout/controller/InoutController.java
index a9439d9..f82095f 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/controller/InoutController.java
+++ b/igds-inout/src/main/java/com/ld/igds/inout/controller/InoutController.java
@@ -33,8 +33,6 @@
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
-import java.lang.reflect.Array;
-import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutEventControlManager.java b/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutEventControlManager.java
index 780d073..7732e83 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutEventControlManager.java
+++ b/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutEventControlManager.java
@@ -6,7 +6,6 @@
 import com.ld.igds.camera.data.ApiCameraResp;
 import com.ld.igds.camera.data.ApiSnapReq;
 import com.ld.igds.constant.BizType;
-import com.ld.igds.constant.DeviceType;
 import com.ld.igds.data.SnapImgDto;
 import com.ld.igds.file.CoreFileService;
 import com.ld.igds.inout.ApiInoutManager;
@@ -30,7 +29,6 @@
 import org.springframework.stereotype.Component;
 
 import javax.annotation.Resource;
-import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
 
@@ -371,26 +369,6 @@
             return null;
         }
         return inoutCommonService.getCacheInoutConf(ContextUtil.getCompanyId(), ContextUtil.subDeptId(null), id);
-    }
-
-
-    /**
-     * @Desc: 鑾峰彇绉伴噸缃戝叧璁惧
-     * @author: Andy
-     * @update-time: 2022/11/26
-     */
-    public List<InoutConf> getWeightGateway(String companyId, String deptId) {
-        List<InoutConf> list = inoutCommonService.getCacheInoutConf(companyId, deptId);
-        if (null == list || list.isEmpty()) return null;
-
-        List<InoutConf> result = new ArrayList<>();
-
-        for (InoutConf conf : list) {
-            if (InoutConstant.CONF_TYPE_70.equals(conf.getType())) {
-                result.add(conf);
-            }
-        }
-        return result;
     }
 
     /**
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java b/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java
index c62bd2b..7e92309 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java
+++ b/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutManager.java
@@ -20,7 +20,6 @@
 import com.ld.igds.models.InoutSysConf;
 import com.ld.igds.util.ContextUtil;
 import com.ld.igds.util.DateUtil;
-import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.time.DateFormatUtils;
 import org.apache.commons.lang3.time.DateUtils;
@@ -37,7 +36,6 @@
  *
  * @author
  */
-@Slf4j
 @Component
 public class InoutManager {
 
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutReportManager.java b/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutReportManager.java
index 1eadec8..d04efe0 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutReportManager.java
+++ b/igds-inout/src/main/java/com/ld/igds/inout/manager/InoutReportManager.java
@@ -399,8 +399,8 @@
                 (dept == null ? "鍏ュ簱鍖栭獙鍗�" : dept.getName() + "鍏ュ簱鍖栭獙鍗�"));
 
         // 鏇挎崲鍩虹鏁版嵁
-        String time = DateFormatUtils.format(data.getRegisterTime(),
-                "yyyy-MM-dd");
+//        String time = DateFormatUtils.format(data.getRegisterTime(),
+//                "yyyy-MM-dd");
         String checkTime = data.getCheckTime() == null ? "-" : DateFormatUtils.format(data.getCheckTime(), "yyyy-MM-dd HH:mm:ss");
         String sampleTime = data.getSampleTime() == null ? "-" : DateFormatUtils.format(data.getSampleTime(), "yyyy-MM-dd HH:mm:ss");
         String reportTime = DateFormatUtils.format(new Date(), "yyyy-MM-dd HH:mm:ss");
@@ -610,12 +610,12 @@
         }
 //        htmlStr = htmlStr.replace("driverName", settle.getUserName() + "");
 //        htmlStr = htmlStr.replace("otherSum", settle.getOtherSum() + "");
-        htmlStr = htmlStr.replace("paySum", settle.getPaySum() + "");
+        htmlStr = htmlStr.replace("paySum", settle.getPayMoney() + "");
 
         htmlStr = htmlStr.replace("remark", settle.getRemarks() == null ? ""
                 : settle.getRemarks());
         htmlStr = htmlStr.replace("moneyName",
-                MoneyUtil.formatToCN(new BigDecimal(settle.getPaySum())));
+                MoneyUtil.formatToCN(new BigDecimal(settle.getPayMoney())));
 
         return htmlStr;
     }
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/service/HInoutSettleService.java b/igds-inout/src/main/java/com/ld/igds/inout/service/HInoutSettleService.java
index 6444a53..8d8c919 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/service/HInoutSettleService.java
+++ b/igds-inout/src/main/java/com/ld/igds/inout/service/HInoutSettleService.java
@@ -23,127 +23,167 @@
 
 @Component
 public class HInoutSettleService extends HibernateDao {
-	
-	
-	public void pageIoutRecord(Page<InoutRecord> page, InoutParam param) throws Exception {
-		String hql = " from " + InoutRecord.class.getName()
-				+ " where companyId =:companyId and progress =:progress";
-		Map<String, Object> args = new HashMap<String, Object>();
 
-		args.put("companyId", ContextUtil.getCompanyId());
-		args.put("progress", InoutConstant.PROGRESS_RECORD);
 
-		if (StringUtils.isNotEmpty(param.getType())) {
-			hql += " and type =:type";
-			args.put("type", param.getType());
-		}
+    public void pageIoutRecord(Page<InoutRecord> page, InoutParam param) throws Exception {
+        String hql = " from " + InoutRecord.class.getName()
+                + " where companyId =:companyId and progress =:progress";
+        Map<String, Object> args = new HashMap<String, Object>();
 
-		if (StringUtils.isNotEmpty(param.getId())) {
-			hql += " and id like:id";
-			args.put("id", "%" + param.getId() + "%");
-		}
+        args.put("companyId", ContextUtil.getCompanyId());
+        args.put("progress", InoutConstant.PROGRESS_RECORD);
 
-		if (StringUtils.isNotEmpty(param.getPlateNum())) {
-			hql += " and plateNum like:plateNum";
-			args.put("plateNum", "%" + param.getPlateNum() + "%");
-		}
+        if (StringUtils.isNotEmpty(param.getType())) {
+            hql += " and type =:type";
+            args.put("type", param.getType());
+        }
 
-		if (StringUtils.isNotEmpty(param.getCustomerId())) {
-			hql += " and customerId =:customerId";
-			args.put("customerId", param.getCustomerId());
-		}
+        if (StringUtils.isNotEmpty(param.getId())) {
+            hql += " and id like:id";
+            args.put("id", "%" + param.getId() + "%");
+        }
 
-		if (StringUtils.isNotEmpty(param.getDepotId())) {
-			hql += " and depotId =:depotId";
-			args.put("depotId", param.getDepotId());
-		}
+        if (StringUtils.isNotEmpty(param.getPlateNum())) {
+            hql += " and plateNum like:plateNum";
+            args.put("plateNum", "%" + param.getPlateNum() + "%");
+        }
 
-		if (StringUtils.isNotEmpty(param.getFoodVariety())) {
-			hql += " and foodVariety =:foodVariety";
-			args.put("foodVariety", param.getFoodVariety());
-		}
+        if (StringUtils.isNotEmpty(param.getCustomerId())) {
+            hql += " and customerId =:customerId";
+            args.put("customerId", param.getCustomerId());
+        }
 
-		if (StringUtils.isNotEmpty(param.getSettleTag())) {
-			hql += " and settleTag =:settleTag";
-			args.put("settleTag", param.getSettleTag());
-		}
+        if (StringUtils.isNotEmpty(param.getDepotId())) {
+            hql += " and depotId =:depotId";
+            args.put("depotId", param.getDepotId());
+        }
 
-		if (null != param.getStart()) {
-			hql += " and completeTime >=:start";
-			args.put("start", DateUtil.getCurZero(param.getStart()));
-		}
+        if (StringUtils.isNotEmpty(param.getFoodVariety())) {
+            hql += " and foodVariety =:foodVariety";
+            args.put("foodVariety", param.getFoodVariety());
+        }
 
-		if (null != param.getEnd()) {
-			hql += " and completeTime <=:end";
-			args.put("end", DateUtil.getNextZero(param.getEnd()));
-		}
 
-		hql += " and RECORD_STATUS_ <> 'ERROR' and RECORD_STATUS_ <> 'DEL'";
+        if (null != param.getStart()) {
+            hql += " and completeTime >=:start";
+            args.put("start", DateUtil.getCurZero(param.getStart()));
+        }
 
-		String countHql = " select count(*) " + hql;
-		
-		hql += " order by id desc ";
+        if (null != param.getEnd()) {
+            hql += " and completeTime <=:end";
+            args.put("end", DateUtil.getNextZero(param.getEnd()));
+        }
 
-		this.pagingQuery(page, hql, countHql, args);
-	}
+        hql += " and RECORD_STATUS_ <> 'ERROR' and RECORD_STATUS_ <> 'DEL'";
 
-	public InoutSettle getSettleById(String companyId, String id) {
-		String hql = " from " + InoutSettle.class.getName()
-				+ " where companyId=:companyId";
+        String countHql = " select count(*) " + hql;
 
-		Map<String, Object> args = new HashMap<String, Object>();
-		if (StringUtils.isEmpty(companyId)) {
-			companyId = ContextUtil.getCompanyId();
-		}
-		args.put("companyId", ContextUtil.getCompanyId());
-		if (StringUtils.isNotEmpty(id)) {
-			hql += " and id=:id";
-			args.put("id", id);
-		}
+        hql += " order by id desc ";
 
-		hql += " order by payTime desc";
-		List<InoutSettle> list = this.query(hql, args);
-		if (list != null && list.size() > 0) {
-			return list.get(0);
-		}
-		return null;
-	}
+        this.pagingQuery(page, hql, countHql, args);
+    }
 
-	
-	public String saveOrUpdateData(InoutSettle data) {
-		Session session = this.getSessionFactory().openSession();
-		
-		try {
-			if(null == data.getPayTime()){
-				data.setPayTime(new Date());
-			}
-			
-			if (null == data.getCompanyId()) {
-				data.setCompanyId(ContextUtil.getCompanyId());
-				session.save(data);
-			} else {
-				session.update(data);
-			}
-		} finally {
-			session.flush();
-			session.close();
-		}
-		return null;
-	}
+    public InoutSettle getSettleById(String companyId, String id) {
+        String hql = " from " + InoutSettle.class.getName()
+                + " where companyId=:companyId";
 
-	public void updateInoutRecordPay(String id) {
-		String hql = " update "+InoutRecord.class.getName() +" set settleTag=:settleTag where id=:id";
-		Session session = this.getSessionFactory().openSession();
-		try {
-			Query query = session.createQuery(hql);
-			query.setString("settleTag", Constant.YN_Y);
-			query.setString("id", id);
-			query.executeUpdate();
-		} finally {
-			session.flush();
-			session.close();
-		}
-	}
+        Map<String, Object> args = new HashMap<String, Object>();
+        if (StringUtils.isEmpty(companyId)) {
+            companyId = ContextUtil.getCompanyId();
+        }
+        args.put("companyId", ContextUtil.getCompanyId());
+        if (StringUtils.isNotEmpty(id)) {
+            hql += " and id=:id";
+            args.put("id", id);
+        }
 
-	
+        hql += " order by payTime desc";
+        List<InoutSettle> list = this.query(hql, args);
+        if (list != null && list.size() > 0) {
+            return list.get(0);
+        }
+        return null;
+    }
+
+
+    public String saveOrUpdateData(InoutSettle data) {
+        Session session = this.getSessionFactory().openSession();
+
+        try {
+            if (null == data.getPayTime()) {
+                data.setPayTime(new Date());
+            }
+
+            if (null == data.getCompanyId()) {
+                data.setCompanyId(ContextUtil.getCompanyId());
+                session.save(data);
+            } else {
+                session.update(data);
+            }
+        } finally {
+            session.flush();
+            session.close();
+        }
+        return null;
+    }
+
+    public void updateInoutRecordPay(String id) {
+        String hql = " update " + InoutRecord.class.getName() + " set settleTag=:settleTag where id=:id";
+        Session session = this.getSessionFactory().openSession();
+        try {
+            Query query = session.createQuery(hql);
+            query.setString("settleTag", Constant.YN_Y);
+            query.setString("id", id);
+            query.executeUpdate();
+        } finally {
+            session.flush();
+            session.close();
+        }
+    }
+
+    /**
+     * 鏍规嵁鏉′欢鍒嗛〉鑾峰彇缁撶畻淇℃伅
+     *
+     * @param page
+     * @param param
+     */
+    public void pageSettle(Page<InoutSettle> page, InoutParam param) throws Exception {
+        String hql = " from " + InoutSettle.class.getName()
+                + " where companyId =:companyId and deptId=:deptId";
+        Map<String, Object> args = new HashMap<>();
+
+        args.put("companyId", param.getCompanyId());
+        args.put("deptId", param.getDeptId());
+
+        if (StringUtils.isNotEmpty(param.getType())) {
+            hql += " and inoutType =:inoutType";
+            args.put("inoutType", param.getType());
+        }
+
+        if (StringUtils.isNotEmpty(param.getId())) {
+            hql += " and id like:id";
+            args.put("id", "%" + param.getId() + "%");
+        }
+
+        if (StringUtils.isNotEmpty(param.getDepotId())) {
+            hql += " and depotId =:depotId";
+            args.put("depotId", param.getDepotId());
+        }
+        if (null != param.getStart()) {
+            hql += " and payTime >=:start";
+            args.put("start", DateUtil.getCurZero(param.getStart()));
+        }
+        if (null != param.getEnd()) {
+            hql += " and payTime <=:end";
+            args.put("end", DateUtil.getNextZero(param.getEnd()));
+        }
+
+        String countHql = " select count(*) " + hql;
+
+        hql += " order by id desc ";
+
+        this.pagingQuery(page, hql, countHql, args);
+    }
+
+
 }
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 a65f698..9546182 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
@@ -271,7 +271,7 @@
     }
 
     // 娉ㄦ剰锛氬鏋滄湡鏈簱瀛樻病鏈変复杩戞暟鎹紝鍒欒〃绀鸿幏鍙栨渶鏂扮殑搴撳瓨
-    private ReportInoutDepotData updateDepotReportQmkc(ReportInoutDepotData d,
+    public ReportInoutDepotData updateDepotReportQmkc(ReportInoutDepotData d,
                                                        List<ReportInoutStorageData> list2) {
         ReportInoutStorageData inoutStorageData = null;
         for (ReportInoutStorageData storageData : list2) {
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java b/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java
index 1498368..7d975d0 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java
+++ b/igds-inout/src/main/java/com/ld/igds/inout/service/impl/InoutServiceImpl.java
@@ -20,7 +20,6 @@
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.time.DateFormatUtils;
-import org.apache.xmlbeans.impl.tool.Extension;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Component;
 
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/view/InoutDataPR.java b/igds-inout/src/main/java/com/ld/igds/inout/view/InoutDataPR.java
index 4c7df5e..ee04cae 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/view/InoutDataPR.java
+++ b/igds-inout/src/main/java/com/ld/igds/inout/view/InoutDataPR.java
@@ -13,13 +13,9 @@
 import com.bstek.dorado.annotation.Expose;
 import com.bstek.dorado.data.provider.Page;
 import com.bstek.dorado.uploader.UploadFile;
-import com.bstek.dorado.uploader.annotation.FileProvider;
 import com.bstek.dorado.uploader.annotation.FileResolver;
-import com.ld.igds.constant.RedisConst;
-import com.ld.igds.data.PageResponse;
 
 import com.ld.igds.file.CoreFileService;
-import com.ld.igds.file.FileManager;
 import com.ld.igds.inout.InoutConstant;
 import com.ld.igds.inout.dto.InoutData;
 import com.ld.igds.inout.dto.InoutParam;
@@ -27,7 +23,6 @@
 import com.ld.igds.inout.manager.InoutReportManager;
 import com.ld.igds.inout.service.InoutService;
 import com.ld.igds.models.DicTrigger;
-import com.ld.igds.models.FileInfo;
 import com.ld.igds.util.ContextUtil;
 
 import com.ld.igds.util.RedisUtil;
@@ -36,7 +31,6 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettle.view.xml b/igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettle.view.xml
index 615c485..85b9d82 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettle.view.xml
+++ b/igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettle.view.xml
@@ -3,23 +3,7 @@
   <Arguments/>
   <Context/>
   <Model>
-    <DataType name="dtInoutRecord" parent="global:dtInoutRecord">
-      <PropertyDef name="settleTag">
-        <Property></Property>
-        <Property name="label">缁撶畻鐘舵��</Property>
-        <Property name="mapping">
-          <Property name="mapValues">${dorado.getDataProvider(&quot;inoutSettlePR#triggerSettleTag&quot;).getResult()}</Property>
-          <Property name="keyProperty">code</Property>
-          <Property name="valueProperty">name</Property>
-        </Property>
-      </PropertyDef>
-      <PropertyDef name="price">
-        <Property></Property>
-        <Property name="label">鍒濇瀹氫环</Property>
-        <Property name="dataType">Double</Property>
-        <Property name="displayFormat">0.000 鍏�/鍏枻</Property>
-      </PropertyDef>
-    </DataType>
+    <DataType name="dtInoutRecord" parent="global:dtInoutRecord"/>
     <DataType name="dtQuery">
       <Property name="creationType">com.ld.igds.inout.dto.InoutParam</Property>
       <PropertyDef name="deptId">
@@ -29,19 +13,13 @@
       <PropertyDef name="id">
         <Property name="label">鍗曟嵁鍙�</Property>
       </PropertyDef>
-      <PropertyDef name="type">
-        <Property name="label">鍑哄叆搴撶被鍨�</Property>
-      </PropertyDef>
-      <PropertyDef name="plateNum">
-        <Property name="label">杞︾墝鍙�</Property>
-      </PropertyDef>
-      <PropertyDef name="customerId">
+      <PropertyDef name="contractId">
         <Property></Property>
-        <Property name="label">寰�鏉ュ崟浣�</Property>
+        <Property name="label">鍚堝悓缂栫爜</Property>
       </PropertyDef>
-      <PropertyDef name="customerName">
+      <PropertyDef name="contractName">
         <Property></Property>
-        <Property name="label">寰�鏉ュ崟浣�</Property>
+        <Property name="label">鍚堝悓鍚嶇О</Property>
       </PropertyDef>
       <PropertyDef name="depotId">
         <Property></Property>
@@ -52,24 +30,6 @@
           <Property name="valueProperty">name</Property>
         </Property>
       </PropertyDef>
-      <PropertyDef name="foodVariety">
-        <Property></Property>
-        <Property name="label">绮鍝佺</Property>
-        <Property name="mapping">
-          <Property name="mapValues">${dorado.getDataProvider(&quot;dicTriggerPR#dicTrigger&quot;).getResult(&quot;FOOD_VARIETY_&quot;)}</Property>
-          <Property name="keyProperty">code</Property>
-          <Property name="valueProperty">name</Property>
-        </Property>
-      </PropertyDef>
-      <PropertyDef name="settleTag">
-        <Property name="mapping">
-          <Property name="mapValues">${dorado.getDataProvider(&quot;inoutSettlePR#triggerSettleTag&quot;).getResult()}</Property>
-          <Property name="keyProperty">code</Property>
-          <Property name="valueProperty">name</Property>
-        </Property>
-        <Property name="label">缁撶畻鐘舵��</Property>
-        <Property name="defaultValue">N</Property>
-      </PropertyDef>
       <PropertyDef name="start">
         <Property name="label">寮�濮嬫椂闂�</Property>
         <Property name="dataType">Date</Property>
@@ -79,66 +39,10 @@
         <Property name="dataType">Date</Property>
       </PropertyDef>
     </DataType>
-    <DataType name="dtInoutSettle" parent="global:dtInoutSettle">
-      <ClientEvent name="onDataChange">if(arg.property ==&quot;payPrice&quot;){&#xD;
-    checkCount(arg.newValue);&#xD;
-}&#xD;
-if(arg.property ==&quot;otherSum&quot;){&#xD;
-    checkCount(arg.newValue);&#xD;
-}</ClientEvent>
-      <PropertyDef name="depotId">
-        <Property></Property>
-        <Property name="label">鎵�灞炰粨搴�</Property>
-        <Property name="mapping">
-          <Property name="mapValues">${dorado.getDataProvider(&quot;depotPR#getAllCache&quot;).getResult()}</Property>
-          <Property name="keyProperty">id</Property>
-          <Property name="valueProperty">name</Property>
-        </Property>
-      </PropertyDef>
-      <PropertyDef name="deptId">
-        <Property></Property>
-      </PropertyDef>
-      <PropertyDef name="userName">
-        <Property></Property>
-        <Property name="label">鎵胯繍浜�</Property>
-      </PropertyDef>
-      <PropertyDef name="plateNum">
-        <Property></Property>
-        <Property name="label">杞︾墝鍙�</Property>
-      </PropertyDef>
-      <PropertyDef name="foodVariety">
-        <Property></Property>
-        <Property name="label">绮鍝佺</Property>
-        <Property name="mapping">
-          <Property name="mapValues">${dorado.getDataProvider(&quot;dicTriggerPR#dicTrigger&quot;).getResult(&quot;FOOD_VARIETY_&quot;)}</Property>
-          <Property name="keyProperty">code</Property>
-          <Property name="valueProperty">name</Property>
-        </Property>
-      </PropertyDef>
-      <PropertyDef name="foodLevel">
-        <Property></Property>
-        <Property name="label">绮绛夌骇</Property>
-        <Property name="mapping">
-          <Property name="mapValues">${dorado.getDataProvider(&quot;dicTriggerPR#dicTrigger&quot;).getResult(&quot;FOOD_LEVEL_&quot;)}</Property>
-          <Property name="keyProperty">code</Property>
-          <Property name="valueProperty">name</Property>
-        </Property>
-      </PropertyDef>
-      <PropertyDef name="completeTime">
-        <Property></Property>
-        <Property name="label">瀹屾垚鏃堕棿</Property>
-        <Property name="dataType">DateTime</Property>
-      </PropertyDef>
-    </DataType>
+    <DataType name="dtInoutSettle" parent="global:dtInoutSettle"/>
   </Model>
   <View layout="padding:5;regionPadding:10">
-    <ClientEvent name="onReady">var TYPE = &quot;${request.getParameter('type')}&quot;;&#xD;
-                          &#xD;
-//榛樿鏌ヨ鏌ヨ鎻愭潯浠�&#xD;
-view.get(&quot;#dsQuery&quot;).insert({&#xD;
-	type: TYPE&#xD;
-});&#xD;
-            &#xD;
+    <ClientEvent name="onReady">&#xD;
 //鏌ヨ&#xD;
 query = function(){&#xD;
 	var data = view.get(&quot;#dsQuery.data&quot;);&#xD;
@@ -150,7 +54,6 @@
 		view.get(&quot;#dsSettleData&quot;).set(&quot;parameter&quot;,data).flushAsync();&#xD;
 	}&#xD;
 };&#xD;
-query();&#xD;
 &#xD;
 //缁撶畻&#xD;
 settle = function(){&#xD;
@@ -190,6 +93,7 @@
     <Property name="packages">font-awesome,css-common</Property>
     <Property name="javaScriptFile">./static/plugins/lodop/LodopFuncs.js</Property>
     <DataSet id="dsQuery">
+      <ClientEvent name="onReady">self.insert();</ClientEvent>
       <Property name="dataType">dtQuery</Property>
     </DataSet>
     <ToolBar layoutConstraint="top">
@@ -220,17 +124,8 @@
         </Editor>
       </AutoFormElement>
       <AutoFormElement>
-        <Property name="name">plateNum</Property>
-        <Property name="property">plateNum</Property>
-        <Editor>
-          <TextEditor>
-            <Property name="blankText">-- 鏀寔妯$硦 --</Property>
-          </TextEditor>
-        </Editor>
-      </AutoFormElement>
-      <AutoFormElement>
-        <Property name="name">customerName</Property>
-        <Property name="property">customerName</Property>
+        <Property name="name">contractName</Property>
+        <Property name="property">contractName</Property>
         <Property name="trigger">ddCustomer</Property>
         <Property name="editable">false</Property>
         <Editor/>
@@ -281,29 +176,18 @@
     </AutoForm>
     <TabControl id="tabControl1">
       <ControlTab>
-        <ClientEvent name="onClick">view.get(&quot;#btnExcel&quot;).set(&quot;visible&quot;,false);</ClientEvent>
-        <Property name="caption">鏈粨绠�</Property>
+        <Property name="caption">鍚堝悓缁撶畻</Property>
         <Property name="iconClass">fa fa-th-list</Property>
         <Property name="width">150</Property>
         <Container layout="regionPadding:10" layoutConstraint="center">
           <Property name="exClassName">bg-color</Property>
-          <DataSet id="dsInoutRecord">
+          <DataSet id="dsSettle1">
+            <Property name="dataType">[dtInoutSettle]</Property>
+            <Property name="dataProvider">inoutSettlePR#pageSettleIn1</Property>
             <Property name="pageSize">20</Property>
-            <Property name="dataProvider">inoutSettlePR#pageInoutRecord</Property>
-            <Property name="loadMode">manual</Property>
-            <Property name="dataType">[dtInoutRecord]</Property>
           </DataSet>
-          <DataSet id="dsSettle">
-            <Property name="dataType">dtInoutSettle</Property>
-            <Property name="loadMode">manual</Property>
-            <Property name="dataProvider">inoutSettlePR#getSettleByInoutData</Property>
-          </DataSet>
-          <DataGrid id="dataGridMain" layoutConstraint="center">
-            <ClientEvent name="onDataRowDoubleClick">settle();</ClientEvent>
-            <ClientEvent name="onDataRowClick">//瀹炵幇鐐瑰嚮鍗抽�変腑&#xD;
-                    //self.set(&quot;selection&quot;,arg.data);
-                </ClientEvent>
-            <Property name="dataSet">dsInoutRecord</Property>
+          <DataGrid id="dataGridMain1" layoutConstraint="center">
+            <Property name="dataSet">dsSettle1</Property>
             <Property name="readOnly">true</Property>
             <Property name="dynaRowHeight">false</Property>
             <Property name="selectionMode">multiRows</Property>
@@ -313,89 +197,52 @@
             <RowNumColumn/>
             <DataColumn name="id">
               <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
-                        arg.dom.style.color = &quot;#f67d06&quot;;&#xD;
-                        arg.processDefault = true;</ClientEvent>
+arg.dom.style.color = &quot;#f67d06&quot;;&#xD;
+arg.processDefault = true;</ClientEvent>
               <Property name="property">id</Property>
               <Property name="align">center</Property>
               <Property name="width">150</Property>
             </DataColumn>
-            <DataColumn name="plateNum">
-              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
-                        arg.processDefault = true;</ClientEvent>
-              <Property name="property">plateNum</Property>
-              <Property name="align">center</Property>
-              <Property name="width">150</Property>
-            </DataColumn>
-            <DataColumn name="customerName">
-              <Property name="property">customerName</Property>
-              <Property name="align">center</Property>
-              <Property name="width">200</Property>
-            </DataColumn>
-            <DataColumn name="userName">
-              <Property name="property">userName</Property>
-              <Property name="width">150</Property>
-              <Property name="align">center</Property>
-            </DataColumn>
-            <DataColumn name="foodVariety">
-              <Property name="property">foodVariety</Property>
-              <Property name="align">center</Property>
-              <Property name="width">150</Property>
-            </DataColumn>
             <DataColumn name="depotId">
-              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
-                        arg.processDefault = true;</ClientEvent>
               <Property name="property">depotId</Property>
-              <Property name="align">center</Property>
-              <Property name="width">150</Property>
             </DataColumn>
-            <DataColumn name="fullWeight">
-              <Property name="property">fullWeight</Property>
-              <Property name="caption">姣涢噸</Property>
-              <Property name="align">center</Property>
-              <Property name="width">120</Property>
-            </DataColumn>
-            <DataColumn name="emptyWeight">
-              <Property name="property">emptyWeight</Property>
-              <Property name="caption">鐨噸</Property>
-              <Property name="align">center</Property>
-              <Property name="width">120</Property>
-            </DataColumn>
-            <DataColumn name="netWeight">
-              <Property name="property">netWeight</Property>
-              <Property name="align">center</Property>
-              <Property name="caption">鍑�閲�</Property>
-              <Property name="width">120</Property>
-            </DataColumn>
-            <DataColumn>
-              <Property name="property">deSum</Property>
-              <Property name="align">center</Property>
-              <Property name="caption">鎬绘墸閲�</Property>
-              <Property name="name">deSum</Property>
-              <Property name="width">120</Property>
+            <DataColumn name="contractName">
+              <Property name="property">contractName</Property>
             </DataColumn>
             <DataColumn name="settleWeight">
-              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
-                        arg.processDefault = true;</ClientEvent>
               <Property name="property">settleWeight</Property>
-              <Property name="align">center</Property>
-              <Property name="width">120</Property>
+            </DataColumn>
+            <DataColumn name="payPrice">
+              <Property name="property">payPrice</Property>
             </DataColumn>
             <DataColumn>
-              <Property name="property">price</Property>
-              <Property name="align">center</Property>
-              <Property name="width">150</Property>
-              <Property name="name">price</Property>
+              <Property name="property">payMoney</Property>
+              <Property name="name">payMoney</Property>
             </DataColumn>
-            <DataColumn name="completeTime">
-              <Property name="property">completeTime</Property>
-              <Property name="width">150</Property>
+            <DataColumn name="payTime">
+              <Property name="property">payTime</Property>
+            </DataColumn>
+            <DataColumn name="payType">
+              <Property name="property">payType</Property>
+            </DataColumn>
+            <DataColumn name="payee">
+              <Property name="property">payee</Property>
+            </DataColumn>
+            <DataColumn name="bank">
+              <Property name="property">bank</Property>
+            </DataColumn>
+            <DataColumn name="bizType">
+              <Property name="property">bizType</Property>
+            </DataColumn>
+            <DataColumn name="payUser">
+              <Property name="property">payUser</Property>
             </DataColumn>
           </DataGrid>
           <ToolBar layoutConstraint="bottom ">
             <Fill/>
             <DataPilot layoutConstraint="right">
               <Property name="itemCodes">pageSize,pages</Property>
-              <Property name="dataSet">dsInoutRecord</Property>
+              <Property name="dataSet">dsSettle1</Property>
             </DataPilot>
           </ToolBar>
           <Dialog id="dialogMain">
@@ -404,6 +251,7 @@
             <Property name="width">75%</Property>
             <Property name="iconClass">fa fa-tasks</Property>
             <Property name="showCaptionBar">true</Property>
+            <Property name="ignored">true</Property>
             <Buttons>
               <Button>
                 <ClientEvent name="onClick">var data = view.get(&quot;#dsInoutRecord.data:#&quot;);&#xD;
@@ -693,22 +541,21 @@
       </ControlTab>
       <ControlTab>
         <ClientEvent name="onClick">view.get(&quot;#btnExcel&quot;).set(&quot;visible&quot;,true);</ClientEvent>
-        <Property name="caption">宸茬粨绠�</Property>
+        <Property name="caption">鍗曡溅缁撶畻</Property>
         <Property name="iconClass">fa fa-jpy</Property>
         <Property name="width">150</Property>
         <Container layout="regionPadding:10" layoutConstraint="center">
           <Property name="exClassName">bg-color</Property>
-          <DataSet id="dsSettleData">
+          <DataSet id="dsSettle2">
             <Property name="pageSize">20</Property>
-            <Property name="dataProvider">inoutSettlePR#pageSettleData</Property>
+            <Property name="dataProvider">inoutSettlePR#pageSettleIn0</Property>
             <Property name="dataType">[dtInoutSettle]</Property>
           </DataSet>
           <DataGrid id="dataGridMain2" layoutConstraint="center">
-            <ClientEvent name="onDataRowDoubleClick">settle2();</ClientEvent>
-            <ClientEvent name="onDataRowClick">          </ClientEvent>
-            <Property name="dataSet">dsSettleData</Property>
+            <Property name="dataSet">dsSettle2</Property>
             <Property name="readOnly">true</Property>
             <Property name="dynaRowHeight">false</Property>
+            <Property name="selectionMode">multiRows</Property>
             <Property name="highlightSelectedRow">true</Property>
             <Property name="highlightCurrentRow">true</Property>
             <Property name="highlightHoverRow">true</Property>
@@ -721,91 +568,46 @@
               <Property name="align">center</Property>
               <Property name="width">150</Property>
             </DataColumn>
-            <DataColumn name="plateNum">
-              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
-arg.processDefault = true;</ClientEvent>
-              <Property name="property">plateNum</Property>
-              <Property name="align">center</Property>
-              <Property name="width">150</Property>
-            </DataColumn>
-            <DataColumn name="customerName">
-              <Property name="property">customerName</Property>
-              <Property name="align">center</Property>
-              <Property name="width">200</Property>
-            </DataColumn>
-            <DataColumn name="userName">
-              <Property name="property">userName</Property>
-              <Property name="width">150</Property>
-              <Property name="align">center</Property>
-            </DataColumn>
-            <DataColumn name="foodVariety">
-              <Property name="property">foodVariety</Property>
-              <Property name="align">center</Property>
-              <Property name="width">120</Property>
-            </DataColumn>
             <DataColumn name="depotId">
-              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
-                        arg.processDefault = true;</ClientEvent>
               <Property name="property">depotId</Property>
-              <Property name="align">center</Property>
-              <Property name="width">150</Property>
             </DataColumn>
-            <DataColumn name="paySum">
-              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
-arg.dom.style.color = &quot;#f67d06&quot;;&#xD;
-arg.processDefault = true;</ClientEvent>
-              <Property name="property">paySum</Property>
-              <Property name="width">150</Property>
-              <Property name="align">center</Property>
-            </DataColumn>
-            <DataColumn name="payTime">
-              <Property name="property">payTime</Property>
-              <Property name="width">150</Property>
-              <Property name="align">center</Property>
-            </DataColumn>
-            <DataColumn name="fullWeight">
-              <Property name="property">fullWeight</Property>
-              <Property name="caption">姣涢噸</Property>
-              <Property name="align">center</Property>
-              <Property name="width">120</Property>
-            </DataColumn>
-            <DataColumn name="emptyWeight">
-              <Property name="property">emptyWeight</Property>
-              <Property name="caption">鐨噸</Property>
-              <Property name="align">center</Property>
-              <Property name="width">120</Property>
-            </DataColumn>
-            <DataColumn name="netWeight">
-              <Property name="property">netWeight</Property>
-              <Property name="align">center</Property>
-              <Property name="caption">鍑�閲�</Property>
-              <Property name="width">120</Property>
-            </DataColumn>
-            <DataColumn>
-              <Property name="property">deSum</Property>
-              <Property name="align">center</Property>
-              <Property name="caption">鎬绘墸閲�</Property>
-              <Property name="name">deSum</Property>
-              <Property name="width">120</Property>
+            <DataColumn name="contractName">
+              <Property name="property">contractName</Property>
             </DataColumn>
             <DataColumn name="settleWeight">
-              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
-                        arg.processDefault = true;</ClientEvent>
               <Property name="property">settleWeight</Property>
-              <Property name="align">center</Property>
-              <Property name="width">120</Property>
             </DataColumn>
             <DataColumn name="payPrice">
               <Property name="property">payPrice</Property>
-              <Property name="width">150</Property>
-              <Property name="align">center</Property>
+            </DataColumn>
+            <DataColumn>
+              <Property name="property">payMoney</Property>
+              <Property name="name">payMoney</Property>
+            </DataColumn>
+            <DataColumn name="payTime">
+              <Property name="property">payTime</Property>
+            </DataColumn>
+            <DataColumn name="payType">
+              <Property name="property">payType</Property>
+            </DataColumn>
+            <DataColumn name="payee">
+              <Property name="property">payee</Property>
+            </DataColumn>
+            <DataColumn name="bank">
+              <Property name="property">bank</Property>
+            </DataColumn>
+            <DataColumn name="bizType">
+              <Property name="property">bizType</Property>
+            </DataColumn>
+            <DataColumn name="payUser">
+              <Property name="property">payUser</Property>
             </DataColumn>
           </DataGrid>
           <ToolBar layoutConstraint="bottom ">
             <Fill/>
             <DataPilot layoutConstraint="right">
               <Property name="itemCodes">pageSize,pages</Property>
-              <Property name="dataSet">dsSettleData</Property>
+              <Property name="dataSet">dsSettle2</Property>
             </DataPilot>
           </ToolBar>
           <Dialog id="dialogMain2">
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettle1.js b/igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettle1.js
new file mode 100644
index 0000000..c514f87
--- /dev/null
+++ b/igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettle1.js
@@ -0,0 +1,34 @@
+
+/**
+ * 鎵撳嵃鍑哄簱杩囩鍗�
+ */
+printBill = function(htmlStr) {
+	var LODOP = CLODOP;
+	LODOP.PRINT_INIT("绉伴噸鍗�");
+	LODOP.SET_PRINT_PAGESIZE(1,2050,1400, "A4");
+	//LODOP.SET_PRINT_PAGESIZE(1, 0, '90mm', "A4");
+	LODOP.ADD_PRINT_HTM(0, 0, "100%", "100%", htmlStr);
+	LODOP.PREVIEW();
+};
+
+//鎵撳嵃缁撶畻鍗�
+printSettle = function(data){
+	if(!data){
+		$alert("娌℃湁鑾峰彇鍒扮粨绠椾俊鎭紝璇峰厛杩涜缁撶畻锛�");
+		return ;
+	}
+	view.get("#ajaxPrint").set("parameter",data).execute(function(result){
+		printBill(result);
+	});
+};
+
+//鎵撳嵃缁撶畻鍗�
+printSettle2 = function(data){
+	if(!data){
+		$alert("娌℃湁鑾峰彇鍒扮粨绠椾俊鎭紝璇峰厛杩涜缁撶畻锛�");
+		return ;
+	}
+	view.get("#ajaxPrint2").set("parameter",data).execute(function(result){
+		printBill(result);
+	});
+};
\ No newline at end of file
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettle1.view.xml b/igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettle1.view.xml
new file mode 100644
index 0000000..615c485
--- /dev/null
+++ b/igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettle1.view.xml
@@ -0,0 +1,1147 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ViewConfig>
+  <Arguments/>
+  <Context/>
+  <Model>
+    <DataType name="dtInoutRecord" parent="global:dtInoutRecord">
+      <PropertyDef name="settleTag">
+        <Property></Property>
+        <Property name="label">缁撶畻鐘舵��</Property>
+        <Property name="mapping">
+          <Property name="mapValues">${dorado.getDataProvider(&quot;inoutSettlePR#triggerSettleTag&quot;).getResult()}</Property>
+          <Property name="keyProperty">code</Property>
+          <Property name="valueProperty">name</Property>
+        </Property>
+      </PropertyDef>
+      <PropertyDef name="price">
+        <Property></Property>
+        <Property name="label">鍒濇瀹氫环</Property>
+        <Property name="dataType">Double</Property>
+        <Property name="displayFormat">0.000 鍏�/鍏枻</Property>
+      </PropertyDef>
+    </DataType>
+    <DataType name="dtQuery">
+      <Property name="creationType">com.ld.igds.inout.dto.InoutParam</Property>
+      <PropertyDef name="deptId">
+        <Property></Property>
+        <Property name="label">鎵�灞炲垎搴�</Property>
+      </PropertyDef>
+      <PropertyDef name="id">
+        <Property name="label">鍗曟嵁鍙�</Property>
+      </PropertyDef>
+      <PropertyDef name="type">
+        <Property name="label">鍑哄叆搴撶被鍨�</Property>
+      </PropertyDef>
+      <PropertyDef name="plateNum">
+        <Property name="label">杞︾墝鍙�</Property>
+      </PropertyDef>
+      <PropertyDef name="customerId">
+        <Property></Property>
+        <Property name="label">寰�鏉ュ崟浣�</Property>
+      </PropertyDef>
+      <PropertyDef name="customerName">
+        <Property></Property>
+        <Property name="label">寰�鏉ュ崟浣�</Property>
+      </PropertyDef>
+      <PropertyDef name="depotId">
+        <Property></Property>
+        <Property name="label">浠撳簱</Property>
+        <Property name="mapping">
+          <Property name="mapValues">${dorado.getDataProvider(&quot;depotPR#getAllCache&quot;).getResult()}</Property>
+          <Property name="keyProperty">id</Property>
+          <Property name="valueProperty">name</Property>
+        </Property>
+      </PropertyDef>
+      <PropertyDef name="foodVariety">
+        <Property></Property>
+        <Property name="label">绮鍝佺</Property>
+        <Property name="mapping">
+          <Property name="mapValues">${dorado.getDataProvider(&quot;dicTriggerPR#dicTrigger&quot;).getResult(&quot;FOOD_VARIETY_&quot;)}</Property>
+          <Property name="keyProperty">code</Property>
+          <Property name="valueProperty">name</Property>
+        </Property>
+      </PropertyDef>
+      <PropertyDef name="settleTag">
+        <Property name="mapping">
+          <Property name="mapValues">${dorado.getDataProvider(&quot;inoutSettlePR#triggerSettleTag&quot;).getResult()}</Property>
+          <Property name="keyProperty">code</Property>
+          <Property name="valueProperty">name</Property>
+        </Property>
+        <Property name="label">缁撶畻鐘舵��</Property>
+        <Property name="defaultValue">N</Property>
+      </PropertyDef>
+      <PropertyDef name="start">
+        <Property name="label">寮�濮嬫椂闂�</Property>
+        <Property name="dataType">Date</Property>
+      </PropertyDef>
+      <PropertyDef name="end">
+        <Property name="label">鎴鏃堕棿</Property>
+        <Property name="dataType">Date</Property>
+      </PropertyDef>
+    </DataType>
+    <DataType name="dtInoutSettle" parent="global:dtInoutSettle">
+      <ClientEvent name="onDataChange">if(arg.property ==&quot;payPrice&quot;){&#xD;
+    checkCount(arg.newValue);&#xD;
+}&#xD;
+if(arg.property ==&quot;otherSum&quot;){&#xD;
+    checkCount(arg.newValue);&#xD;
+}</ClientEvent>
+      <PropertyDef name="depotId">
+        <Property></Property>
+        <Property name="label">鎵�灞炰粨搴�</Property>
+        <Property name="mapping">
+          <Property name="mapValues">${dorado.getDataProvider(&quot;depotPR#getAllCache&quot;).getResult()}</Property>
+          <Property name="keyProperty">id</Property>
+          <Property name="valueProperty">name</Property>
+        </Property>
+      </PropertyDef>
+      <PropertyDef name="deptId">
+        <Property></Property>
+      </PropertyDef>
+      <PropertyDef name="userName">
+        <Property></Property>
+        <Property name="label">鎵胯繍浜�</Property>
+      </PropertyDef>
+      <PropertyDef name="plateNum">
+        <Property></Property>
+        <Property name="label">杞︾墝鍙�</Property>
+      </PropertyDef>
+      <PropertyDef name="foodVariety">
+        <Property></Property>
+        <Property name="label">绮鍝佺</Property>
+        <Property name="mapping">
+          <Property name="mapValues">${dorado.getDataProvider(&quot;dicTriggerPR#dicTrigger&quot;).getResult(&quot;FOOD_VARIETY_&quot;)}</Property>
+          <Property name="keyProperty">code</Property>
+          <Property name="valueProperty">name</Property>
+        </Property>
+      </PropertyDef>
+      <PropertyDef name="foodLevel">
+        <Property></Property>
+        <Property name="label">绮绛夌骇</Property>
+        <Property name="mapping">
+          <Property name="mapValues">${dorado.getDataProvider(&quot;dicTriggerPR#dicTrigger&quot;).getResult(&quot;FOOD_LEVEL_&quot;)}</Property>
+          <Property name="keyProperty">code</Property>
+          <Property name="valueProperty">name</Property>
+        </Property>
+      </PropertyDef>
+      <PropertyDef name="completeTime">
+        <Property></Property>
+        <Property name="label">瀹屾垚鏃堕棿</Property>
+        <Property name="dataType">DateTime</Property>
+      </PropertyDef>
+    </DataType>
+  </Model>
+  <View layout="padding:5;regionPadding:10">
+    <ClientEvent name="onReady">var TYPE = &quot;${request.getParameter('type')}&quot;;&#xD;
+                          &#xD;
+//榛樿鏌ヨ鏌ヨ鎻愭潯浠�&#xD;
+view.get(&quot;#dsQuery&quot;).insert({&#xD;
+	type: TYPE&#xD;
+});&#xD;
+            &#xD;
+//鏌ヨ&#xD;
+query = function(){&#xD;
+	var data = view.get(&quot;#dsQuery.data&quot;);&#xD;
+	var tabIndex = view.get(&quot;#tabControl1&quot;).get(&quot;currentIndex&quot;);&#xD;
+	if(0 == tabIndex){&#xD;
+		view.get(&quot;#dsInoutRecord&quot;).set(&quot;parameter&quot;,data).flushAsync();&#xD;
+		view.get(&quot;#dsSettleData&quot;).set(&quot;parameter&quot;,data);&#xD;
+	}else{&#xD;
+		view.get(&quot;#dsSettleData&quot;).set(&quot;parameter&quot;,data).flushAsync();&#xD;
+	}&#xD;
+};&#xD;
+query();&#xD;
+&#xD;
+//缁撶畻&#xD;
+settle = function(){&#xD;
+	var data = view.get(&quot;#dataGridMain.currentEntity&quot;);&#xD;
+    if (!data) {&#xD;
+		return;&#xD;
+	}&#xD;
+    view.get(&quot;#dialogMain&quot;).show();&#xD;
+    view.get(&quot;#dsSettle&quot;).set(&quot;parameter&quot;,data).flushAsync();&#xD;
+};&#xD;
+&#xD;
+settle2 = function(){&#xD;
+	var data = view.get(&quot;#dataGridMain2.currentEntity&quot;);&#xD;
+    if (!data) {&#xD;
+		return;&#xD;
+	}&#xD;
+    view.get(&quot;#dialogMain2&quot;).show();&#xD;
+};&#xD;
+                      &#xD;
+//閲嶆柊璁$畻閲戦&#xD;
+checkCount = function(){&#xD;
+	var settle = view.get(&quot;#dsSettle.data&quot;);&#xD;
+	&#xD;
+	//璁$畻绮鎬婚噾棰�&#xD;
+	var payPrice = settle.get(&quot;payPrice&quot;);&#xD;
+	&#xD;
+    var foodSum = settle.get(&quot;settleWeight&quot;) * payPrice;&#xD;
+	&#xD;
+	//璁$畻缁撶畻璐圭敤&#xD;
+	var otherSum = settle.get(&quot;otherSum&quot;);&#xD;
+	&#xD;
+	//璁$畻缁撶畻璐圭敤&#xD;
+	var paySum = foodSum - otherSum;&#xD;
+    settle.set(&quot;paySum&quot;,paySum); &#xD;
+};&#xD;
+    </ClientEvent>
+    <Property name="packages">font-awesome,css-common</Property>
+    <Property name="javaScriptFile">./static/plugins/lodop/LodopFuncs.js</Property>
+    <DataSet id="dsQuery">
+      <Property name="dataType">dtQuery</Property>
+    </DataSet>
+    <ToolBar layoutConstraint="top">
+      <SimpleIconButton>
+        <Property name="iconClass">fa fa-th-list</Property>
+      </SimpleIconButton>
+      <ToolBarLabel>
+        <Property name="text">缁撶畻鍒楄〃</Property>
+        <Property name="style">
+          <Property name="font-weight">bold</Property>
+        </Property>
+      </ToolBarLabel>
+    </ToolBar>
+    <AutoForm layoutConstraint="top">
+      <Property name="cols">*,*,*,*</Property>
+      <Property name="dataSet">dsQuery</Property>
+      <Property name="exClassName">bg-color</Property>
+      <Property name="labelWidth">90</Property>
+      <Property name="labelSeparator">:</Property>
+      <Property name="labelAlign">right</Property>
+      <AutoFormElement>
+        <Property name="name">id</Property>
+        <Property name="property">id</Property>
+        <Editor>
+          <TextEditor>
+            <Property name="blankText">-- 鏀寔妯$硦 --</Property>
+          </TextEditor>
+        </Editor>
+      </AutoFormElement>
+      <AutoFormElement>
+        <Property name="name">plateNum</Property>
+        <Property name="property">plateNum</Property>
+        <Editor>
+          <TextEditor>
+            <Property name="blankText">-- 鏀寔妯$硦 --</Property>
+          </TextEditor>
+        </Editor>
+      </AutoFormElement>
+      <AutoFormElement>
+        <Property name="name">customerName</Property>
+        <Property name="property">customerName</Property>
+        <Property name="trigger">ddCustomer</Property>
+        <Property name="editable">false</Property>
+        <Editor/>
+      </AutoFormElement>
+      <AutoFormElement>
+        <Property name="name">depotId</Property>
+        <Property name="property">depotId</Property>
+        <Property name="trigger">autoMappingDropDown2</Property>
+        <Editor/>
+      </AutoFormElement>
+      <AutoFormElement>
+        <Property name="name">start</Property>
+        <Property name="property">start</Property>
+        <Property name="trigger">defaultDateDropDown</Property>
+        <Editor/>
+      </AutoFormElement>
+      <AutoFormElement>
+        <Property name="name">end</Property>
+        <Property name="property">end</Property>
+        <Property name="trigger">defaultDateDropDown</Property>
+        <Editor/>
+      </AutoFormElement>
+      <Container layout="hbox regionPadding:15">
+        <Button>
+          <ClientEvent name="onClick">query();&#xD;
+                    </ClientEvent>
+          <Property name="caption">鏌ヨ</Property>
+          <Property name="exClassName">btn-normal</Property>
+          <Property name="iconClass">fa fa-search</Property>
+        </Button>
+        <Button>
+          <ClientEvent name="onClick">var type =&quot;${request.getParameter('type')}&quot;;&#xD;
+                        var deptId = window.parent.deptId;//鐖堕〉闈腑鐨勫垎搴撶紪鐮�&#xD;
+                        view.get(&quot;#dsQuery&quot;).setData({type:type,deptId:deptId});</ClientEvent>
+          <Property name="exClassName">btn-warn</Property>
+          <Property name="iconClass">fa fa-refresh</Property>
+          <Property name="caption">閲嶇疆</Property>
+        </Button>
+        <Button id="btnExcel">
+          <Property name="exClassName">btn-flush</Property>
+          <Property name="iconClass">fa fa-file-excel-o</Property>
+          <Property name="caption">瀵煎嚭EXCEL</Property>
+          <Property name="hideMode">display</Property>
+          <Property name="visible">false</Property>
+          <Property name="action">export2Pay</Property>
+        </Button>
+      </Container>
+    </AutoForm>
+    <TabControl id="tabControl1">
+      <ControlTab>
+        <ClientEvent name="onClick">view.get(&quot;#btnExcel&quot;).set(&quot;visible&quot;,false);</ClientEvent>
+        <Property name="caption">鏈粨绠�</Property>
+        <Property name="iconClass">fa fa-th-list</Property>
+        <Property name="width">150</Property>
+        <Container layout="regionPadding:10" layoutConstraint="center">
+          <Property name="exClassName">bg-color</Property>
+          <DataSet id="dsInoutRecord">
+            <Property name="pageSize">20</Property>
+            <Property name="dataProvider">inoutSettlePR#pageInoutRecord</Property>
+            <Property name="loadMode">manual</Property>
+            <Property name="dataType">[dtInoutRecord]</Property>
+          </DataSet>
+          <DataSet id="dsSettle">
+            <Property name="dataType">dtInoutSettle</Property>
+            <Property name="loadMode">manual</Property>
+            <Property name="dataProvider">inoutSettlePR#getSettleByInoutData</Property>
+          </DataSet>
+          <DataGrid id="dataGridMain" layoutConstraint="center">
+            <ClientEvent name="onDataRowDoubleClick">settle();</ClientEvent>
+            <ClientEvent name="onDataRowClick">//瀹炵幇鐐瑰嚮鍗抽�変腑&#xD;
+                    //self.set(&quot;selection&quot;,arg.data);
+                </ClientEvent>
+            <Property name="dataSet">dsInoutRecord</Property>
+            <Property name="readOnly">true</Property>
+            <Property name="dynaRowHeight">false</Property>
+            <Property name="selectionMode">multiRows</Property>
+            <Property name="highlightSelectedRow">true</Property>
+            <Property name="highlightCurrentRow">true</Property>
+            <Property name="highlightHoverRow">true</Property>
+            <RowNumColumn/>
+            <DataColumn name="id">
+              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
+                        arg.dom.style.color = &quot;#f67d06&quot;;&#xD;
+                        arg.processDefault = true;</ClientEvent>
+              <Property name="property">id</Property>
+              <Property name="align">center</Property>
+              <Property name="width">150</Property>
+            </DataColumn>
+            <DataColumn name="plateNum">
+              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
+                        arg.processDefault = true;</ClientEvent>
+              <Property name="property">plateNum</Property>
+              <Property name="align">center</Property>
+              <Property name="width">150</Property>
+            </DataColumn>
+            <DataColumn name="customerName">
+              <Property name="property">customerName</Property>
+              <Property name="align">center</Property>
+              <Property name="width">200</Property>
+            </DataColumn>
+            <DataColumn name="userName">
+              <Property name="property">userName</Property>
+              <Property name="width">150</Property>
+              <Property name="align">center</Property>
+            </DataColumn>
+            <DataColumn name="foodVariety">
+              <Property name="property">foodVariety</Property>
+              <Property name="align">center</Property>
+              <Property name="width">150</Property>
+            </DataColumn>
+            <DataColumn name="depotId">
+              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
+                        arg.processDefault = true;</ClientEvent>
+              <Property name="property">depotId</Property>
+              <Property name="align">center</Property>
+              <Property name="width">150</Property>
+            </DataColumn>
+            <DataColumn name="fullWeight">
+              <Property name="property">fullWeight</Property>
+              <Property name="caption">姣涢噸</Property>
+              <Property name="align">center</Property>
+              <Property name="width">120</Property>
+            </DataColumn>
+            <DataColumn name="emptyWeight">
+              <Property name="property">emptyWeight</Property>
+              <Property name="caption">鐨噸</Property>
+              <Property name="align">center</Property>
+              <Property name="width">120</Property>
+            </DataColumn>
+            <DataColumn name="netWeight">
+              <Property name="property">netWeight</Property>
+              <Property name="align">center</Property>
+              <Property name="caption">鍑�閲�</Property>
+              <Property name="width">120</Property>
+            </DataColumn>
+            <DataColumn>
+              <Property name="property">deSum</Property>
+              <Property name="align">center</Property>
+              <Property name="caption">鎬绘墸閲�</Property>
+              <Property name="name">deSum</Property>
+              <Property name="width">120</Property>
+            </DataColumn>
+            <DataColumn name="settleWeight">
+              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
+                        arg.processDefault = true;</ClientEvent>
+              <Property name="property">settleWeight</Property>
+              <Property name="align">center</Property>
+              <Property name="width">120</Property>
+            </DataColumn>
+            <DataColumn>
+              <Property name="property">price</Property>
+              <Property name="align">center</Property>
+              <Property name="width">150</Property>
+              <Property name="name">price</Property>
+            </DataColumn>
+            <DataColumn name="completeTime">
+              <Property name="property">completeTime</Property>
+              <Property name="width">150</Property>
+            </DataColumn>
+          </DataGrid>
+          <ToolBar layoutConstraint="bottom ">
+            <Fill/>
+            <DataPilot layoutConstraint="right">
+              <Property name="itemCodes">pageSize,pages</Property>
+              <Property name="dataSet">dsInoutRecord</Property>
+            </DataPilot>
+          </ToolBar>
+          <Dialog id="dialogMain">
+            <Property name="closeable">false</Property>
+            <Property name="caption">琛ㄥ崟淇℃伅</Property>
+            <Property name="width">75%</Property>
+            <Property name="iconClass">fa fa-tasks</Property>
+            <Property name="showCaptionBar">true</Property>
+            <Buttons>
+              <Button>
+                <ClientEvent name="onClick">var data = view.get(&quot;#dsInoutRecord.data:#&quot;);&#xD;
+var settle = view.get(&quot;#dsSettle.data&quot;);&#xD;
+&#xD;
+if(settle.get(&quot;paySum&quot;) &lt;= 0){&#xD;
+	$alert(&quot;缁撶畻閲戦&lt;= 0 ,涓嶅悎瑙勶紝璇风‘璁も�︹��&quot;);&#xD;
+	return;&#xD;
+}&#xD;
+&#xD;
+view.get(&quot;#ajaxSaveSettle&quot;).set(&quot;parameter&quot;,settle).execute(function(result){&#xD;
+	if(result){&#xD;
+    	$alert(result);&#xD;
+        return;&#xD;
+    }else{&#xD;
+		printSettle(data);&#xD;
+	}&#xD;
+});&#xD;
+$notify(&quot;鏁版嵁鎵ц瀹屾垚锛侊紒&quot;);&#xD;
+self.get(&quot;parent&quot;).hide();&#xD;
+query();</ClientEvent>
+                <Property name="caption">缁撶畻骞舵墦鍗�</Property>
+                <Property name="iconClass">fa fa-print</Property>
+                <Property name="exClassName">btn-default</Property>
+                <Property name="hideMode">display</Property>
+              </Button>
+              <Button>
+                <ClientEvent name="onClick">var data = view.get(&quot;#dsMain.data:#&quot;);&#xD;
+var settle = view.get(&quot;#dsSettle.data&quot;);&#xD;
+if(settle.get(&quot;paySum&quot;) &lt;= 0){&#xD;
+	$alert(&quot;缁撶畻閲戦&lt;= 0 ,涓嶅悎瑙勶紝璇风‘璁も�︹��&quot;);&#xD;
+	return;&#xD;
+}&#xD;
+view.get(&quot;#ajaxSaveSettle&quot;).set(&quot;parameter&quot;,settle).execute(function(result){&#xD;
+	if(result){&#xD;
+    	$alert(result);&#xD;
+        return;&#xD;
+    }&#xD;
+});&#xD;
+$notify(&quot;鏁版嵁鎵ц瀹屾垚锛侊紒&quot;);&#xD;
+self.get(&quot;parent&quot;).hide();&#xD;
+query();</ClientEvent>
+                <Property name="caption">浠呯‘璁ょ粨绠�</Property>
+                <Property name="iconClass">fa fa-check</Property>
+                <Property name="exClassName">btn-normal</Property>
+              </Button>
+              <Button>
+                <ClientEvent name="onClick">self.get(&quot;parent&quot;).hide();</ClientEvent>
+                <Property name="caption">鍙栨秷鎿嶄綔</Property>
+                <Property name="iconClass">fa fa-times</Property>
+                <Property name="exClassName">btn-warn</Property>
+              </Button>
+            </Buttons>
+            <Children>
+              <Container>
+                <FieldSet layout="padding:2" layoutConstraint="padding:10px">
+                  <Property name="caption">鍗曟嵁鍩烘湰淇℃伅</Property>
+                  <Buttons/>
+                  <Children>
+                    <AutoForm>
+                      <Property name="dataSet">dsInoutRecord</Property>
+                      <Property name="cols">*,*,*</Property>
+                      <Property name="labelSeparator">锛�</Property>
+                      <Property name="labelWidth">90</Property>
+                      <Property name="labelAlign">right</Property>
+                      <AutoFormElement>
+                        <Property name="name">id</Property>
+                        <Property name="property">id</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">userName</Property>
+                        <Property name="property">userName</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">customerName</Property>
+                        <Property name="property">customerName</Property>
+                        <Property name="trigger">ddCustomer</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">depotId</Property>
+                        <Property name="property">depotId</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">foodVariety</Property>
+                        <Property name="property">foodVariety</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">foodLevel</Property>
+                        <Property name="property">foodLevel</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                    </AutoForm>
+                  </Children>
+                </FieldSet>
+                <FieldSet layout="padding:2" layoutConstraint="padding:10px">
+                  <Property name="caption">缁撶畻绉伴噸淇℃伅锛堝崟浣嶏細KG锛�</Property>
+                  <Buttons/>
+                  <Children>
+                    <AutoForm>
+                      <Property name="dataSet">dsSettle</Property>
+                      <Property name="cols">*,*,*</Property>
+                      <Property name="labelAlign">right</Property>
+                      <Property name="labelWidth">90</Property>
+                      <Property name="labelSeparator">锛�</Property>
+                      <AutoFormElement>
+                        <ClientEvent name="onBlur">deAutoByWeight();&#xD;
+                                            </ClientEvent>
+                        <Property name="name">fullWeight</Property>
+                        <Property name="property">fullWeight</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <ClientEvent name="onBlur">deAutoByWeight();</ClientEvent>
+                        <Property name="name">emptyWeight</Property>
+                        <Property name="property">emptyWeight</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">netWeight</Property>
+                        <Property name="property">netWeight</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">deSum</Property>
+                        <Property name="property">deSum</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">settleWeight</Property>
+                        <Property name="property">settleWeight</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">completeTime</Property>
+                        <Property name="property">completeTime</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                    </AutoForm>
+                  </Children>
+                </FieldSet>
+                <FieldSet layout="padding:2" layoutConstraint="padding:10px">
+                  <Property name="caption">缁撶畻璐圭敤淇℃伅</Property>
+                  <Buttons/>
+                  <Children>
+                    <AutoForm>
+                      <Property name="cols">*,*,*</Property>
+                      <Property name="dataSet">dsSettle</Property>
+                      <Property name="labelSeparator">锛�</Property>
+                      <Property name="labelAlign">right</Property>
+                      <Property name="labelWidth">90</Property>
+                      <AutoFormElement>
+                        <Property name="name">fullWeight</Property>
+                        <Property name="property">fullWeight</Property>
+                        <Property name="readOnly">true</Property>
+                        <Property name="visible">false</Property>
+                        <Property name="hideMode">display</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">emptyWeight</Property>
+                        <Property name="property">emptyWeight</Property>
+                        <Property name="readOnly">true</Property>
+                        <Property name="visible">false</Property>
+                        <Property name="hideMode">display</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">netWeight</Property>
+                        <Property name="property">netWeight</Property>
+                        <Property name="readOnly">true</Property>
+                        <Property name="visible">false</Property>
+                        <Property name="hideMode">display</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">deSum</Property>
+                        <Property name="property">deSum</Property>
+                        <Property name="readOnly">true</Property>
+                        <Property name="visible">false</Property>
+                        <Property name="hideMode">display</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">settleWeight</Property>
+                        <Property name="property">settleWeight</Property>
+                        <Property name="readOnly">true</Property>
+                        <Property name="visible">false</Property>
+                        <Property name="hideMode">display</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">customerName</Property>
+                        <Property name="property">customerName</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">bank</Property>
+                        <Property name="property">bank</Property>
+                        <Property name="readOnly">false</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">payPrice</Property>
+                        <Property name="property">payPrice</Property>
+                        <Property name="readOnly">false</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">payType</Property>
+                        <Property name="property">payType</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">bankNum</Property>
+                        <Property name="property">bankNum</Property>
+                        <Property name="readOnly">false</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">otherSum</Property>
+                        <Property name="property">otherSum</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">payUser</Property>
+                        <Property name="property">payUser</Property>
+                        <Property name="editable">false</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">payTime</Property>
+                        <Property name="property">payTime</Property>
+                        <Property name="editable">false</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">paySum</Property>
+                        <Property name="property">paySum</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement layoutConstraint="colSpan:2">
+                        <Property name="name">remarks</Property>
+                        <Property name="property">remarks</Property>
+                        <Property name="readOnly">false</Property>
+                        <Property name="editorType">TextArea</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <Button>
+                        <ClientEvent name="onClick">checkCount();</ClientEvent>
+                        <Property name="caption">纭鍗曚环鍜屾�婚</Property>
+                        <Property name="iconClass">fa fa-jpy</Property>
+                        <Property name="exClassName">btn-warm</Property>
+                        <Property name="tip">鍙‘璁や环鏍煎拰鎬婚锛屼笉鎵ц淇濆瓨</Property>
+                        <Property name="style">
+                          <Property name="margin-left">90px</Property>
+                        </Property>
+                      </Button>
+                    </AutoForm>
+                  </Children>
+                </FieldSet>
+              </Container>
+            </Children>
+            <Tools/>
+          </Dialog>
+        </Container>
+      </ControlTab>
+      <ControlTab>
+        <ClientEvent name="onClick">view.get(&quot;#btnExcel&quot;).set(&quot;visible&quot;,true);</ClientEvent>
+        <Property name="caption">宸茬粨绠�</Property>
+        <Property name="iconClass">fa fa-jpy</Property>
+        <Property name="width">150</Property>
+        <Container layout="regionPadding:10" layoutConstraint="center">
+          <Property name="exClassName">bg-color</Property>
+          <DataSet id="dsSettleData">
+            <Property name="pageSize">20</Property>
+            <Property name="dataProvider">inoutSettlePR#pageSettleData</Property>
+            <Property name="dataType">[dtInoutSettle]</Property>
+          </DataSet>
+          <DataGrid id="dataGridMain2" layoutConstraint="center">
+            <ClientEvent name="onDataRowDoubleClick">settle2();</ClientEvent>
+            <ClientEvent name="onDataRowClick">          </ClientEvent>
+            <Property name="dataSet">dsSettleData</Property>
+            <Property name="readOnly">true</Property>
+            <Property name="dynaRowHeight">false</Property>
+            <Property name="highlightSelectedRow">true</Property>
+            <Property name="highlightCurrentRow">true</Property>
+            <Property name="highlightHoverRow">true</Property>
+            <RowNumColumn/>
+            <DataColumn name="id">
+              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
+arg.dom.style.color = &quot;#f67d06&quot;;&#xD;
+arg.processDefault = true;</ClientEvent>
+              <Property name="property">id</Property>
+              <Property name="align">center</Property>
+              <Property name="width">150</Property>
+            </DataColumn>
+            <DataColumn name="plateNum">
+              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
+arg.processDefault = true;</ClientEvent>
+              <Property name="property">plateNum</Property>
+              <Property name="align">center</Property>
+              <Property name="width">150</Property>
+            </DataColumn>
+            <DataColumn name="customerName">
+              <Property name="property">customerName</Property>
+              <Property name="align">center</Property>
+              <Property name="width">200</Property>
+            </DataColumn>
+            <DataColumn name="userName">
+              <Property name="property">userName</Property>
+              <Property name="width">150</Property>
+              <Property name="align">center</Property>
+            </DataColumn>
+            <DataColumn name="foodVariety">
+              <Property name="property">foodVariety</Property>
+              <Property name="align">center</Property>
+              <Property name="width">120</Property>
+            </DataColumn>
+            <DataColumn name="depotId">
+              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
+                        arg.processDefault = true;</ClientEvent>
+              <Property name="property">depotId</Property>
+              <Property name="align">center</Property>
+              <Property name="width">150</Property>
+            </DataColumn>
+            <DataColumn name="paySum">
+              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
+arg.dom.style.color = &quot;#f67d06&quot;;&#xD;
+arg.processDefault = true;</ClientEvent>
+              <Property name="property">paySum</Property>
+              <Property name="width">150</Property>
+              <Property name="align">center</Property>
+            </DataColumn>
+            <DataColumn name="payTime">
+              <Property name="property">payTime</Property>
+              <Property name="width">150</Property>
+              <Property name="align">center</Property>
+            </DataColumn>
+            <DataColumn name="fullWeight">
+              <Property name="property">fullWeight</Property>
+              <Property name="caption">姣涢噸</Property>
+              <Property name="align">center</Property>
+              <Property name="width">120</Property>
+            </DataColumn>
+            <DataColumn name="emptyWeight">
+              <Property name="property">emptyWeight</Property>
+              <Property name="caption">鐨噸</Property>
+              <Property name="align">center</Property>
+              <Property name="width">120</Property>
+            </DataColumn>
+            <DataColumn name="netWeight">
+              <Property name="property">netWeight</Property>
+              <Property name="align">center</Property>
+              <Property name="caption">鍑�閲�</Property>
+              <Property name="width">120</Property>
+            </DataColumn>
+            <DataColumn>
+              <Property name="property">deSum</Property>
+              <Property name="align">center</Property>
+              <Property name="caption">鎬绘墸閲�</Property>
+              <Property name="name">deSum</Property>
+              <Property name="width">120</Property>
+            </DataColumn>
+            <DataColumn name="settleWeight">
+              <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
+                        arg.processDefault = true;</ClientEvent>
+              <Property name="property">settleWeight</Property>
+              <Property name="align">center</Property>
+              <Property name="width">120</Property>
+            </DataColumn>
+            <DataColumn name="payPrice">
+              <Property name="property">payPrice</Property>
+              <Property name="width">150</Property>
+              <Property name="align">center</Property>
+            </DataColumn>
+          </DataGrid>
+          <ToolBar layoutConstraint="bottom ">
+            <Fill/>
+            <DataPilot layoutConstraint="right">
+              <Property name="itemCodes">pageSize,pages</Property>
+              <Property name="dataSet">dsSettleData</Property>
+            </DataPilot>
+          </ToolBar>
+          <Dialog id="dialogMain2">
+            <Property name="closeable">false</Property>
+            <Property name="caption">琛ㄥ崟淇℃伅</Property>
+            <Property name="width">75%</Property>
+            <Property name="iconClass">fa fa-tasks</Property>
+            <Property name="showCaptionBar">true</Property>
+            <Buttons>
+              <Button>
+                <ClientEvent name="onClick">var data = view.get(&quot;#dsSettleData.data:#&quot;);&#xD;
+printSettle2(data);</ClientEvent>
+                <Property name="caption">鎵撳嵃缁撶畻鍗�</Property>
+                <Property name="iconClass">fa fa-print</Property>
+                <Property name="exClassName">btn-default</Property>
+                <Property name="hideMode">display</Property>
+              </Button>
+              <Button>
+                <ClientEvent name="onClick">self.get(&quot;parent&quot;).hide();</ClientEvent>
+                <Property name="caption">鍙栨秷鎿嶄綔</Property>
+                <Property name="iconClass">fa fa-times</Property>
+                <Property name="exClassName">btn-warn</Property>
+              </Button>
+            </Buttons>
+            <Children>
+              <Container>
+                <FieldSet layout="padding:2" layoutConstraint="padding:10px">
+                  <Property name="caption">鍗曟嵁鍩烘湰淇℃伅</Property>
+                  <Buttons/>
+                  <Children>
+                    <AutoForm>
+                      <Property name="dataSet">dsSettleData</Property>
+                      <Property name="cols">*,*,*</Property>
+                      <Property name="labelAlign">right</Property>
+                      <Property name="labelWidth">90</Property>
+                      <Property name="labelSeparator">锛�</Property>
+                      <AutoFormElement>
+                        <Property name="name">id</Property>
+                        <Property name="property">id</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">userName</Property>
+                        <Property name="property">userName</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">customerName</Property>
+                        <Property name="property">customerName</Property>
+                        <Property name="trigger">ddCustomer</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">depotId</Property>
+                        <Property name="property">depotId</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">foodVariety</Property>
+                        <Property name="property">foodVariety</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">foodLevel</Property>
+                        <Property name="property">foodLevel</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                    </AutoForm>
+                  </Children>
+                </FieldSet>
+                <FieldSet layout="padding:2" layoutConstraint="padding:10px">
+                  <Property name="caption">缁撶畻绉伴噸淇℃伅锛堝崟浣嶏細KG锛�</Property>
+                  <Buttons/>
+                  <Children>
+                    <AutoForm>
+                      <Property name="dataSet">dsSettleData</Property>
+                      <Property name="cols">*,*,*</Property>
+                      <Property name="labelAlign">right</Property>
+                      <Property name="labelWidth">90</Property>
+                      <Property name="labelSeparator">锛�</Property>
+                      <AutoFormElement>
+                        <ClientEvent name="onBlur">                                 </ClientEvent>
+                        <Property name="name">fullWeight</Property>
+                        <Property name="property">fullWeight</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">emptyWeight</Property>
+                        <Property name="property">emptyWeight</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">netWeight</Property>
+                        <Property name="property">netWeight</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">deSum</Property>
+                        <Property name="property">deSum</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">settleWeight</Property>
+                        <Property name="property">settleWeight</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">completeTime</Property>
+                        <Property name="property">completeTime</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                    </AutoForm>
+                  </Children>
+                </FieldSet>
+                <FieldSet layout="padding:2" layoutConstraint="padding:10px">
+                  <Property name="caption">缁撶畻璐圭敤淇℃伅</Property>
+                  <Buttons/>
+                  <Children>
+                    <AutoForm>
+                      <Property name="cols">*,*,*</Property>
+                      <Property name="dataSet">dsSettleData</Property>
+                      <Property name="labelSeparator">锛�</Property>
+                      <Property name="labelAlign">right</Property>
+                      <Property name="labelWidth">90</Property>
+                      <Property name="readOnly">true</Property>
+                      <AutoFormElement>
+                        <Property name="name">fullWeight</Property>
+                        <Property name="property">fullWeight</Property>
+                        <Property name="readOnly">true</Property>
+                        <Property name="visible">false</Property>
+                        <Property name="hideMode">display</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">emptyWeight</Property>
+                        <Property name="property">emptyWeight</Property>
+                        <Property name="readOnly">true</Property>
+                        <Property name="visible">false</Property>
+                        <Property name="hideMode">display</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">netWeight</Property>
+                        <Property name="property">netWeight</Property>
+                        <Property name="readOnly">true</Property>
+                        <Property name="visible">false</Property>
+                        <Property name="hideMode">display</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">deSum</Property>
+                        <Property name="property">deSum</Property>
+                        <Property name="readOnly">true</Property>
+                        <Property name="visible">false</Property>
+                        <Property name="hideMode">display</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">settleWeight</Property>
+                        <Property name="property">settleWeight</Property>
+                        <Property name="readOnly">true</Property>
+                        <Property name="visible">false</Property>
+                        <Property name="hideMode">display</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">customerName</Property>
+                        <Property name="property">customerName</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">bank</Property>
+                        <Property name="property">bank</Property>
+                        <Property name="readOnly">false</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">payPrice</Property>
+                        <Property name="property">payPrice</Property>
+                        <Property name="readOnly">false</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">payType</Property>
+                        <Property name="property">payType</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">bankNum</Property>
+                        <Property name="property">bankNum</Property>
+                        <Property name="readOnly">false</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">otherSum</Property>
+                        <Property name="property">otherSum</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">payUser</Property>
+                        <Property name="property">payUser</Property>
+                        <Property name="editable">false</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">payTime</Property>
+                        <Property name="property">payTime</Property>
+                        <Property name="editable">false</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">paySum</Property>
+                        <Property name="property">paySum</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement layoutConstraint="colSpan:2">
+                        <Property name="name">remarks</Property>
+                        <Property name="property">remarks</Property>
+                        <Property name="readOnly">false</Property>
+                        <Property name="editorType">TextArea</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                      <AutoFormElement>
+                        <Property name="name">payTime</Property>
+                        <Property name="property">payTime</Property>
+                        <Property name="readOnly">true</Property>
+                        <Editor/>
+                      </AutoFormElement>
+                    </AutoForm>
+                  </Children>
+                </FieldSet>
+              </Container>
+            </Children>
+            <Tools/>
+          </Dialog>
+        </Container>
+      </ControlTab>
+    </TabControl>
+    <AjaxAction id="ajaxPrint">
+      <Property name="service">inoutSettlePR#printSettleBill</Property>
+      <Property name="executingMessage">姝e湪鎵ц鎵撳嵃鈥︹��</Property>
+      <Property name="async">false</Property>
+    </AjaxAction>
+    <AjaxAction id="ajaxPrint2">
+      <Property name="service">inoutSettlePR#printSettleBill2</Property>
+      <Property name="executingMessage">姝e湪鎵ц鎵撳嵃鈥︹��</Property>
+      <Property name="async">false</Property>
+    </AjaxAction>
+    <AjaxAction id="ajaxGetDepot">
+      <Property name="service">depotPR#getDepot</Property>
+    </AjaxAction>
+    <CustomDropDown id="ddCustomer">
+      <Property name="minHeight">400</Property>
+      <Property name="assignmentMap">customerId=id,customerName=name</Property>
+      <Property name="minWidth">500</Property>
+      <Property name="autoOpen">true</Property>
+      <Container layout="regionPadding:5">
+        <DataSet id="dsCustomer">
+          <Property name="dataProvider">inoutCustomerPR#queryListByKey</Property>
+          <Property name="dataType">[dtInoutCustomer]</Property>
+          <Property name="parameter">
+            <Entity>
+              <Property name="type">${request.getParameter('type')}</Property>
+            </Entity>
+          </Property>
+        </DataSet>
+        <Container layout="hbox regionPadding:5">
+          <TextEditor id="key">
+            <Property name="blankText"> -- 缂栫爜鎴栬�呭悕绉� --</Property>
+            <Property name="width">200</Property>
+          </TextEditor>
+          <Button>
+            <ClientEvent name="onClick">var key = view.get(&quot;#key.value&quot;);&#xD;
+                            var type = &quot;${request.getParameter('type')}&quot;;&#xD;
+                            view.get(&quot;#dsCustomer&quot;).set(&quot;parameter&quot;,{key:key,type:type}).flushAsync();</ClientEvent>
+            <Property name="caption">鏌ヨ</Property>
+            <Property name="iconClass">fa fa-search</Property>
+          </Button>
+          <Button>
+            <ClientEvent name="onClick">var data = view.get(&quot;#dsCustomer.data:#&quot;);&#xD;
+                            if(data){&#xD;
+                            view.get(&quot;#ddCustomer&quot;).close(data.toJSON());&#xD;
+                            }</ClientEvent>
+            <Property name="iconClass">fa fa-check</Property>
+            <Property name="caption">纭畾</Property>
+          </Button>
+        </Container>
+        <DataGrid>
+          <ClientEvent name="onDataRowDoubleClick">var data = view.get(&quot;#dsCustomer.data:#&quot;);&#xD;
+                        if(data){&#xD;
+                        view.get(&quot;#ddCustomer&quot;).close(data.toJSON());&#xD;
+                        }</ClientEvent>
+          <Property name="dataSet">dsCustomer</Property>
+          <Property name="readOnly">true</Property>
+          <DataColumn name="id">
+            <Property name="property">id</Property>
+            <Property name="width">100</Property>
+            <Property name="align">center</Property>
+          </DataColumn>
+          <DataColumn name="name">
+            <ClientEvent name="onRenderCell">arg.dom.style.fontWeight = &quot;bold&quot;;&#xD;
+                            arg.processDefault = true;</ClientEvent>
+            <Property name="property">name</Property>
+            <Property name="align">center</Property>
+          </DataColumn>
+        </DataGrid>
+      </Container>
+    </CustomDropDown>
+    <AjaxAction id="ajaxSaveSettle">
+      <Property name="service">inoutSettlePR#saveData</Property>
+    </AjaxAction>
+    <Export2ReportAction id="export2Pay">
+      <Property name="dataScope">serverAll</Property>
+      <Property name="dataFontSize">11</Property>
+      <Property name="fileName">缁撶畻鍗�</Property>
+      <Property name="extension">xlsx</Property>
+      <Property name="headerFontSize">12</Property>
+      <Property name="titleName">瀵煎嚭缁撶畻鍗曞垪琛�</Property>
+      <Property name="template">dataGridMain2</Property>
+      <Property name="showTitle">true</Property>
+    </Export2ReportAction>
+  </View>
+</ViewConfig>
diff --git a/igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettlePR.java b/igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettlePR.java
index 4704b70..52e039e 100644
--- a/igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettlePR.java
+++ b/igds-inout/src/main/java/com/ld/igds/inout/view/InoutSettlePR.java
@@ -3,7 +3,9 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import com.bstek.bdf2.core.business.IUser;
 import com.ld.igds.constant.Constant;
+import com.ld.igds.inout.InoutConstant;
 import com.ld.igds.inout.dto.InoutData;
 import com.ld.igds.inout.dto.InoutParam;
 import com.ld.igds.inout.manager.InoutReportManager;
@@ -11,6 +13,7 @@
 import com.ld.igds.models.DicTrigger;
 import com.ld.igds.models.InoutRecord;
 
+import com.ld.igds.util.ContextUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -22,6 +25,8 @@
 import com.ld.igds.inout.service.HInoutSettleService;
 import com.ld.igds.models.InoutSettle;
 
+import javax.annotation.Resource;
+
 /**
  * 缁撶畻绠$悊
  *
@@ -30,13 +35,13 @@
 @Component
 public class InoutSettlePR {
 
-	@Autowired
+	@Resource
 	private HInoutSettleService hSettleService;
 
-	@Autowired
+	@Resource
 	private InoutReportManager inoutReportManager;
 
-	@Autowired
+	@Resource
 	private InoutSettleServiceMapper inoutSettleServiceMapper;
 
 	/**
@@ -52,6 +57,100 @@
 		list.add(new DicTrigger(Constant.YN_Y, "宸茬粨绠�"));
 		return list;
 	}
+	
+	/**
+	 * 缁撶畻鏂瑰紡 0锛氱幇閲戯紝1锛氳浆璐�
+	 * ${dorado.getDataProvider("inoutSettlePR#triggerPayType").getResult()}
+	 *
+	 * @return
+	 */
+	@DataProvider
+	public List<DicTrigger> triggerPayType() {
+		List<DicTrigger> list = new ArrayList<DicTrigger>();
+		list.add(new DicTrigger("0", "鐜伴噾"));
+		list.add(new DicTrigger("1", "杞处"));
+		return list;
+	}
+	
+	
+	
+	/**
+	 * 鍏ュ簱缁撶畻-鍚堝悓缁撶畻
+	 * inoutSettlePR#pageSettleIn1
+	 *
+	 * @param param
+	 * @return
+	 * @throws Exception
+	 */
+	@DataProvider
+	public void pageSettleIn1(Page<InoutSettle> page, InoutParam param)throws Exception {
+		
+		if(null == param)param = new InoutParam();
+
+		IUser u = ContextUtil.getLoginUser();
+
+		param.setCompanyId(u.getCompanyId());
+
+
+		if(null == param.getDeptId()){
+			param.setDeptId(ContextUtil.subDeptId(u));
+		}
+
+		param.setSettleBizType("1");
+		param.setType(InoutConstant.TYPE_IN);
+		
+		hSettleService.pageSettle(page, param);
+	}
+	
+	/**
+	 * 鍏ュ簱缁撶畻-鍗曡溅缁撶畻
+	 * inoutSettlePR#pageSettleIn0
+	 *
+	 * @param param
+	 * @return
+	 * @throws Exception
+	 */
+	@DataProvider
+	public void pageSettleIn0(Page<InoutSettle> page, InoutParam param)throws Exception {
+		if(null == param)param = new InoutParam();
+		IUser u = ContextUtil.getLoginUser();
+
+		param.setCompanyId(u.getCompanyId());
+
+
+		if(null == param.getDeptId()){
+			param.setDeptId(ContextUtil.subDeptId(u));
+		}
+
+		param.setSettleBizType("0");
+		param.setType(InoutConstant.TYPE_IN);
+		hSettleService.pageSettle(page, param);
+	}
+	
+	/**
+	 * 鍑哄簱缁撶畻-鍚堝悓缁撶畻
+	 * inoutSettlePR#pageSettleOut1
+	 *
+	 * @param param
+	 * @return
+	 * @throws Exception
+	 */
+	@DataProvider
+	public void pageSettleOut1(Page<InoutSettle> page, InoutParam param)throws Exception {
+		IUser u = ContextUtil.getLoginUser();
+
+		param.setCompanyId(u.getCompanyId());
+
+
+		if(null == param.getDeptId()){
+			param.setDeptId(ContextUtil.subDeptId(u));
+		}
+
+		param.setSettleBizType("1");
+		param.setType(InoutConstant.TYPE_OUT);
+		hSettleService.pageSettle(page, param);
+	}
+	
 
 	/**
 	 * inoutSettlePR#pageInoutRecord
@@ -63,7 +162,6 @@
 	@DataProvider
 	public void pageInoutRecord(Page<InoutRecord> page, InoutParam param)
 			throws Exception {
-		param.setSettleTag(Constant.YN_N);
 		hSettleService.pageIoutRecord(page, param);
 	}
 
diff --git a/igds-inout/src/main/java/com/ld/igds/m/view/AppointPR.java b/igds-inout/src/main/java/com/ld/igds/m/view/AppointPR.java
index 580194a..51602bf 100644
--- a/igds-inout/src/main/java/com/ld/igds/m/view/AppointPR.java
+++ b/igds-inout/src/main/java/com/ld/igds/m/view/AppointPR.java
@@ -19,7 +19,9 @@
 import com.ld.igds.util.DateUtil;
 import com.ld.igds.warn.data.MsgResponse;
 import com.ld.igds.wechat.WeChatUtils;
+
 import lombok.extern.slf4j.Slf4j;
+
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,6 +38,7 @@
  */
 @Slf4j
 @Component
+@SuppressWarnings("rawtypes")
 public class AppointPR {
 
 	@Autowired
@@ -157,6 +160,7 @@
 	 *
 	 * @return
 	 */
+	
 	@Expose
 	public String pushCustomer() {
 
diff --git a/igds-inout/src/main/java/com/ld/igds/models/InoutSettle.java b/igds-inout/src/main/java/com/ld/igds/models/InoutSettle.java
index 6a36aa5..b92102a 100644
--- a/igds-inout/src/main/java/com/ld/igds/models/InoutSettle.java
+++ b/igds-inout/src/main/java/com/ld/igds/models/InoutSettle.java
@@ -18,7 +18,7 @@
 
     @Id
     @Column(name = "ID_", length = 40)
-    @PropertyDef(label = "娴佹按鍙�")
+    @PropertyDef(label = "娴佹按鍙�",description = "缁撶畻鏃ユ湡锛坹yyyMMdd锛�+4浣嶉『搴忓彿缁勬垚")
     private String id;
 
     @Column(name = "COMPANY_ID_", length = 10)
@@ -34,13 +34,12 @@
     private String inoutType;
 
     @Column(name = "BIZ_TYPE_")
-    @PropertyDef(label = "澶勭悊鏂瑰紡", description = "鍗曡溅缁撶畻/鍚堝悓缁撶畻")
+    @PropertyDef(label = "澶勭悊鏂瑰紡", description = "0=鍗曡溅缁撶畻/1=鍚堝悓缁撶畻")
     private String bizType;
 
     @Column(name = "DEPOT_ID_", length = 50)
     @PropertyDef(label = "鎵�灞炰粨搴�")
     private String depotId;
-
 
     @Column(name = "CONTRACT_ID_", length = 40)
     @PropertyDef(label = "鍚堝悓缂栫爜", description = "閽堝杞崲绮蹇呭~")
@@ -55,9 +54,9 @@
     @PropertyDef(label = "鍗曚环")
     private Double payPrice = 0.0;
 
-    @Column(name = "PAY_SUM_")
+    @Column(name = "PAY_MONEY_")
     @PropertyDef(label = "缁撶畻鎬婚")
-    private Double paySum = 0.0;
+    private Double payMoney = 0.0;
 
     @Column(name = "SETTLE_WEIGHT_")
     @PropertyDef(label = "缁撶畻閲嶉噺")
@@ -79,12 +78,20 @@
     @PropertyDef(label = "鏀舵浜虹渷浠借瘉鍙�")
     private String payeeId;
 
-    @Column(name = "BANK_", length = 40)
-    @PropertyDef(label = "寮�鎴疯")
+    @Column(name = "BANK_CATEGORY_", length = 10)
+    @PropertyDef(label = "閾惰琛屽埆浠g爜")
+    private String bankCategory;
+
+    @Column(name = "BANK_CODE_", length = 20)
+    @PropertyDef(label = "寮�鎴疯鍙�")
+    private String bankCode;
+
+    @Column(name = "BANK_", length = 50)
+    @PropertyDef(label = "寮�鎴疯鍚嶇О")
     private String bank;
 
     @Column(name = "BANK_NUM_", length = 20)
-    @PropertyDef(label = "閾惰鍗″彿")
+    @PropertyDef(label = "閾惰璐﹀彿")
     private String bankNum;
 
     @Column(name = "PAY_UNIT_", length = 50)
diff --git a/igds-inout/src/main/java/models/inout.model.xml b/igds-inout/src/main/java/models/inout.model.xml
index f4c8009..0ca54b0 100644
--- a/igds-inout/src/main/java/models/inout.model.xml
+++ b/igds-inout/src/main/java/models/inout.model.xml
@@ -453,24 +453,70 @@
       <Property></Property>
       <Property name="label">缁勭粐缂栫爜</Property>
     </PropertyDef>
+    <PropertyDef name="deptId">
+      <Property></Property>
+      <Property name="label">搴撳尯缂栫爜</Property>
+    </PropertyDef>
+    <PropertyDef name="inoutType">
+      <Property></Property>
+      <Property name="label">鍑哄叆搴撶被鍨�</Property>
+    </PropertyDef>
+    <PropertyDef name="bizType">
+      <Property></Property>
+      <Property name="label">澶勭悊鏂瑰紡</Property>
+    </PropertyDef>
+    <PropertyDef name="depotId">
+      <Property></Property>
+      <Property name="label">鎵�灞炰粨搴�</Property>
+      <Property name="mapping">
+        <Property name="mapValues">${dorado.getDataProvider(&quot;depotPR#getAllCache&quot;).getResult()}</Property>
+        <Property name="keyProperty">id</Property>
+        <Property name="valueProperty">name</Property>
+      </Property>
+    </PropertyDef>
+    <PropertyDef name="contractId">
+      <Property></Property>
+      <Property name="label">鍚堝悓缂栫爜</Property>
+    </PropertyDef>
+    <PropertyDef name="contractName">
+      <Property></Property>
+      <Property name="label">鍚堝悓鍚嶇О</Property>
+    </PropertyDef>
     <PropertyDef name="payPrice">
       <Property name="dataType">Double</Property>
       <Property name="label">绮鍗曚环</Property>
       <Property name="displayFormat">0.000 鍏�/鍏枻</Property>
     </PropertyDef>
-    <PropertyDef name="paySum">
+    <PropertyDef name="payMoney">
       <Property name="dataType">Double</Property>
       <Property name="label">缁撶畻鎬婚</Property>
       <Property name="displayFormat">锟�0.00</Property>
     </PropertyDef>
+    <PropertyDef name="settleWeight">
+      <Property name="dataType">Double</Property>
+      <Property name="label">缁撶畻閲嶉噺</Property>
+      <Property name="displayFormat">0 KG</Property>
+    </PropertyDef>
+    <PropertyDef name="payTime">
+      <Property name="dataType">DateTime</Property>
+      <Property name="label">缁撶畻鏃堕棿</Property>
+    </PropertyDef>
     <PropertyDef name="payType">
       <Property></Property>
-      <Property name="label">浠樻鏂瑰紡</Property>
+      <Property name="label">缁撶畻鏂瑰紡</Property>
       <Property name="mapping">
-        <Property name="mapValues">${dorado.getDataProvider(&quot;dicTriggerPR#dicTrigger&quot;).getResult(&quot;PAY_TYPE&quot;)}</Property>
+        <Property name="mapValues">${dorado.getDataProvider(&quot;inoutSettlePR#triggerPayType&quot;).getResult()}</Property>
         <Property name="keyProperty">code</Property>
         <Property name="valueProperty">name</Property>
       </Property>
+    </PropertyDef>
+    <PropertyDef name="payee">
+      <Property></Property>
+      <Property name="label">鏀舵浜�</Property>
+    </PropertyDef>
+    <PropertyDef name="payeeId">
+      <Property></Property>
+      <Property name="label">鏀舵浜虹渷浠借瘉鍙�</Property>
     </PropertyDef>
     <PropertyDef name="bank">
       <Property></Property>
@@ -480,60 +526,29 @@
       <Property></Property>
       <Property name="label">閾惰鍗″彿</Property>
     </PropertyDef>
+    <PropertyDef name="payUnit">
+      <Property></Property>
+      <Property name="label">浠樻鍗曚綅</Property>
+    </PropertyDef>
     <PropertyDef name="payUser">
       <Property></Property>
       <Property name="label">缁撶畻浜�</Property>
     </PropertyDef>
-    <PropertyDef name="payTime">
-      <Property name="dataType">DateTime</Property>
-      <Property name="label">缁撶畻鏃堕棿</Property>
-    </PropertyDef>
-    <PropertyDef name="settleWeight">
-      <Property name="dataType">Double</Property>
-      <Property name="label">缁撶畻閲嶉噺</Property>
-      <Property name="displayFormat">0 KG</Property>
-    </PropertyDef>
-    <PropertyDef name="fullWeight">
-      <Property name="dataType">Double</Property>
-      <Property name="label">姣涢噸</Property>
-      <Property name="displayFormat">0 KG</Property>
-    </PropertyDef>
-    <PropertyDef name="emptyWeight">
-      <Property name="dataType">Double</Property>
-      <Property name="label">鐨噸</Property>
-      <Property name="displayFormat">0 KG</Property>
-    </PropertyDef>
-    <PropertyDef name="netWeight">
-      <Property name="dataType">Double</Property>
-      <Property name="label">鍑�閲�</Property>
-      <Property name="displayFormat">0 KG</Property>
-    </PropertyDef>
-    <PropertyDef name="deSum">
-      <Property name="dataType">Double</Property>
-      <Property name="label">鎬绘墸閲�</Property>
-      <Property name="displayFormat">0 KG</Property>
-    </PropertyDef>
-    <PropertyDef name="type">
-      <Property></Property>
-      <Property name="label">鍑哄叆搴撶被鍨�</Property>
-    </PropertyDef>
-    <PropertyDef name="customerId">
-      <Property></Property>
-      <Property name="label">瀹㈡埛缂栫爜</Property>
-    </PropertyDef>
-    <PropertyDef name="customerName">
-      <Property></Property>
-      <Property name="label">瀹㈡埛鍚嶇О</Property>
-    </PropertyDef>
-    <PropertyDef name="otherSum">
-      <Property></Property>
-      <Property name="label">鍏朵粬鎵h垂</Property>
-      <Property name="dataType">Double</Property>
-      <Property name="displayFormat">锟�0.00</Property>
-    </PropertyDef>
     <PropertyDef name="remarks">
       <Property></Property>
       <Property name="label">澶囨敞淇℃伅</Property>
+    </PropertyDef>
+    <PropertyDef name="updateTime">
+      <Property name="dataType">Date</Property>
+      <Property name="label">鏁版嵁鏇存柊鏃堕棿</Property>
+    </PropertyDef>
+    <PropertyDef name="bankCategory">
+      <Property/>
+      <Property name="label">閾惰琛屽埆浠g爜</Property>
+    </PropertyDef>
+    <PropertyDef name="bankCode">
+      <Property/>
+      <Property name="label">寮�鎴疯鍙�</Property>
     </PropertyDef>
   </DataType>
   <DataType name="dtNoticeDto">
@@ -594,10 +609,10 @@
       <Property name="dataType">Date</Property>
     </PropertyDef>
     <PropertyDef name="unitName">
-      <Property/>
+      <Property></Property>
     </PropertyDef>
     <PropertyDef name="contractName">
-      <Property/>
+      <Property></Property>
       <Property name="label">鎵�灞炲悎鍚�</Property>
     </PropertyDef>
   </DataType>
diff --git a/igds-manager/src/main/java/com/ld/igds/oa/view/DocumentPR.java b/igds-manager/src/main/java/com/ld/igds/oa/view/DocumentPR.java
index 9af639c..0bfde9b 100644
--- a/igds-manager/src/main/java/com/ld/igds/oa/view/DocumentPR.java
+++ b/igds-manager/src/main/java/com/ld/igds/oa/view/DocumentPR.java
@@ -1,6 +1,5 @@
 package com.ld.igds.oa.view;
 
-import com.bstek.bdf2.core.model.DefaultDept;
 import com.bstek.dorado.annotation.DataProvider;
 import com.bstek.dorado.annotation.DataResolver;
 import com.bstek.dorado.annotation.Expose;
@@ -9,10 +8,6 @@
 import com.ld.igds.models.*;
 import com.ld.igds.oa.service.HDocumentServiceImpl;
 import com.ld.igds.sys.service.SysDeptService;
-import com.ld.igds.util.ContextUtil;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.commons.lang3.time.DateFormatUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import java.util.*;
@@ -24,7 +19,6 @@
  * @date 2023-02-17 16:50
  *
  */
-@Slf4j
 @Component
 public class DocumentPR {
 
diff --git a/igds-parent-pom/pom.xml b/igds-parent-pom/pom.xml
index 82e1db9..3e6bdec 100644
--- a/igds-parent-pom/pom.xml
+++ b/igds-parent-pom/pom.xml
@@ -345,6 +345,7 @@
             <id>sonatype</id>
             <url>https://oss.sonatype.org/content/groups/public/</url>
         </repository>
+
         <repository>
             <id>bsdn-maven-repository</id>
             <url>http://nexus.bsdn.org/content/groups/public/</url>
diff --git a/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/BHZNWeightServiceImpl.java b/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/BHZNWeightServiceImpl.java
index db66db0..a8d4b86 100644
--- a/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/BHZNWeightServiceImpl.java
+++ b/igds-protocol-bhzn/src/main/java/com/ld/igds/protocol/bhzn/inout/BHZNWeightServiceImpl.java
@@ -189,28 +189,6 @@
 
     }
 
-    /**
-     * 澧炲姞鐧藉悕鍗� --璋冪敤瀛愮嚎绋嬪疄鐜�
-     *
-     * @param param deviceId鍜宎ctionCode 涓嶅彲涓虹┖
-     * @return
-     */
-    public String addWhitePlate(ApiInoutData param) {
-
-        return "SUCCESS";
-    }
-
-    /**
-     * 鍒犻櫎鐧藉悕鍗�---璋冪敤瀛愮嚎绋嬪疄鐜�
-     *
-     * @param param
-     * @return
-     */
-    public String delWhitePlate(ApiInoutData param) {
-
-        return "SUCCESS";
-    }
-
 
     /**
      * @param param
diff --git a/igds-protocol-modbus/pom.xml b/igds-protocol-modbus/pom.xml
new file mode 100644
index 0000000..75ac12b
--- /dev/null
+++ b/igds-protocol-modbus/pom.xml
@@ -0,0 +1,113 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+	<modelVersion>4.0.0</modelVersion>
+	<groupId>com.ld.igds</groupId>
+	<artifactId>igds-protocol-modbus</artifactId>
+	<version>4.0.0-RELEASE</version>
+	<packaging>jar</packaging>
+
+	<properties>
+		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+		<java.version>1.8</java.version>
+		<igds.version>4.0.0-RELEASE</igds.version>
+	</properties>
+
+
+
+
+	<dependencies>
+
+		<!-- 寮曞叆IO鍖� -->
+		<dependency>
+			<groupId>com.ld.base.io</groupId>
+			<artifactId>base-io-netty</artifactId>
+			<version>1.0.0-SNAPSHOT</version>
+		</dependency>
+
+		<!-- 寮曞叆涔夊姟鏍稿績鍖� -->
+		<dependency>
+			<groupId>com.ld.igds</groupId>
+			<artifactId>igds-core</artifactId>
+			<version>${igds.version}</version>
+		</dependency>
+
+
+		<!-- 寮曞叆閫氶 -->
+		<dependency>
+			<groupId>com.ld.igds</groupId>
+			<artifactId>igds-verb</artifactId>
+			<version>${igds.version}</version>
+		</dependency>
+
+		<!-- 寮曞叆鑳借�楀寘 -->
+		<dependency>
+			<groupId>com.ld.igds</groupId>
+			<artifactId>igds-es</artifactId>
+			<version>${igds.version}</version>
+		</dependency>
+
+        <!-- modbus
+        <dependency>
+            <groupId>com.infiniteautomation</groupId>
+            <artifactId>modbus4j</artifactId>
+            <version>3.1.0</version>
+        </dependency>
+        -->
+
+		<!-- modbus -->
+		<dependency>
+			<groupId>com.infiniteautomation</groupId>
+			<artifactId>modbus4j</artifactId>
+			<version>3.1.0</version>
+			<scope>system</scope>
+			<systemPath>${project.basedir}/src/main/resources/lib/modbus4j-3.1.0.jar</systemPath>
+		</dependency>
+
+
+	</dependencies>
+
+ 	<build>
+ 		<plugins>
+ 			<plugin>
+ 				<groupId>org.apache.maven.plugins</groupId>
+ 				<artifactId>maven-compiler-plugin</artifactId>
+ 				<configuration>
+ 					<source>1.8</source>
+ 					<target>1.8</target>
+ 					<compilerArguments>
+ 						<extdirs>src\main\webapp\WEB-INF\lib</extdirs>
+ 					</compilerArguments>
+ 				</configuration>
+ 			</plugin>
+ 		</plugins>
+ 	</build>
+
+
+<!--	<repositories>-->
+<!--		<repository>-->
+<!--			<releases>-->
+<!--				<enabled>false</enabled>-->
+<!--			</releases>-->
+<!--			<snapshots>-->
+<!--				<enabled>true</enabled>-->
+<!--			</snapshots>-->
+<!--			<id>ias-snapshots</id>-->
+<!--			<name>Infinite Automation Snapshot Repository</name>-->
+<!--			<url>https://maven.mangoautomation.net/repository/ias-snapshot/</url>-->
+<!--		</repository>-->
+<!--		<repository>-->
+<!--			<releases>-->
+<!--				<enabled>true</enabled>-->
+<!--			</releases>-->
+<!--			<snapshots>-->
+<!--				<enabled>false</enabled>-->
+<!--			</snapshots>-->
+<!--			<id>ias-releases</id>-->
+<!--			<name>Infinite Automation Release Repository</name>-->
+<!--			<url>https://maven.mangoautomation.net/repository/ias-release/</url>-->
+<!--		</repository>-->
+<!--	</repositories>-->
+
+
+
+</project>
\ No newline at end of file
diff --git a/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java
new file mode 100644
index 0000000..c00c5cc
--- /dev/null
+++ b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteControlServiceImpl.java
@@ -0,0 +1,58 @@
+package com.ld.igds.protocol.modbus.command;
+
+import com.ld.igds.io.RemoteControlService;
+import com.ld.igds.io.request.DeviceAutoControlRequest;
+import com.ld.igds.io.request.DeviceControlRequest;
+import com.ld.igds.io.request.TempControlRequest;
+import com.ld.igds.io.response.DeviceControlResponse;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+/**
+ * 褰撳墠鍗忚閽堝鏍囧噯Modbus-TCP鍗忚
+ *
+ * @Desc:
+ * @author: andy.jia
+ * @update-time: 2023/8/11 10:07
+ */
+@Slf4j
+@Component(RemoteControlServiceImpl.BEAN_ID)
+public class RemoteControlServiceImpl implements RemoteControlService {
+
+    public static final String BEAN_ID = "modbus.remoteControlService";
+
+    @Override
+    public String getProtocol() {
+        return null;
+    }
+
+    @Override
+    public DeviceControlResponse deviceControl(DeviceControlRequest request) {
+        return null;
+    }
+
+    @Override
+    public DeviceControlResponse closeAll(DeviceControlRequest request) {
+        return null;
+    }
+
+    @Override
+    public DeviceControlResponse queryStatus(DeviceControlRequest request) {
+        return null;
+    }
+
+    @Override
+    public DeviceControlResponse tempControl(TempControlRequest request) {
+        return null;
+    }
+
+    @Override
+    public DeviceControlResponse airAutoControl(DeviceAutoControlRequest request) {
+        return null;
+    }
+
+    @Override
+    public DeviceControlResponse n2AutoControl(DeviceAutoControlRequest request) {
+        return null;
+    }
+}
diff --git a/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteEsServiceImpl.java b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteEsServiceImpl.java
new file mode 100644
index 0000000..beee3fe
--- /dev/null
+++ b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteEsServiceImpl.java
@@ -0,0 +1,31 @@
+package com.ld.igds.protocol.modbus.command;
+
+import com.ld.igds.io.RemoteEsService;
+import com.ld.igds.io.request.BaseRequest;
+import com.ld.igds.io.response.BaseResponse;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+/**
+ * 褰撳墠鍗忚閽堝鏍囧噯Modbus-TCP鍗忚
+ *
+ * @Desc:
+ * @author: andy.jia
+ * @update-time: 2023/8/11 10:07
+ */
+@Slf4j
+@Component(RemoteEsServiceImpl.BEAN_ID)
+public class RemoteEsServiceImpl implements RemoteEsService {
+
+    public static final String BEAN_ID = "modbus.remoteEsService";
+
+    @Override
+    public String getProtocol() {
+        return null;
+    }
+
+    @Override
+    public BaseResponse checkEs(BaseRequest request) {
+        return null;
+    }
+}
diff --git a/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteGasServiceImpl.java b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteGasServiceImpl.java
new file mode 100644
index 0000000..8862faa
--- /dev/null
+++ b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemoteGasServiceImpl.java
@@ -0,0 +1,41 @@
+package com.ld.igds.protocol.modbus.command;
+
+import com.ld.igds.io.RemoteGasService;
+import com.ld.igds.io.request.CheckGasRequest;
+import com.ld.igds.io.response.GasResponse;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+/**
+ * 褰撳墠鍗忚閽堝鏍囧噯Modbus-TCP鍗忚
+ *
+ * @Desc:
+ * @author: andy.jia
+ * @update-time: 2023/8/11 10:07
+ */
+@Slf4j
+@Component(RemoteGasServiceImpl.BEAN_ID)
+public class RemoteGasServiceImpl implements RemoteGasService {
+
+    public static final String BEAN_ID = "modbus.remoteGasService";
+
+    @Override
+    public String getProtocol() {
+        return null;
+    }
+
+    @Override
+    public GasResponse checkGas(CheckGasRequest request) {
+        return null;
+    }
+
+    @Override
+    public GasResponse checkGasByPoint(CheckGasRequest request) {
+        return null;
+    }
+
+    @Override
+    public GasResponse stopCheckGas(CheckGasRequest request) {
+        return null;
+    }
+}
diff --git a/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemotePestServiceImpl.java b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemotePestServiceImpl.java
new file mode 100644
index 0000000..bc8f151
--- /dev/null
+++ b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemotePestServiceImpl.java
@@ -0,0 +1,42 @@
+package com.ld.igds.protocol.modbus.command;
+
+import com.ld.igds.io.RemotePestService;
+import com.ld.igds.io.request.CheckPestRequest;
+import com.ld.igds.io.response.PestResponse;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+/**
+ * 褰撳墠鍗忚閽堝鏍囧噯Modbus-TCP鍗忚
+ *
+ * @Desc:
+ * @author: andy.jia
+ * @update-time: 2023/8/11 10:07
+ */
+@Slf4j
+@Component(RemotePestServiceImpl.BEAN_ID)
+public class RemotePestServiceImpl implements RemotePestService {
+
+    public static final String BEAN_ID = "modbus.remotePestService";
+
+
+    @Override
+    public String getProtocol() {
+        return null;
+    }
+
+    @Override
+    public PestResponse checkPest(CheckPestRequest request) {
+        return null;
+    }
+
+    @Override
+    public PestResponse checkPestByPoint(CheckPestRequest request) {
+        return null;
+    }
+
+    @Override
+    public PestResponse stopCheckPest(CheckPestRequest request) {
+        return null;
+    }
+}
diff --git a/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemotePressureServiceImpl.java b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemotePressureServiceImpl.java
new file mode 100644
index 0000000..e63ce53
--- /dev/null
+++ b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/modbus/command/RemotePressureServiceImpl.java
@@ -0,0 +1,31 @@
+package com.ld.igds.protocol.modbus.command;
+
+import com.ld.igds.io.RemotePressureService;
+import com.ld.igds.io.request.BaseRequest;
+import com.ld.igds.io.response.BaseResponse;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+/**
+ * 褰撳墠鍗忚閽堝鏍囧噯Modbus-TCP鍗忚
+ *
+ * @Desc:
+ * @author: andy.jia
+ * @update-time: 2023/8/11 10:07
+ */
+@Slf4j
+@Component(RemotePressureServiceImpl.BEAN_ID)
+public class RemotePressureServiceImpl implements RemotePressureService {
+
+    public static final String BEAN_ID = "modbus.remotePressureService";
+
+    @Override
+    public String getProtocol() {
+        return null;
+    }
+
+    @Override
+    public BaseResponse checkPressure(BaseRequest request) {
+        return null;
+    }
+}
diff --git a/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/package-info.java b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/package-info.java
new file mode 100644
index 0000000..5bb427c
--- /dev/null
+++ b/igds-protocol-modbus/src/main/java/com/ld/igds/protocol/package-info.java
@@ -0,0 +1 @@
+package com.ld.igds.protocol;
\ No newline at end of file
diff --git a/igds-protocol-modbus/src/main/resources/lib/modbus4j-3.1.0.jar b/igds-protocol-modbus/src/main/resources/lib/modbus4j-3.1.0.jar
new file mode 100644
index 0000000..ab89c85
--- /dev/null
+++ b/igds-protocol-modbus/src/main/resources/lib/modbus4j-3.1.0.jar
Binary files differ
diff --git a/igds-web/pom.xml b/igds-web/pom.xml
index 3c2d2d5..e2ef9c4 100644
--- a/igds-web/pom.xml
+++ b/igds-web/pom.xml
@@ -220,7 +220,7 @@
             </exclusions>
         </dependency>-->
 
-        <!--  娴峰悍杞︾墝璇嗗埆-SDK -->
+        <!--  娴峰悍杞︾墝璇嗗埆-SDK 
         <dependency>
             <groupId>com.ld.igds</groupId>
             <artifactId>igds-protocol-sdk</artifactId>
@@ -236,7 +236,10 @@
                 </exclusion>
             </exclusions>
         </dependency>
+        -->
+        
     </dependencies>
+    
 
     <dependencyManagement>
         <dependencies>
diff --git a/pom.xml b/pom.xml
index d5ab05f..6dfaab5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -47,6 +47,9 @@
         <!--SKD鍗忚鍖�-->
         <module>igds-protocol-sdk</module>
 
+        <!--modbus-tcp-->
+        <module>igds-protocol-modbus</module>
+
         <!--	鎵嬫満鍖�	-->
         <module>igds-api-phone</module>
         <!--	鎺ュ彛鍖咃紝鍖呮嫭涓夌淮鎺ュ彛	-->

--
Gitblit v1.9.3