From 4a41dd96b1a288fee3343c405b3f3b0c08d5646c Mon Sep 17 00:00:00 2001
From: CZT <czt18638530771@163.com>
Date: 星期三, 25 十月 2023 14:25:05 +0800
Subject: [PATCH] 调整上海接口信息

---
 src/main/java/com/fzzy/async/fzzy40/entity/Fz40SecCamera.java          |   20 
 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1306.java           |    4 
 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1311.java           |  108 +++-
 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1302.java           |    7 
 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1310.java           |    3 
 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java           |    3 
 src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1311.java              |    6 
 src/main/resources/templates/home/home.html                            |    6 
 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2101.java           |    4 
 src/main/java/com/fzzy/api/entity/Api1210.java                         |   14 
 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1111.java           |    7 
 src/main/java/com/fzzy/otherview/sh2023/pr/SHApi1311PR.java            |  205 ++++++++++
 src/main/java/com/fzzy/async/fzzy40/entity/Fz40InoutVarietyChange.java |    2 
 src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java           |    8 
 src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2104.java           |    5 
 src/main/java/com/fzzy/otherview/sh2023/ShApi1311.view.xml             |  723 ++++++++++++++++++++++++++++++++++++++
 16 files changed, 1,050 insertions(+), 75 deletions(-)

diff --git a/src/main/java/com/fzzy/api/entity/Api1210.java b/src/main/java/com/fzzy/api/entity/Api1210.java
index fb1af88..e3cec94 100644
--- a/src/main/java/com/fzzy/api/entity/Api1210.java
+++ b/src/main/java/com/fzzy/api/entity/Api1210.java
@@ -31,19 +31,19 @@
 	private static final long serialVersionUID = -8223096234800082280L;
 
 	@Id
-    @PropertyDef(label = "绮鎬ц川杞彉鍗曞彿",required= true)
+    @PropertyDef(label = "绮鎬ц川杞彉鍗曞彿")
     @Column(name = "lsxzzbdh", length = 41)
     private String lsxzzbdh;
 
-    @PropertyDef(label = "璐т綅浠g爜",required= true )
+    @PropertyDef(label = "璐т綅浠g爜")
     @Column(name = "hwdm", length = 30)
     private String hwdm;
 
-    @PropertyDef(label = "绮鏁伴噺(鍏枻)",required= true )
+    @PropertyDef(label = "绮鏁伴噺(鍏枻)")
     @Column(name = "lssl", precision = 20, scale = 6)
     private double lssl;
 
-    @PropertyDef(label = "鍒掕浆鏁伴噺(鍏枻)",required= true )
+    @PropertyDef(label = "鍒掕浆鏁伴噺(鍏枻)")
     @Column(name = "hzsl", precision = 20, scale = 6)
     private double hzsl;
 
@@ -51,11 +51,11 @@
     @Column(name = "bzwh", length = 128)
     private String bzwh;
 
-    @PropertyDef(label = "绮鍝佺浠g爜",required= true )
+    @PropertyDef(label = "绮鍝佺浠g爜")
     @Column(name = "lspzdm", length = 7)
     private String lspzdm;
 
-    @PropertyDef(label = "鍒掕浆鍓嶇伯椋熸�ц川浠g爜",required= true )
+    @PropertyDef(label = "鍒掕浆鍓嶇伯椋熸�ц川浠g爜")
     @Column(name = "hzqlsxzdm", length = 3)
     private String hzqlsxzdm;
 
@@ -64,7 +64,7 @@
     private String hzhlsxzdm;
 
     @JSONField(format = "yyyy-MM-dd")
-    @PropertyDef(label = "鍒掕浆鏃ユ湡",required= true )
+    @PropertyDef(label = "鍒掕浆鏃ユ湡")
     @Column(name = "hzrq")
     private Date hzrq;
 
diff --git a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java
index 8ab63e0..6cafadf 100644
--- a/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java
+++ b/src/main/java/com/fzzy/async/fzzy40/Fzzy40SyncService12.java
@@ -85,7 +85,7 @@
         fzzySync1207.syncData(kqdm, deptId, start, end);
 
         //鍑哄叆搴撴枃浠朵俊鎭悓姝�
-        fzzySync1109.syncData(kqdm, deptId, start, end);
+//        fzzySync1109.syncData(kqdm, deptId, start, end);
 
         //绮搴撳瓨鍚屾
         fzzySync1208.syncData(kqdm, deptId, start, end);
@@ -94,13 +94,13 @@
         fzzySync1210.syncData(kqdm, deptId, start, end);
 
         /*-----鍚勭渷鐙湁鎺ュ彛淇℃伅鍚屾-----*/
-        if (StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_SH_2023.getCode().equals(param.getPushProtocol())) {
-            //涓婃捣甯傚钩鍙�2023鐗堬紝闇�瑕佸悓姝ュ競鍌ㄦ鏂ゅ崟锛屽悓姝ュ競鍌ㄩ┏杩愬崟
+//        if (StringUtils.isNotEmpty(param.getPushProtocol()) && PushProtocol.SB_SH_2023.getCode().equals(param.getPushProtocol())) {
+//            //涓婃捣甯傚钩鍙�2023鐗堬紝闇�瑕佸悓姝ュ競鍌ㄦ鏂ゅ崟锛屽悓姝ュ競鍌ㄩ┏杩愬崟
 //            //鍚屾甯傚偍妫�鏂ゅ崟
 //            fzzySync2101.syncData(param.getKqdm(), param.getDeptId(), param.getStart(), param.getEnd());
 //            //鍚屾甯傚偍椹宠繍鍗�
 //            fzzySync2104.syncData(param.getKqdm(), param.getDeptId(), param.getStart(), param.getEnd());
-        }
+//        }
         //璐﹂潰搴撳瓨淇℃伅鍚屾  TODO
 
     }
diff --git a/src/main/java/com/fzzy/async/fzzy40/entity/Fz40InoutVarietyChange.java b/src/main/java/com/fzzy/async/fzzy40/entity/Fz40InoutVarietyChange.java
index 47f5fe8..8a77861 100644
--- a/src/main/java/com/fzzy/async/fzzy40/entity/Fz40InoutVarietyChange.java
+++ b/src/main/java/com/fzzy/async/fzzy40/entity/Fz40InoutVarietyChange.java
@@ -24,7 +24,7 @@
 
     @Id
     @Column(name = "ID_", length = 41)
-    @PropertyDef(label = "绮鎬ц川杞彉鍗曞彿", description = "鐢辫揣浣嶄唬鐮�+鍒掕浆鏃ユ湡锛坹yyyMMdd锛�+3浣嶉『搴忓彿缁勬垚")
+    @PropertyDef(label = "绮鎬ц川杞彉鍗曞彿", description = "鍒掕浆鏃ユ湡锛坹yyyMMdd锛�+3浣嶉『搴忓彿缁勬垚")
     private String id;
 
     @Column(name = "COMPANY_ID_", length = 10)
diff --git a/src/main/java/com/fzzy/async/fzzy40/entity/Fz40SecCamera.java b/src/main/java/com/fzzy/async/fzzy40/entity/Fz40SecCamera.java
index 8c4b1cc..69d3fee 100644
--- a/src/main/java/com/fzzy/async/fzzy40/entity/Fz40SecCamera.java
+++ b/src/main/java/com/fzzy/async/fzzy40/entity/Fz40SecCamera.java
@@ -52,9 +52,13 @@
     @PropertyDef(label = "鎶撴媿鏂瑰紡")
     private String snapType;
 
-    @Column(name = "azwzlx", length = 2)
-    @PropertyDef(label = "瀹夎浣嶇疆绫诲瀷")
-    private String azwzlx;
+    @Column(name = "spjklx", length = 1)
+    @PropertyDef(label = "瑙嗛鐩戞帶绫诲瀷")
+    private String spjklx;
+
+    @Column(name = "spdwlx", length = 2)
+    @PropertyDef(label = "瑙嗛鐐逛綅绫诲瀷")
+    private String spdwlx;
 
     @Column(name = "NAME_", length = 50)
     @PropertyDef(label = "鍚嶇О")
@@ -92,16 +96,20 @@
     @PropertyDef(label = "娴佸獟浣撳湴鍧�")
     private String mediaAddr;
 
+    @Column(name = "PHONE_ADDR_", length = 100)
+    @PropertyDef(label = "鎵嬫満鐩存挱鍦板潃")
+    private String phoneAddr;
+
     @Column(name = "REMARK_", length = 300)
     @PropertyDef(label = "澶囨敞")
     private String remark;
 
     @PropertyDef(label = "椤甸潰涓殑鍧愭爣")
-    @Column(name = "POS_X_", updatable = false)
+    @Column(name = "POS_X_")
     private double posX;
 
     @PropertyDef(label = "椤甸潰涓殑鍧愭爣")
-    @Column(name = "POS_Y_", updatable = false)
+    @Column(name = "POS_Y_")
     private double posY;
 
     @Column(name = "SCREEN_SHOW_", length = 1)
@@ -112,7 +120,7 @@
     @PropertyDef(label = "鐩戠鑷姩鎶撴媿")
     private String snapTag;
 
-    @Column(name = "UPDATE_TIME_")
+    @Column(name = "UPDATE_TIME_", length = 1)
     @PropertyDef(label = "鏇存柊鏃堕棿")
     private Date updateTime;
 }
\ No newline at end of file
diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1111.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1111.java
index aeddd8f..e9bb91f 100644
--- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1111.java
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1111.java
@@ -70,7 +70,6 @@
             Api1111 apiData;
             List<Api1111> listApi1111;
             Integer num = 1000001;
-//            String spjksbwzys = "left: {X}px ; top : {Y}px ; width : 10px ; height: 10px";
             for (Fz40SecCamera sysData : list) {
 
                 apiData = new Api1111();
@@ -83,14 +82,16 @@
                 apiData.setSpjksbid(api1102.getXzqhdm() + "00401327" + String.valueOf(num).substring(1));
 
                 apiData.setSpjksbxdwz("(" + Math.round(sysData.getPosX()*100) + "," + Math.round(sysData.getPosY()*100) + ")");
-//                apiData.setSpjksbwzys(spjksbwzys.replace("{X}",Math.round(sysData.getPosX()*100) + "").replace("{Y}",Math.round(sysData.getPosY()*100) + ""));
                 apiData.setBz(sysData.getRemark());
+                //瑙嗛鐩戞帶绫诲瀷鍜岀偣浣嶇被鍨�
+                apiData.setSpjklx(StringUtils.isEmpty(sysData.getSpjklx())?"3":sysData.getSpjklx());
+                apiData.setSpdwlx(StringUtils.isEmpty(sysData.getSpdwlx())?"7":sysData.getSpdwlx());
                 //鎿嶄綔鏍囧織鍙婃渶鍚庢洿鏂版椂闂�
                 apiData.setZhgxsj(new Date());
                 //涓氬姟id銆佸簱鍖虹紪鐮併�佸悓姝ユ椂闂�
                 apiData.setSyncTime(new Date());
                 apiData.setCzbz(Constant.CZBZ_I);
-                apiData.setSpjklx("1");
+
                 listApi1111 = api1111Rep.getApi1111ById(apiData.getSpjksbid());
                 if(null != listApi1111 && listApi1111.size() > 0){
                     apiData.setCzbz(listApi1111.get(0).getCzbz());
diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java
index 1adbed9..27f300c 100644
--- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1205.java
@@ -202,6 +202,9 @@
 
                 int idNum = Integer.valueOf(sysData.getId().substring(12))*100 + 10001;
                 for (Fz40InoutRecordItem fz40InoutRecordItem : listInoutRecordItem) {
+                    if(fz40InoutRecordItem.getSettleWeight() <= 0){
+                        continue;
+                    }
                     apiData.setCkywdh(Constant.INOUT_TYPE_15 + sysData.getId().substring(4,10) + String.valueOf(idNum).substring(1));
                     apiData.setMz(fz40InoutRecordItem.getFullWeight());
                     apiData.setPz(fz40InoutRecordItem.getEmptyWeight());
diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1302.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1302.java
index a8b9902..fa039b0 100644
--- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1302.java
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1302.java
@@ -104,10 +104,10 @@
                 api1302.setLszdw(fz40Grain.getTempMin() == null ? 0.00 : fz40Grain.getTempMin());
 
                 //鍒ゆ柇绮鏈�浣庢俯銆佸钩鍧囨俯銆佹渶楂樻俯鏄惁绗﹀悎閫昏緫
-                if(api1302.getLszdw() >= api1302.getLspjw()){
+                if (api1302.getLszdw() >= api1302.getLspjw()) {
                     continue;
                 }
-                if(api1302.getLspjw() >= api1302.getLszgw()){
+                if (api1302.getLspjw() >= api1302.getLszgw()) {
                     continue;
                 }
 
@@ -156,6 +156,9 @@
 
         String[] points = point.split(",");
         String result = "";
+        if (c * h * l > points.length) {
+            return result;
+        }
         for (int i = 1; i <= l; i++) {
             for (int j = 1; j <= h; j++) {
                 for (int z = 1; z <= c; z++) {
diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1306.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1306.java
index e5bb2b7..390f915 100644
--- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1306.java
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1306.java
@@ -9,6 +9,7 @@
 import com.fzzy.async.fzzy40.entity.Fz40DrugLog;
 import com.fzzy.async.fzzy40.repository.Fzzy40Sync1306Rep;
 import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
@@ -18,7 +19,7 @@
 /**
  * 鐔忚捀浣滀笟鏁版嵁鍚屾
  *
- * @author chen
+ * @author czt
  * @date 2022-09-08 09:51
  */
 @Slf4j
@@ -83,6 +84,7 @@
                 api1306.setNd(fz40DrugLog.getConcentration());
                 api1306.setLddwyyl(fz40DrugLog.getGrainDose());
                 api1306.setKjdwyyl(fz40DrugLog.getSpaceDose());
+                api1306.setSyff(StringUtils.isEmpty(fz40DrugLog.getSyff())?"0":fz40DrugLog.getSyff());
                 api1306.setZyyl(fz40DrugLog.getDose());
                 api1306.setSqrq(fz40DrugLog.getVentilateTime());
                 api1306.setSqff(fz40DrugLog.getVentilateMethod());
diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1310.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1310.java
index 0264e4b..8762f94 100644
--- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1310.java
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1310.java
@@ -131,6 +131,9 @@
                 api1310.setQfrq(fz40Quality.getTime());
                 api1310.setBgcjsj(fz40Quality.getTime());
                 api1310.setShrxm(fz40Quality.getCheckUser());
+                if(null == fz40Quality.getCheckTime()){
+                    fz40Quality.setCheckTime(DateUtils.addDays(fz40Quality.getTime(), -1));
+                }
                 if (!fz40Quality.getCheckTime().before(fz40Quality.getTime())) {
                     fz40Quality.setCheckTime(DateUtils.addDays(fz40Quality.getTime(), -1));
                 }
diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1311.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1311.java
index 27cd515..50c6e33 100644
--- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1311.java
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync1311.java
@@ -1,11 +1,13 @@
 package com.fzzy.async.fzzy40.impl;
 
 import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
 import com.fzzy.api.Constant;
+import com.fzzy.api.entity.Api1102;
 import com.fzzy.api.entity.ApiInfoData;
 import com.fzzy.api.entity.ApiLog;
-import com.fzzy.api.service.ApiCommonService;
 import com.fzzy.api.utils.ContextUtil;
+import com.fzzy.api.view.repository.Api1102Rep;
 import com.fzzy.api.view.repository.ApiInfoDataRep;
 import com.fzzy.api.view.repository.ApiLogRep;
 import com.fzzy.async.fzzy40.entity.Fz40SecCamera;
@@ -16,6 +18,7 @@
 import org.apache.commons.lang.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
+
 import java.util.Date;
 import java.util.List;
 
@@ -29,6 +32,8 @@
 public class Fzzy40Sync1311 {
     @Autowired
     private ApiLogRep apiLogRep;
+    @Autowired
+    private Api1102Rep api1102Rep;
     @Autowired
     private Fzzy40Sync1311Rep fzzy40Sync1311Rep;
     @Autowired
@@ -50,74 +55,87 @@
                 log.debug("-------------娌℃湁鑾峰彇鍒拌棰戠洃鎺т俊鎭�------------------");
                 return;
             }
+            Api1102 api1102 = api1102Rep.findById(kqdm).get();
             SH2023Api1311 sh2023Api1311;
+            SH2023Api1311 sh1311;
             List<ApiInfoData> apiInfoDataList;
-            String dataID;
-            int num = 1;
-            String secType = "01,02,03,04,05";
+            Integer num = 1000001;
             for (Fz40SecCamera sysData : list) {
-                dataID = kqdm.substring(3, 8) + "01401327" + String.format("%06d", num++);
-                List<ApiInfoData> apiInfoData = apiInfoDataRep.getDataByInteAndData(SH2023Constant.SH_2023_API_CODE_1311, dataID, kqdm);
-                if (null != apiInfoData && apiInfoData.size() > 0) {
-                    continue;
-                }
                 sh2023Api1311 = new SH2023Api1311();
-                sh2023Api1311.setSpjksbid(dataID);
+                sh2023Api1311.setSpjksbid(api1102.getXzqhdm() + "00401327" + String.valueOf(num).substring(1));
                 sh2023Api1311.setTdbh(sysData.getChanNum());
                 sh2023Api1311.setTdmc(sysData.getChanNum() + "鍙烽�氶亾");
+                sh2023Api1311.setJksbbm(sysData.getId());
                 sh2023Api1311.setJksbmc(sysData.getName());
                 sh2023Api1311.setKqdm(kqdm);
-                if (sysData.getBrand().equals("01")) {
-                    sh2023Api1311.setJkcs("2");
-                } else if (sysData.getBrand().equals("02")) {
-                    sh2023Api1311.setJkcs("1");
-                } else {
-                    sh2023Api1311.setJkcs("9");
-                }
+
+                //鐩戞帶鍘傚晢
+                sh2023Api1311.setJkcs(getBrandId(sysData.getBrand()));
+
+                sh2023Api1311.setJkxh(sysData.getSn());
                 sh2023Api1311.setJkxlh(sysData.getSn());
-                if(StringUtils.isNotEmpty(sysData.getAzwzlx())){
-                    if (sysData.getAzwzlx().equals("08")) {
-                        sh2023Api1311.setSpjklx("1");
-                    } else if (secType.indexOf(sysData.getAzwzlx()) >= 0) {
-                        sh2023Api1311.setSpjklx("2");
-                    } else {
-                        sh2023Api1311.setSpjklx("3");
-                    }
-                }
+
+                sh2023Api1311.setSpjklx(StringUtils.isEmpty(sysData.getSpjklx()) ? "3" : sysData.getSpjklx());
                 sh2023Api1311.setSblxbm("1");
-                sh2023Api1311.setAzwzlx(sysData.getAzwzlx());
-                sh2023Api1311.setZsqy("Y");
-                sh2023Api1311.setJkjlxbm(sysData.getType().substring(1));
+
+                sh2023Api1311.setAzwz(sysData.getName());
+                sh2023Api1311.setAzwzlx(StringUtils.isEmpty(sysData.getSpdwlx()) ? "7" : sysData.getSpdwlx());
+                if ("12".equals(sh2023Api1311.getAzwzlx()) || "13".equals(sh2023Api1311.getAzwzlx())
+                        || "14".equals(sh2023Api1311.getAzwzlx()) || "15".equals(sh2023Api1311.getAzwzlx())) {
+                    sh2023Api1311.setAzwzlx("99");
+                }
+                if ("16".equals(sh2023Api1311.getAzwzlx())) {
+                    sh2023Api1311.setAzwzlx("12");
+                }
+                sh2023Api1311.setSfazbgd("Y");
+
+                if(StringUtils.isEmpty(sysData.getType())){
+                    sysData.setType("01");
+                }
+                if(sysData.getType().equals("02")){
+                    sh2023Api1311.setJkjlxbm("2");
+                }
+                if(sysData.getType().equals("01")){
+                    sh2023Api1311.setJkjlxbm("1");
+                }
+                sh2023Api1311.setJktyzw(12);
                 sh2023Api1311.setSbipdz(sysData.getIpIn());
                 sh2023Api1311.setSbdkh(sysData.getPortInV());
                 sh2023Api1311.setSbdlmc(sysData.getLoginId());
                 sh2023Api1311.setSbdlmm(sysData.getPwd());
                 sh2023Api1311.setBz(sysData.getRemark());
-                sh2023Api1311.setZhgxsj(sysData.getUpdateTime());
+                sh2023Api1311.setZhgxsj(sysData.getUpdateTime()==null?new Date():sysData.getUpdateTime());
 
                 //鎸佷箙鍖栦繚瀛橈紝鍗曠嫭瀛樺叆闈炲浗鏍囨帴鍙h〃
                 ApiInfoData infoData = new ApiInfoData();
-                infoData.setId(ContextUtil.getUUID());
+                infoData.setId(sh2023Api1311.getSpjksbid());
                 infoData.setKqdm(kqdm);
                 infoData.setInteType(Constant.API_CATEGORY_13);
                 infoData.setInteId(SH2023Constant.SH_2023_API_CODE_1311);
-                infoData.setUpdateTime(new Date());
-                infoData.setDataId(dataID);
+                infoData.setUpdateTime(sh2023Api1311.getZhgxsj());
+                infoData.setDataId(sh2023Api1311.getSpjksbid());
                 infoData.setRemarks("瑙嗛鐩戞帶淇℃伅");
                 //璁剧疆鎿嶄綔鏍囧織
                 apiInfoDataList = apiInfoDataRep.getDataByInteAndData(SH2023Constant.SH_2023_API_CODE_1311, infoData.getDataId(), kqdm);
                 if (null == apiInfoDataList || apiInfoDataList.isEmpty()) {
+                    sh2023Api1311.setCzbz(Constant.CZBZ_I);
                     infoData.setCzbz(Constant.CZBZ_I);
                 } else {
+                    sh2023Api1311.setCzbz(apiInfoDataList.get(0).getCzbz());
                     infoData.setCzbz(apiInfoDataList.get(0).getCzbz());
+                    sh1311 = JSONObject.parseObject(infoData.getData(), SH2023Api1311.class);
+                    if(null != sh1311 && StringUtils.isNotEmpty(sh1311.getAjdm())){
+                        sh2023Api1311.setAjdm(sh1311.getAjdm());
+                    }
+                    if(null != sh1311 && StringUtils.isNotEmpty(sh1311.getHwdm())){
+                        sh2023Api1311.setHwdm(sh1311.getHwdm());
+                    }
                 }
-
 
                 infoData.setData(JSON.toJSONString(sh2023Api1311));
                 apiInfoDataRep.save(infoData);
-
-
-                log.info("1311---甯傚偍妫�鏂ゅ崟-鍚屾鏁版嵁锛歿}", sh2023Api1311);
+                num++;
+                log.info("1311---瑙嗛鐩戞帶-鍚屾鏁版嵁锛歿}", sh2023Api1311);
             }
 
         } catch (Exception e) {
@@ -126,4 +144,20 @@
             apiLogRep.save(apiLog);
         }
     }
+
+    private String getBrandId(String brandName) {
+        if (StringUtils.isEmpty(brandName)) {
+            return "9";
+        }
+        if (brandName.contains("娴峰悍")) {
+            return "1";
+        }
+        if (brandName.contains("澶у崕")) {
+            return "2";
+        }
+        if (brandName.contains("瀹囪")) {
+            return "3";
+        }
+        return "9";
+    }
 }
diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2101.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2101.java
index 7509796..1aa290f 100644
--- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2101.java
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2101.java
@@ -80,10 +80,6 @@
                 bjw = ShAreaBjw.getBjw(api1102List.get(0).getXzqhdm());
             }
             for (Fz40InoutRecord sysData : list) {
-                List<ApiInfoData> apiInfoData = apiInfoDataRep.getDataByInteAndData(SH2023Constant.SH_2023_API_CODE_2101, sysData.getCheckId(), kqdm);
-                if (null != apiInfoData && apiInfoData.size() > 0) {
-                    continue;
-                }
                 sh2023Api2101 = new SH2023Api2101();
                 sh2023Api2101.setJjdh(sysData.getCheckId());
                 sh2023Api2101.setKqdm(kqdm);
diff --git a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2104.java b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2104.java
index 4313e4a..ca49b3d 100644
--- a/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2104.java
+++ b/src/main/java/com/fzzy/async/fzzy40/impl/Fzzy40Sync2104.java
@@ -83,10 +83,7 @@
                 bjw = ShAreaBjw.getBjw(api1102List.get(0).getXzqhdm());
             }
             for (Fz40InoutRecord sysData : list) {
-                List<ApiInfoData> apiInfoData = apiInfoDataRep.getDataByInteAndData(SH2023Constant.SH_2023_API_CODE_2104, sysData.getId().substring(2),kqdm);
-                if (null != apiInfoData && apiInfoData.size() > 0) {
-                    continue;
-                }
+
                 sh2023Api2104 = new SH2023Api2104();
                 sh2023Api2104.setBydh(sysData.getId().substring(2));
                 sh2023Api2104.setKqdm(kqdm);
diff --git a/src/main/java/com/fzzy/otherview/sh2023/ShApi1311.view.xml b/src/main/java/com/fzzy/otherview/sh2023/ShApi1311.view.xml
new file mode 100644
index 0000000..13ff964
--- /dev/null
+++ b/src/main/java/com/fzzy/otherview/sh2023/ShApi1311.view.xml
@@ -0,0 +1,723 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ViewConfig>
+  <Arguments/>
+  <Context/>
+  <Model>
+    <DataType name="dtMain">
+      <Property name="creationType">com.fzzy.push.sh2023.dto.SH2023Api1311</Property>
+      <PropertyDef name="spjksbid">
+        <Property></Property>
+        <Property name="label">瑙嗛鐩戞帶璁惧id</Property>
+        <Property name="required">true</Property>
+      </PropertyDef>
+      <PropertyDef name="tdbh">
+        <Property></Property>
+        <Property name="label">閫氶亾缂栧彿</Property>
+        <Property name="required">true</Property>
+      </PropertyDef>
+      <PropertyDef name="tdmc">
+        <Property name="label">閫氶亾鍚嶇О</Property>
+        <Property name="required">true</Property>
+      </PropertyDef>
+      <PropertyDef name="jksbbm">
+        <Property></Property>
+        <Property name="label">鐩戞帶璁惧缂栫爜</Property>
+      </PropertyDef>
+      <PropertyDef name="jksbmc">
+        <Property name="label">鐩戞帶璁惧鍚嶇О</Property>
+      </PropertyDef>
+      <PropertyDef name="kqdm">
+        <Property></Property>
+        <Property name="label">搴撳尯浠g爜</Property>
+        <Property name="required">true</Property>
+      </PropertyDef>
+      <PropertyDef name="jkcs">
+        <Property></Property>
+        <Property name="label">鐩戞帶鍘傚晢</Property>
+        <Property name="mapping">
+          <Property name="keyProperty">key</Property>
+          <Property name="valueProperty">value</Property>
+          <Property name="mapValues">
+            <Collection>
+              <Entity>
+                <Property name="value">1-娴峰悍</Property>
+                <Property name="key">1</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">2-澶у崕</Property>
+                <Property name="key">2</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">3-瀹囪</Property>
+                <Property name="key">3</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">4-澶╁湴浼熶笟</Property>
+                <Property name="key">4</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">5-鍗庝负</Property>
+                <Property name="key">5</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">9-鍏朵粬</Property>
+                <Property name="key">6</Property>
+              </Entity>
+            </Collection>
+          </Property>
+        </Property>
+        <Property name="required">true</Property>
+      </PropertyDef>
+      <PropertyDef name="jkxh">
+        <Property></Property>
+        <Property name="label">鐩戞帶鍨嬪彿</Property>
+      </PropertyDef>
+      <PropertyDef name="jkxlh">
+        <Property></Property>
+        <Property name="label">鐩戞帶搴忓垪鍙�</Property>
+      </PropertyDef>
+      <PropertyDef name="spjklx">
+        <Property></Property>
+        <Property name="label">瑙嗛鐩戞帶绫诲瀷</Property>
+        <Property name="mapping">
+          <Property name="keyProperty">key</Property>
+          <Property name="valueProperty">value</Property>
+          <Property name="mapValues">
+            <Collection>
+              <Entity>
+                <Property name="key">1</Property>
+                <Property name="value">1-浠撳唴</Property>
+              </Entity>
+              <Entity>
+                <Property name="key">2</Property>
+                <Property name="value">2-涓氬姟绫�</Property>
+              </Entity>
+              <Entity>
+                <Property name="key">3</Property>
+                <Property name="value">3-瀹夐槻绫�</Property>
+              </Entity>
+            </Collection>
+          </Property>
+        </Property>
+      </PropertyDef>
+      <PropertyDef name="azwz">
+        <Property></Property>
+        <Property name="label">瀹夎浣嶇疆</Property>
+      </PropertyDef>
+      <PropertyDef name="azwzlx">
+        <Property></Property>
+        <Property name="label">瀹夎浣嶇疆绫诲瀷</Property>
+        <Property name="mapping">
+          <Property name="keyProperty">key</Property>
+          <Property name="valueProperty">value</Property>
+          <Property name="mapValues">
+            <Collection>
+              <Entity>
+                <Property name="key">1</Property>
+                <Property name="value">1-鍑哄叆鍙�</Property>
+              </Entity>
+              <Entity>
+                <Property name="key">2</Property>
+                <Property name="value">2-鎵︽牱鏈�</Property>
+              </Entity>
+              <Entity>
+                <Property name="key">3</Property>
+                <Property name="value">3-鍖栭獙瀹�</Property>
+              </Entity>
+              <Entity>
+                <Property name="key">4</Property>
+                <Property name="value">4-缁撶畻瀹�</Property>
+              </Entity>
+              <Entity>
+                <Property name="key">5</Property>
+                <Property name="value">5-鍦扮瀹�</Property>
+              </Entity>
+              <Entity>
+                <Property name="key">6</Property>
+                <Property name="value">6-搴撳尯涓诲共閬�</Property>
+              </Entity>
+              <Entity>
+                <Property name="key">7</Property>
+                <Property name="value">7-浠撻棿鐩戞帶</Property>
+              </Entity>
+              <Entity>
+                <Property name="key">8</Property>
+                <Property name="value">8-浠撳唴</Property>
+              </Entity>
+              <Entity>
+                <Property name="key">9</Property>
+                <Property name="value">9-鑽搧鎴垮唴澶�</Property>
+              </Entity>
+              <Entity>
+                <Property name="key">10</Property>
+                <Property name="value">10-鍣ㄦ潗瀹ゅ唴澶�</Property>
+              </Entity>
+              <Entity>
+                <Property name="key">11</Property>
+                <Property name="value">11-鍒堕珮鐐�</Property>
+              </Entity>
+              <Entity>
+                <Property name="key">12</Property>
+                <Property name="value">12-鍛ㄧ晫</Property>
+              </Entity>
+              <Entity>
+                <Property name="key">99</Property>
+                <Property name="value">99-鍏朵粬</Property>
+              </Entity>
+            </Collection>
+          </Property>
+        </Property>
+      </PropertyDef>
+      <PropertyDef name="sblxbm">
+        <Property></Property>
+        <Property name="label">璁惧绫诲瀷</Property>
+        <Property name="mapping">
+          <Property name="keyProperty">key</Property>
+          <Property name="valueProperty">value</Property>
+          <Property name="mapValues">
+            <Collection>
+              <Entity>
+                <Property name="value">1-DVR</Property>
+                <Property name="key">1</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">2-NVR</Property>
+                <Property name="key">2</Property>
+              </Entity>
+            </Collection>
+          </Property>
+        </Property>
+      </PropertyDef>
+      <PropertyDef name="zsqy">
+        <Property></Property>
+        <Property name="label">鐓у皠鍖哄煙</Property>
+      </PropertyDef>
+      <PropertyDef name="sfazbgd">
+        <Property></Property>
+        <Property name="label">鏄惁瀹夎琛ュ厜鐏�</Property>
+        <Property name="required">true</Property>
+        <Property name="mapping">
+          <Property name="keyProperty">key</Property>
+          <Property name="valueProperty">value</Property>
+          <Property name="mapValues">
+            <Collection>
+              <Entity>
+                <Property name="value">Y-鏄�</Property>
+                <Property name="key">Y</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">N-鍚�</Property>
+                <Property name="key">N</Property>
+              </Entity>
+            </Collection>
+          </Property>
+        </Property>
+      </PropertyDef>
+      <PropertyDef name="ajdm">
+        <Property></Property>
+        <Property name="label">寤掗棿浠g爜</Property>
+      </PropertyDef>
+      <PropertyDef name="hwdm">
+        <Property></Property>
+        <Property name="label">璐т綅浠g爜</Property>
+        <Property name="required">true</Property>
+      </PropertyDef>
+      <PropertyDef name="jkjlxbm">
+        <Property></Property>
+        <Property name="label">鐩戞帶绫诲瀷缂栫爜</Property>
+        <Property name="mapping">
+          <Property name="keyProperty">key</Property>
+          <Property name="valueProperty">value</Property>
+          <Property name="mapValues">
+            <Collection>
+              <Entity>
+                <Property name="value">1-鏋満</Property>
+                <Property name="key">1</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">2-鐞冩満</Property>
+                <Property name="key">2</Property>
+              </Entity>
+            </Collection>
+          </Property>
+        </Property>
+      </PropertyDef>
+      <PropertyDef name="jktyzw">
+        <Property></Property>
+        <Property name="label">鐩戞帶棰勭疆浣嶆暟閲�</Property>
+      </PropertyDef>
+      <PropertyDef name="sbipdz">
+        <Property></Property>
+        <Property name="label">璁惧IP鍦板潃</Property>
+      </PropertyDef>
+      <PropertyDef name="sbdkh">
+        <Property></Property>
+        <Property name="label">璁惧绔彛鍙�</Property>
+      </PropertyDef>
+      <PropertyDef name="sbdlmc">
+        <Property name="label">璁惧鐧诲綍鍚嶇О</Property>
+      </PropertyDef>
+      <PropertyDef name="sbdlmm">
+        <Property name="label">璁惧鐧诲綍瀵嗙爜</Property>
+      </PropertyDef>
+      <PropertyDef name="bz">
+        <Property name="label">澶囨敞</Property>
+      </PropertyDef>
+      <PropertyDef name="bjw">
+        <Property></Property>
+        <Property name="label">鏍囪浣�</Property>
+        <Property name="mapping">
+          <Property name="keyProperty">key</Property>
+          <Property name="valueProperty">value</Property>
+          <Property name="mapValues">
+            <Collection>
+              <Entity>
+                <Property name="value">闂佃鍖�</Property>
+                <Property name="key">minhang</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">瀹濆北鍖�</Property>
+                <Property name="key">baoshan</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">鍢夊畾鍖�</Property>
+                <Property name="key">jiading</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">娴︿笢鏂板尯</Property>
+                <Property name="key">pudong</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">閲戝北鍖�</Property>
+                <Property name="key">jinshan</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">鏉炬睙鍖�</Property>
+                <Property name="key">songjiang</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">闈掓郸鍖�</Property>
+                <Property name="key">qingpu</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">濂夎搐鍖�</Property>
+                <Property name="key">fengxian</Property>
+              </Entity>
+              <Entity>
+                <Property name="value">宕囨槑鍖�</Property>
+                <Property name="key">chongming</Property>
+              </Entity>
+            </Collection>
+          </Property>
+        </Property>
+      </PropertyDef>
+      <PropertyDef name="czbz">
+        <Property></Property>
+        <Property name="label">鎿嶄綔鏍囧織</Property>
+        <Property name="mapping">
+          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#trigger&quot;).getResult(&quot;CZBZ&quot;)}</Property>
+          <Property name="keyProperty">code</Property>
+          <Property name="valueProperty">name</Property>
+        </Property>
+      </PropertyDef>
+      <PropertyDef name="zhgxsj">
+        <Property></Property>
+        <Property name="dataType">DateTime</Property>
+        <Property name="label">鏈�鍚庢洿鏂版椂闂�</Property>
+      </PropertyDef>
+    </DataType>
+    <DataType name="dtParam">
+      <Property name="creationType">com.fzzy.api.data.ApiParam</Property>
+      <PropertyDef name="kqdm">
+        <Property></Property>
+        <Property name="label">鎵�灞炲簱鍖�</Property>
+      </PropertyDef>
+      <PropertyDef name="start">
+        <Property name="dataType">Date</Property>
+        <Property name="label">寮�濮嬫椂闂�</Property>
+      </PropertyDef>
+      <PropertyDef name="end">
+        <Property name="dataType">Date</Property>
+        <Property name="label">鎴鏃堕棿</Property>
+      </PropertyDef>
+      <PropertyDef name="czbz">
+        <Property></Property>
+        <Property name="label">鎿嶄綔鏍囧織</Property>
+        <Property name="mapping">
+          <Property name="mapValues">${dorado.getDataProvider(&quot;apiTriggerService#trigger&quot;).getResult(&quot;CZBZ&quot;)}</Property>
+          <Property name="keyProperty">code</Property>
+          <Property name="valueProperty">name</Property>
+        </Property>
+      </PropertyDef>
+    </DataType>
+  </Model>
+  <View layout="regionPadding:10">
+    <Property name="packages">font-awesome,css-common</Property>
+    <DataSet id="dsMain">
+      <Property name="dataType">[dtMain]</Property>
+      <Property name="dataProvider">sHApi1311PR#listData</Property>
+      <Property name="pageSize">15</Property>
+    </DataSet>
+    <DataSet id="dsQuery">
+      <ClientEvent name="onReady">self.insert();</ClientEvent>
+      <Property name="dataType">dtParam</Property>
+    </DataSet>
+    <ToolBar>
+      <ToolBarLabel>
+        <Property name="text">宸ュ叿鏍忥細</Property>
+        <Property name="style">
+          <Property name="font-weight">bold</Property>
+        </Property>
+      </ToolBarLabel>
+      <ToolBarButton>
+        <ClientEvent name="onClick">var query = view.get(&quot;#dsQuery&quot;).getData();&#xD;
+view.get(&quot;#dsMain&quot;).set(&quot;parameter&quot;,query).flushAsync();</ClientEvent>
+        <Property name="caption">鏌ヨ</Property>
+        <Property name="iconClass">fa fa-search</Property>
+        <Property name="width">100</Property>
+        <Property name="exClassName">toolbar-button-push</Property>
+      </ToolBarButton>
+      <ToolBarButton id="btnAdd">
+        <ClientEvent name="onClick">view.get(&quot;#dsMain&quot;).insert();&#xD;
+view.get(&quot;#dialogMain&quot;).show();</ClientEvent>
+        <Property name="caption">鏂板</Property>
+        <Property name="iconClass">fa fa-plus</Property>
+        <Property name="width">100</Property>
+        <Property name="exClassName">toolbar-button</Property>
+        <Property name="hideMode">display</Property>
+      </ToolBarButton>
+      <ToolBarButton id="btnUpdate">
+        <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
+if(cur){&#xD;
+	view.get(&quot;#dialogMain&quot;).show();&#xD;
+}</ClientEvent>
+        <Property name="caption">淇敼</Property>
+        <Property name="iconClass">fa fa-pencil</Property>
+        <Property name="width">100</Property>
+        <Property name="exClassName">toolbar-button-warm</Property>
+        <Property name="hideMode">display</Property>
+      </ToolBarButton>
+      <ToolBarButton>
+        <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
+view.get(&quot;#ajaxDelUpdate&quot;).set(&quot;parameter&quot;,cur).execute(function(result){&#xD;
+	if(result){&#xD;
+		$alert(result);&#xD;
+	} else{&#xD;
+		cur.set(&quot;czbz&quot;,&quot;d&quot;)&#xD;
+	}&#xD;
+});&#xD;
+</ClientEvent>
+        <Property name="caption">鏍囪鍒犻櫎</Property>
+        <Property name="iconClass">fa fa-minus</Property>
+        <Property name="exClassName">toolbar-button-warn</Property>
+        <Property name="width">100</Property>
+      </ToolBarButton>
+      <ToolBarButton id="btnDel">
+        <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
+view.get(&quot;#ajaxDel&quot;).set(&quot;parameter&quot;,cur).execute(function(result){&#xD;
+	if(result){&#xD;
+		$alert(result);&#xD;
+	} else{&#xD;
+		cur.remove();&#xD;
+	}&#xD;
+});&#xD;
+</ClientEvent>
+        <Property name="caption">鐩存帴鍒犻櫎</Property>
+        <Property name="iconClass">fa fa-minus</Property>
+        <Property name="exClassName">toolbar-button-warn</Property>
+        <Property name="width">100</Property>
+        <Property name="hideMode">display</Property>
+      </ToolBarButton>
+      <ToolBarButton>
+        <ClientEvent name="onClick">var select = view.get(&quot;#dgMain&quot;).get(&quot;selection&quot;);&#xD;
+if(select &amp;&amp; select.length > 0){&#xD;
+	view.get(&quot;#ajaxPush&quot;).set(&quot;parameter&quot;,select).execute(function(result){&#xD;
+		view.get(&quot;#dsMain&quot;).flushAsync();&#xD;
+          $notify(result);&#xD;
+	});&#xD;
+}else{&#xD;
+	$alert(&quot;璇峰嬀閫変笂鎶ユ暟鎹紒&quot;);&#xD;
+}&#xD;
+</ClientEvent>
+        <Property name="caption">鎵嬪姩涓婁紶</Property>
+        <Property name="iconClass">fa fa-hand-o-up</Property>
+        <Property name="exClassName">toolbar-button-push</Property>
+        <Property name="width">100</Property>
+      </ToolBarButton>
+      <Fill/>
+      <ToolBarButton>
+        <Property name="caption">涓婁紶璁板綍</Property>
+        <Property name="iconClass">fa fa-bars</Property>
+        <Property name="exClassName">toolbar-button</Property>
+        <Property name="width">100</Property>
+      </ToolBarButton>
+    </ToolBar>
+    <AutoForm>
+      <Property name="dataSet">dsQuery</Property>
+      <Property name="cols">*,*,*,*</Property>
+      <Property name="labelAlign">right</Property>
+      <Property name="labelSeparator">锛�</Property>
+      <Property name="labelWidth">90</Property>
+      <AutoFormElement>
+        <Property name="name">kqdm</Property>
+        <Property name="property">kqdm</Property>
+        <Editor/>
+      </AutoFormElement>
+      <AutoFormElement>
+        <Property name="name">start</Property>
+        <Property name="property">start</Property>
+        <Editor/>
+      </AutoFormElement>
+      <AutoFormElement>
+        <Property name="name">end</Property>
+        <Property name="property">end</Property>
+        <Editor/>
+      </AutoFormElement>
+      <AutoFormElement>
+        <Property name="name">czbz</Property>
+        <Property name="property">czbz</Property>
+        <Property name="trigger">autoMappingDropDown2</Property>
+        <Editor/>
+      </AutoFormElement>
+    </AutoForm>
+    <DataGrid id="dgMain">
+      <ClientEvent name="onDataRowDoubleClick">view.get(&quot;#dialogMain&quot;).show();</ClientEvent>
+      <Property name="dataSet">dsMain</Property>
+      <Property name="selectionMode">multiRows</Property>
+      <Property name="readOnly">true</Property>
+      <RowNumColumn/>
+      <RowSelectorColumn>
+        <Property name="caption">涓婁紶</Property>
+      </RowSelectorColumn>
+      <DataColumn name="spjksbid">
+        <Property name="property">spjksbid</Property>
+        <Property name="align">center</Property>
+      </DataColumn>
+      <DataColumn name="jksbmc">
+        <Property name="property">jksbmc</Property>
+        <Property name="align">center</Property>
+      </DataColumn>
+      <DataColumn name="kqdm">
+        <Property name="property">kqdm</Property>
+        <Property name="align">center</Property>
+      </DataColumn>
+      <DataColumn name="jkcs">
+        <Property name="property">jkcs</Property>
+        <Property name="align">center</Property>
+      </DataColumn>
+      <DataColumn name="spjklx">
+        <Property name="property">spjklx</Property>
+        <Property name="align">center</Property>
+      </DataColumn>
+      <DataColumn name="azwzlx">
+        <Property name="property">azwzlx</Property>
+        <Property name="align">center</Property>
+      </DataColumn>
+      <DataColumn name="czbz">
+        <Property name="property">czbz</Property>
+        <Property name="align">center</Property>
+      </DataColumn>
+      <DataColumn name="zhgxsj">
+        <Property name="property">zhgxsj</Property>
+        <Property name="align">center</Property>
+      </DataColumn>
+    </DataGrid>
+    <ToolBar layoutConstraint="bottom">
+      <Fill/>
+      <DataPilot>
+        <Property name="itemCodes">pageSize,pages</Property>
+        <Property name="dataSet">dsMain</Property>
+      </DataPilot>
+    </ToolBar>
+    <Dialog id="dialogMain">
+      <Property name="width">80%</Property>
+      <Property name="caption">鍒颁粨淇℃伅</Property>
+      <Property name="iconClass">fa fa-sliders</Property>
+      <Property name="closeable">false</Property>
+      <Buttons>
+        <Button>
+          <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
+view.get(&quot;#updateSave&quot;).execute(function(){&#xD;
+	self.get(&quot;parent&quot;).hide();&#xD;
+});</ClientEvent>
+          <Property name="caption">淇濆瓨淇敼</Property>
+          <Property name="iconClass">fa fa-check</Property>
+          <Property name="exClassName">toolbar-button</Property>
+        </Button>
+        <Button>
+          <ClientEvent name="onClick">var cur = view.get(&quot;#dgMain&quot;).getCurrentItem();&#xD;
+self.get(&quot;parent&quot;).hide();&#xD;
+if(cur) cur.cancel();</ClientEvent>
+          <Property name="caption">鍙栨秷淇敼</Property>
+          <Property name="iconClass">fa fa-times</Property>
+          <Property name="exClassName">toolbar-button-warn</Property>
+        </Button>
+      </Buttons>
+      <Children>
+        <AutoForm>
+          <Property name="dataSet">dsMain</Property>
+          <Property name="cols">*,*,*,*</Property>
+          <Property name="labelWidth">100</Property>
+          <Property name="labelAlign">left</Property>
+          <Property name="labelSeparator">锛�</Property>
+          <Property name="labelPosition">top</Property>
+          <AutoFormElement>
+            <Property name="name">spjksbid</Property>
+            <Property name="property">spjksbid</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">tdbh</Property>
+            <Property name="property">tdbh</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">tdmc</Property>
+            <Property name="property">tdmc</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">jksbbm</Property>
+            <Property name="property">jksbbm</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">jksbmc</Property>
+            <Property name="property">jksbmc</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">kqdm</Property>
+            <Property name="property">kqdm</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">jkcs</Property>
+            <Property name="property">jkcs</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">jkxh</Property>
+            <Property name="property">jkxh</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">jkxlh</Property>
+            <Property name="property">jkxlh</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">spjklx</Property>
+            <Property name="property">spjklx</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">sblxbm</Property>
+            <Property name="property">sblxbm</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">azwz</Property>
+            <Property name="property">azwz</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">azwzlx</Property>
+            <Property name="property">azwzlx</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">zsqy</Property>
+            <Property name="property">zsqy</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">sfazbgd</Property>
+            <Property name="property">sfazbgd</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">ajdm</Property>
+            <Property name="property">ajdm</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">hwdm</Property>
+            <Property name="property">hwdm</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">jkjlxbm</Property>
+            <Property name="property">jkjlxbm</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">jktyzw</Property>
+            <Property name="property">jktyzw</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">sbipdz</Property>
+            <Property name="property">sbipdz</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">sbdkh</Property>
+            <Property name="property">sbdkh</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">sbdlmc</Property>
+            <Property name="property">sbdlmc</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">sbdlmm</Property>
+            <Property name="property">sbdlmm</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">bz</Property>
+            <Property name="property">bz</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">bjw</Property>
+            <Property name="property">bjw</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">czbz</Property>
+            <Property name="property">czbz</Property>
+            <Editor/>
+          </AutoFormElement>
+          <AutoFormElement>
+            <Property name="name">zhgxsj</Property>
+            <Property name="property">zhgxsj</Property>
+            <Editor/>
+          </AutoFormElement>
+        </AutoForm>
+      </Children>
+      <Tools/>
+    </Dialog>
+    <UpdateAction id="updateSave">
+      <Property name="dataResolver">sHApi1311PR#saveData</Property>
+      <UpdateItem>
+        <Property name="dataPath">[#current]</Property>
+        <Property name="dataSet">dsMain</Property>
+      </UpdateItem>
+    </UpdateAction>
+    <AjaxAction id="ajaxPush">
+      <Property name="service">sHApi1311PR#pushData</Property>
+      <Property name="confirmMessage">纭畾瑕佷笂鎶ヤ箞锛�</Property>
+    </AjaxAction>
+    <AjaxAction id="ajaxDel">
+      <Property name="service">sHApi1311PR#delData</Property>
+      <Property name="confirmMessage">褰撳墠鏁版嵁鍒犻櫎鍚庢棤娉曟仮澶嶏紝璇风‘璁よ鍒犻櫎涔堬紵</Property>
+    </AjaxAction>
+    <AjaxAction id="ajaxDelUpdate">
+      <Property name="service">sHApi1311PR#delUpdate</Property>
+      <Property name="confirmMessage">纭畾瑕佸皢鏁版嵁鏍囪涓哄垹闄や箞锛�</Property>
+    </AjaxAction>
+  </View>
+</ViewConfig>
diff --git a/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi1311PR.java b/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi1311PR.java
new file mode 100644
index 0000000..45c9c3a
--- /dev/null
+++ b/src/main/java/com/fzzy/otherview/sh2023/pr/SHApi1311PR.java
@@ -0,0 +1,205 @@
+package com.fzzy.otherview.sh2023.pr;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.bstek.dorado.annotation.DataProvider;
+import com.bstek.dorado.annotation.DataResolver;
+import com.bstek.dorado.annotation.Expose;
+import com.bstek.dorado.data.provider.Page;
+import com.fzzy.api.Constant;
+import com.fzzy.api.data.ApiParam;
+import com.fzzy.api.dto.ResponseDto;
+import com.fzzy.api.entity.ApiConfs;
+import com.fzzy.api.entity.ApiInfoData;
+import com.fzzy.api.service.ApiCommonService;
+import com.fzzy.api.service.ApiPushManager;
+import com.fzzy.api.service.ApiRemoteService;
+import com.fzzy.api.utils.ContextUtil;
+import com.fzzy.api.view.repository.ApiInfoDataRep;
+import com.fzzy.push.sh2023.SH2023Constant;
+import com.fzzy.push.sh2023.dto.SH2023Api1311;
+import com.fzzy.push.sh2023.dto.SH2023Api2101;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.lang.time.DateFormatUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.domain.Pageable;
+import org.springframework.data.domain.Sort;
+import org.springframework.data.jpa.domain.Specification;
+import org.springframework.stereotype.Component;
+
+import javax.persistence.criteria.CriteriaBuilder;
+import javax.persistence.criteria.CriteriaQuery;
+import javax.persistence.criteria.Predicate;
+import javax.persistence.criteria.Root;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 涓婃捣甯傛帴鍙�-2101 妫�鏂ゅ崟
+ *
+ * @author czt
+ * @date 2023/8/17
+ */
+@Component(value = "sHApi1311PR")
+public class SHApi1311PR {
+
+    @Autowired
+    private ApiInfoDataRep apiInfoDataRep;
+    @Autowired
+    private ApiCommonService apiCommonService;
+    @Autowired
+    private ApiPushManager apiPushManager;
+
+    /**
+     * 鑾峰彇淇℃伅
+     * sHApi1311PR#listData
+     *
+     * @return
+     */
+    @DataProvider
+    public void listData(Page<SH2023Api1311> page, ApiParam param) {
+
+        Pageable pageable = PageRequest.of(page.getPageNo() - 1, page.getPageSize(), Sort.Direction.DESC, "updateTime");
+
+        Specification specification = new Specification<ApiInfoData>() {
+            private static final long serialVersionUID = 1L;
+
+            @Override
+            public Predicate toPredicate(Root<ApiInfoData> root, CriteriaQuery<?> criteriaQuery, CriteriaBuilder criteriaBuilder) {
+                List<Predicate> predicates = new ArrayList<>(); //鎵�鏈夌殑鏂█
+                Predicate predicate = criteriaBuilder.equal(root.get("inteId"), SH2023Constant.SH_2023_API_CODE_1311);
+                predicates.add(predicate);
+                if (null != param) {
+                    if (StringUtils.isNotBlank(param.getKqdm())) {
+                        Predicate predicate1 = criteriaBuilder.equal(root.get("kqdm"), param.getKqdm());
+                        predicates.add(predicate1);
+                    }
+
+                    if (StringUtils.isNotBlank(param.getCzbz())) {
+                        Predicate predicate2 = criteriaBuilder.equal(root.get("czbz"), param.getCzbz());
+                        predicates.add(predicate2);
+                    }
+                    if (null != param.getStart()) {
+                        Predicate predicate3 = criteriaBuilder.greaterThan(root.get("updateTime"), ContextUtil.getCurZero(param.getStart()));
+                        predicates.add(predicate3);
+                    }
+
+                    if (null != param.getEnd()) {
+                        Predicate predicate4 = criteriaBuilder.lessThan(root.get("updateTime"), ContextUtil.getNextZero(param.getEnd()));
+                        predicates.add(predicate4);
+                    }
+                }
+                return criteriaBuilder.and(predicates.toArray(new Predicate[0]));
+            }
+        };
+        org.springframework.data.domain.Page<ApiInfoData> japPage = apiInfoDataRep.findAll(specification, pageable);
+        page.setEntityCount((int) japPage.getTotalElements());
+        List<SH2023Api1311> list = new ArrayList<>();
+        SH2023Api1311 sh2023Api2101;
+        for (ApiInfoData infoData : japPage.getContent()) {
+            sh2023Api2101 = JSONObject.parseObject(infoData.getData(), SH2023Api1311.class);
+            list.add(sh2023Api2101);
+        }
+        page.setEntities(list);
+
+    }
+
+    /**
+     * sHApi1311PR#saveData
+     */
+    @DataResolver
+    public void saveData(SH2023Api1311 data) {
+
+        ApiInfoData infoData;
+        List<ApiInfoData> apiInfoList = apiInfoDataRep.getDataByInteAndData(SH2023Constant.SH_2023_API_CODE_1311, data.getSpjksbid(),data.getKqdm());
+        if (apiInfoList.size() != 0) {
+            infoData = apiInfoList.get(0);
+            infoData.setData(JSON.toJSONString(data));
+        } else {
+            infoData = new ApiInfoData();
+            infoData.setId(ContextUtil.getUUID());
+            infoData.setKqdm(data.getKqdm());
+            infoData.setInteId(SH2023Constant.SH_2023_API_CODE_1311);
+            infoData.setUpdateTime(new Date());
+            infoData.setDataId(data.getSpjksbid());
+            infoData.setData(JSON.toJSONString(data));
+            infoData.setCzbz(data.getCzbz());
+            infoData.setRemarks("澶囨敞淇℃伅");
+        }
+
+        apiInfoDataRep.save(infoData);
+    }
+
+    /**
+     * sHApi1311PR#delData
+     */
+    @Expose
+    public void delData(SH2023Api1311 data) {
+        List<ApiInfoData> apiInfoList = apiInfoDataRep.getDataByInteAndData(SH2023Constant.SH_2023_API_CODE_1311, data.getSpjksbid(),data.getKqdm());
+        apiInfoDataRep.deleteById(apiInfoList.get(0).getId());
+    }
+
+    /**
+     * sHApi1311PR#delUpdate
+     */
+    @Expose
+    public String delUpdate(SH2023Api1311 data) {
+        if (null == data) {
+            return "鏃犳暟鎹墽琛�";
+        }
+        List<ApiInfoData> apiInfoList = apiInfoDataRep.getDataByInteAndData(SH2023Constant.SH_2023_API_CODE_1311, data.getSpjksbid(),data.getKqdm());
+        data.setCzbz(Constant.CZBZ_D);
+        apiInfoDataRep.updateStatus(apiInfoList.get(0).getId(), JSON.toJSONString(data), Constant.CZBZ_D);
+        return null;
+    }
+
+
+    /**
+     *  sHApi1311PR#delUpdate
+     */
+    @Expose
+    public String pushData(List<SH2023Api1311> items) {
+        ResponseDto responseDto;
+        String result = "";
+
+        String kqdm = items.get(0).getKqdm();
+        ApiConfs apiConf = apiCommonService.getConf(kqdm);
+
+        if (null == apiConf) {
+            return "绯荤粺娌℃湁鑾峰彇鍒板綋鍓嶅簱鍖洪厤缃俊鎭紝鎵ц澶辫触";
+        }
+
+        //灏佽鍙傛暟
+        ApiParam param = new ApiParam(apiConf, "21", SH2023Constant.SH_2023_API_CODE_1311);
+
+        //鑾峰彇瀹炵幇鎺ュ彛
+        ApiRemoteService apiService = apiPushManager.getApiRemoteService(param.getPushProtocol());
+        if (null == apiService) {
+            return "绯荤粺娌℃湁褰撳墠鎺ㄩ�佸崗璁厤缃紝鎵ц澶辫触";
+        }
+
+        //鎺ㄩ�侊紝鏁版嵁涓洪泦鍚堝舰寮�
+        responseDto = apiService.pushData(param, apiConf, items);
+        if (responseDto.getSuccess() == 0) {
+            //鎺ㄩ�佹垚鍔燂紝鏇存柊鏁版嵁涓婁紶鐘舵��
+            ApiInfoData infoData;
+            for (SH2023Api1311 data : items) {
+                if (Constant.CZBZ_I.equals(data.getCzbz())) {
+                    //鎺ㄩ�佹垚鍔燂紝鏇存柊鏁版嵁涓婁紶鐘舵��
+                    List<ApiInfoData> apiInfoList = apiInfoDataRep.getDataByInteAndData(SH2023Constant.SH_2023_API_CODE_1311, data.getSpjksbid(),data.getKqdm());
+                    data.setCzbz(Constant.CZBZ_U);
+                    infoData = apiInfoList.get(0);
+                    infoData.setUpdateTime(new Date());
+                    infoData.setCzbz(Constant.CZBZ_U);
+                    infoData.setData(JSON.toJSONString(data));
+                    apiInfoDataRep.save(infoData);
+                }
+            }
+            result += responseDto.toString();
+        }
+        return result;
+    }
+
+}
diff --git a/src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1311.java b/src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1311.java
index 77e06fc..ee1837c 100644
--- a/src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1311.java
+++ b/src/main/java/com/fzzy/push/sh2023/dto/SH2023Api1311.java
@@ -27,7 +27,7 @@
     private String spjksbid;
 
     @PropertyDef(label = "閫氶亾缂栧彿")
-    private int tdbh;
+    private Integer tdbh;
 
     @PropertyDef(label = "閫氶亾鍚嶇О")
     private String tdmc;
@@ -100,13 +100,13 @@
     private String jkjlxbm;
 
     @PropertyDef(label = "鐩戞帶棰勭疆浣嶆暟閲�")
-    private int jktyzw;
+    private Integer jktyzw;
 
     @PropertyDef(label = "璁惧IP鍦板潃")
     private String sbipdz;
 
     @PropertyDef(label = "璁惧绔彛鍙�")
-    private int sbdkh;
+    private Integer sbdkh;
 
     @PropertyDef(label = "璁惧鐧诲綍鍚嶇О")
     private String sbdlmc;
diff --git a/src/main/resources/templates/home/home.html b/src/main/resources/templates/home/home.html
index 07636b2..ebaf2ec 100644
--- a/src/main/resources/templates/home/home.html
+++ b/src/main/resources/templates/home/home.html
@@ -300,6 +300,9 @@
                                 <a lay-href="com.fzzy.otherview.sh2023.ShApi2102.d">涓婃捣-鍊掍粨鍊掑叆</a>
                             </dd>
                             <dd>
+                                <a lay-href="com.fzzy.otherview.sh2023.ShApi1311.d">涓婃捣-瑙嗛鐩戞帶淇℃伅</a>
+                            </dd>
+                            <dd>
                                 <a lay-href="com.fzzy.otherview.sh2023.ShApi2103.d">涓婃捣-绮儏璁惧閰嶇疆</a>
                             </dd>
                             <dd>
@@ -310,9 +313,6 @@
                             </dd>
                             <dd>
                                 <a lay-href="com.fzzy.otherview.sh2023.ShApi2204.d">涓婃捣-瀹氬寲姘存楠�</a>
-                            </dd>
-                            <dd>
-                                <a lay-href="com.fzzy.test.ApiTest.d">瑙嗛鎺ュ彛娴嬭瘯</a>
                             </dd>
                         </dl>
                     </li>

--
Gitblit v1.9.3