From c23e793aab1bee979cd9422949f3c648f35b074a Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期一, 10 七月 2023 23:00:22 +0800
Subject: [PATCH] 关于集成接口管理模块的开发

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingDataMapper.java                    |    7 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/WsErpClientUtil.java                        |   60 ++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java         |   32 +
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java |  561 +++++++++++++++++++++++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/SysIntegrationDataFlowTypeEnum.java     |    4 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/HttpUtils.java                              |  194 +++++++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingDataService.java                 |   11 
 Source/UBCS/ubcs-service/ubcs-code/pom.xml                                                                          |   42 ++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingDataServiceImpl.java         |   15 
 Source/UBCS/pom.xml                                                                                                 |    2 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java          |    2 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSysIntHeader.java          |    2 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingData.java                  |   73 +++
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java          |    4 
 Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java   |   19 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingDataWrapper.java                  |   67 +++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java      |   90 +++
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingTask.java                  |    3 
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingDataMapper.xml                                  |   41 +
 19 files changed, 1,187 insertions(+), 42 deletions(-)

diff --git a/Source/UBCS/pom.xml b/Source/UBCS/pom.xml
index 8d31ce1..5757e07 100644
--- a/Source/UBCS/pom.xml
+++ b/Source/UBCS/pom.xml
@@ -21,7 +21,7 @@
         <spring.cloud.version>2021.0.3</spring.cloud.version>
         <spring.platform.version>Cairo-SR8</spring.platform.version>
         <maven.plugin.version>3.8.1</maven.plugin.version>
-
+        <axis2.version>1.7.5</axis2.version>
         <!-- 鎺ㄨ崘浣跨敤Harbor -->
         <docker.registry.url>192.168.0.157</docker.registry.url>
         <docker.registry.host>http://${docker.registry.url}:2375</docker.registry.host>
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java
index 8473859..d5d0221 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/dto/DockingSystemConfigDTO.java
@@ -186,7 +186,7 @@
 	private String classPath;
 
 	/**
-	 * 鏁版嵁娴佸悜鏂瑰紡
+	 * 鏁版嵁娴佸悜鏂瑰紡1:鎺ュ彈2锛氬垎鍙�
 	 */
 	private String dataFlowType;
 
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingData.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingData.java
new file mode 100644
index 0000000..8d36382
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingData.java
@@ -0,0 +1,73 @@
+package com.vci.ubcs.code.entity;
+
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.vci.ubcs.starter.constant.CodeTableNameConstant;
+import com.vci.ubcs.starter.revision.model.BaseModel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/***
+ * 寰呴泦鎴愭暟鎹�
+ */
+@Data
+@TableName(CodeTableNameConstant.PL_CODE_DOCKINGPADATA)
+@ApiModel(value = "DockingData", description = "寰呴泦鎴愭暟鎹�")
+@EqualsAndHashCode(callSuper = true)
+public class DockingData extends BaseModel {
+
+	/**
+	 * 搴忓垪鍖�
+	 */
+	private static final long serialVersionUID = 5020487634341415429L;
+
+	/**
+	 * 鍥惧彿
+	 */
+	@ApiModelProperty(value = "鍥惧彿")
+	private String uniqueCode;
+
+	/**
+	 * 绯荤粺鎺ュ彛oid
+	 */
+	@ApiModelProperty(value = "鍒嗙被涓婚敭")
+	private String classifyOid;
+
+	/**
+	 * 涓氬姟绫诲瀷涓婚敭
+	 */
+	@ApiModelProperty(value = "涓氬姟绫诲瀷涓婚敭")
+	private String btmOid;
+
+	/**
+	 * 涓氬姟绫诲瀷缂栧彿
+	 */
+	@ApiModelProperty(value = "涓氬姟绫诲瀷缂栧彿")
+	private String btmId;
+
+	/**
+	 * 鍙戦�佺被鍨�
+	 */
+	@ApiModelProperty(value = "鍙戦�佺被鍨�")
+	private String sendType;
+
+	/**
+	 * 浠诲姟鏄惁鐢熸垚
+	 */
+	@ApiModelProperty(value = "浠诲姟鏄惁鐢熸垚")
+	private String sendFlag;
+
+	/**
+	 * 鍒嗙被缂栧彿
+	 */
+	@ApiModelProperty(value = "鍒嗙被缂栧彿")
+	private String classifyId;
+
+	/**
+	 * 绯荤粺id
+	 */
+	@ApiModelProperty(value = "鍒嗙被鍚嶇О")
+	private String classifyName;
+}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSysIntHeader.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSysIntHeader.java
index d94e7fc..70efd0f 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSysIntHeader.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSysIntHeader.java
@@ -14,7 +14,7 @@
  * 鎺ュ彛澶村崗璁�
  */
 @Data
-@TableName(CodeTableNameConstant.PL_CODE_SYSINTPAREMTER)
+@TableName(CodeTableNameConstant.PL_CODE_SYSINTHEADER)
 @ApiModel(value = "DockingSysIntHeader", description = "闆嗘垚鎺ュ彛-鎺ュ彛澶村崗璁璞�")
 @EqualsAndHashCode(callSuper = true)
 public class DockingSysIntHeader extends BaseModel {
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java
index c18ddf3..393a0ee 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingSystemConfig.java
@@ -284,9 +284,9 @@
 
 
 	/***
-	 * 鎺ㄩ�佺被鍨� 1:鏁版嵁鎺ㄩ��/2鍒嗙被鎺ㄩ�侊紝榛樿鏁版嵁鎺ㄩ��
+	 *  鎺ㄩ�佺被鍨� 1:鏁版嵁鎺ㄩ��,2鍒嗙被鎺ㄩ�侊紝榛樿鏁版嵁鎺ㄩ��,3:缂栫爜鐢宠,4:缂栫爜鏇存敼锛堟洿鏀广�佺姸鎬侊紝鍥炴敹锛�,5:鍒嗙被鏌ヨ,6:鍚鍒欎俊鎭殑鍒嗙被鏌ヨ,7:鏁版嵁鏌ヨ
 	 */
-	@ApiModelProperty(value = "鎺ㄩ�佺被鍨� 1:鏁版嵁鎺ㄩ��/2鍒嗙被鎺ㄩ�侊紝榛樿鏁版嵁鎺ㄩ��")
+	@ApiModelProperty(value = "鎺ㄩ�佺被鍨� 1:鏁版嵁鎺ㄩ��,2鍒嗙被鎺ㄩ�侊紝榛樿鏁版嵁鎺ㄩ��,3:缂栫爜鐢宠,4:缂栫爜鏇存敼锛堟洿鏀广�佺姸鎬侊紝鍥炴敹锛�,5:鍒嗙被鏌ヨ,6:鍚鍒欎俊鎭殑鍒嗙被鏌ヨ,7:鏁版嵁鏌ヨ")
 	private String pushType;
 	/***
 	 * 鎺ㄩ�佺被鍨嬫樉绀哄��
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingTask.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingTask.java
index 9e7d7fe..67c61d6 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingTask.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/entity/DockingTask.java
@@ -2,6 +2,7 @@
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableName;
+import com.vci.ubcs.starter.constant.CodeTableNameConstant;
 import com.vci.ubcs.starter.revision.model.BaseModel;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -12,7 +13,7 @@
  * 瀹氭椂鍒嗗彂浠诲姟瀵硅薄
  */
 @Data
-@TableName("PL_CODE_DOCKINGTASK")
+@TableName(CodeTableNameConstant.PL_CODE_DOCKINGTASK)
 @ApiModel(value = "DockingTask", description = "瀹氭椂鍒嗗彂浠诲姟瀵硅薄")
 @EqualsAndHashCode
 public class DockingTask extends BaseModel {
diff --git a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java
index 84b8d0f..94db481 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-util-api/src/main/java/com/vci/ubcs/starter/constant/CodeTableNameConstant.java
@@ -118,14 +118,29 @@
 	public static final String PL_CODE_SYSINTBASE = "PL_CODE_SYSINTBASE";
 
 	/**
-	 * 闆嗘垚鎺ュ彛-闆嗘垚鎺ュ彛绠$悊瀵硅薄
+	 * 闆嗘垚鎺ュ彛-闆嗘垚鎺ュ彛閰嶇疆瀵硅薄
 	 */
 	public static final String PL_CODE_SYSINTINFO = "PL_CODE_SYSINTINFO";
 
 	/**
-	 * 闆嗘垚鎺ュ彛-闆嗘垚鎺ュ彛绠$悊瀵硅薄
+	 * 闆嗘垚鎺ュ彛-闆嗘垚鍙傛暟绠$悊瀵硅薄
 	 * platformbtm_sysintparemter
 	 */
 	public static final String PL_CODE_SYSINTPAREMTER = "PL_CODE_SYSINTPAREMTER";
+	/**
+	 * 鎺ュ彛澶村崗璁�
+	 */
+	public static final String PL_CODE_SYSINTHEADER = "PL_CODE_SYSINTHEADER";
+	/***
+	 * 寰呴泦鎴愭暟鎹�
+	 */
+	public static final String PL_CODE_DOCKINGPADATA = "PL_CODE_DOCKINGPADATA";
+	/***
+	 * 瀹氭椂鍒嗗彂浠诲姟瀵硅薄
+	 */
+	public static final String PL_CODE_DOCKINGTASK = "PL_CODE_DOCKINGTASK";
+
+
+
 
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/pom.xml b/Source/UBCS/ubcs-service/ubcs-code/pom.xml
index ceed936..a6f8417 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/pom.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/pom.xml
@@ -97,6 +97,48 @@
             <artifactId>DmJdbcDriver18</artifactId>
             <optional>true</optional>
         </dependency>-->
+
+        <!--axis2 begin -->
+        <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>axis2-adb</artifactId>
+            <version>${axis2.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>axis2-transport-http</artifactId>
+            <version>${axis2.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>axis2-transport-local</artifactId>
+            <version>${axis2.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.axis2</groupId>
+            <artifactId>axis2-kernel</artifactId>
+            <version>${axis2.version}</version>
+            <exclusions>
+                <exclusion>
+                    <groupId>javax.servlet</groupId>
+                    <artifactId>servlet-api</artifactId>
+                </exclusion>
+                <exclusion>
+                    <artifactId>commons-io</artifactId>
+                    <groupId>commons-io</groupId>
+                </exclusion>
+                <exclusion>
+                    <artifactId>geronimo-activation_1.1_spec</artifactId>
+                    <groupId>org.apache.geronimo.specs</groupId>
+                </exclusion>
+                <exclusion>
+                    <artifactId>commons-logging</artifactId>
+                    <groupId>commons-logging</groupId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <!--axis2 end -->
+
     </dependencies>
 
     <build>
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java
index 0ddb3ad..c24f718 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/DockingManagementController.java
@@ -4,19 +4,19 @@
 import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
 import com.vci.ubcs.code.dto.DockingSystemConfigDTO;
 import com.vci.ubcs.code.dto.DockingSystemDTO;
-import com.vci.ubcs.code.entity.CodeRule;
+import com.vci.ubcs.code.dto.UpdateSysInfoStatusDTO;
+import com.vci.ubcs.code.entity.DockingData;
 import com.vci.ubcs.code.entity.DockingSystem;
 import com.vci.ubcs.code.entity.DockingSystemConfig;
+import com.vci.ubcs.code.service.IDockingDataService;
 import com.vci.ubcs.code.service.IDockingSystemConfigService;
 import com.vci.ubcs.code.service.IDockingSystemService;
-import com.vci.ubcs.code.vo.pagemodel.CodeRuleVO;
+import com.vci.ubcs.code.vo.pagemodel.DockingDataVO;
 import com.vci.ubcs.code.vo.pagemodel.DockingSystemConfigVO;
 import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO;
-import com.vci.ubcs.code.wrapper.CodeRuleWrapper;
-import com.vci.ubcs.code.wrapper.DockingSystemConfigWrapper;
+import com.vci.ubcs.code.wrapper.DockingDataWrapper;
 import com.vci.ubcs.code.wrapper.DockingSystemWrapper;
 import com.vci.ubcs.starter.exception.VciBaseException;
-import com.vci.ubcs.starter.web.pagemodel.BaseQueryObject;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
@@ -40,12 +40,17 @@
 	 * 闆嗘垚绯荤粺绠$悊鏈嶅姟
 	 */
 	private  final IDockingSystemService dockingSystemService;
+
 	/***
 	 * 闆嗘垚鎺ュ彛閰嶇疆鏈嶅姟
 	 */
 	private  final IDockingSystemConfigService dockingSystemConfigService;
 
 
+	/***
+	 * 寰呴泦鎴愭暟鎹湇鍔�
+	 */
+	private final IDockingDataService dockingDataService;
 
 
 	/**绯荤粺闆嗘垚鐨勭郴缁熶俊鎭垪琛�
@@ -89,8 +94,8 @@
 	 * @param oids 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞★紝oid鍜宼s闇�瑕佷紶杈�
 	 * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐�
 	 */
-	@DeleteMapping( "/deleteDataById")
-	public R deleteDataById( String oids) {
+	@DeleteMapping( "/deleteSystemsById")
+	public R deleteSystemsById( String oids) {
 		try {
 			return R.status(dockingSystemService.deleteDataById(oids));
 		}catch (VciBaseException e){
@@ -100,15 +105,15 @@
 	}
 	/**
 	 * 绯荤粺闆嗘垚鍩虹淇℃伅鍒楄〃
-	 * @param DockingSystemConfig 鍩虹鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑
+	 * @param dockingSystemConfig 鍩虹鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑
 	 * @return 绯荤粺闆嗘垚鍩虹淇℃伅鏄剧ず瀵硅薄鍒楄〃
 	 */
 	@GetMapping("/gridSystemConfig")
 	@ApiOperationSupport(order = 3)
-	@ApiOperation(value = "鍒嗛〉", notes = "DockingSystemConfig")
-	public R<IPage<DockingSystemConfigVO>> gridSystemConfig(DockingSystemConfig DockingSystemConfig, Query query){
-		IPage<DockingSystemConfig> pages = dockingSystemConfigService.page(Condition.getPage(query), Condition.getQueryWrapper(DockingSystemConfig));
-		return R.data(DockingSystemConfigWrapper.build().pageVO(pages));
+	@ApiOperation(value = "鍒嗛〉", notes = "dockingSystemConfig")
+	public R<IPage<DockingSystemConfigVO>> gridSystemConfig(DockingSystemConfig dockingSystemConfig, Query query){
+		IPage<DockingSystemConfigVO>  pages=dockingSystemConfigService.page(dockingSystemConfig,query);
+		return R.data(pages);
 	}
 
 	/**
@@ -125,4 +130,65 @@
 			return R.fail("淇濆瓨澶辫触!");
 		}
 	}
+
+	/**
+	 * 澧炲姞 绯荤粺闆嗘垚鍩虹淇℃伅
+	 * @param dockingSystemConfigDTO 绯荤粺闆嗘垚鍩虹淇℃伅鏁版嵁浼犺緭瀵硅薄
+	 * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞�
+	 */
+	@PostMapping( "/editSystemConfig")
+	public R editSystemConfig(@RequestBody DockingSystemConfigDTO dockingSystemConfigDTO){
+		try {
+			boolean res =  dockingSystemConfigService.editSave(dockingSystemConfigDTO);
+			return R.success("淇濆瓨鎴愬姛!");
+		}catch (Throwable e){
+			return R.fail("淇濆瓨澶辫触!");
+		}
+	}
+	/**
+	 * 鍒犻櫎绯荤粺闆嗘垚绯荤粺閰嶇疆淇℃伅
+	 * @param oids 绯荤粺闆嗘垚鍩虹淇℃伅鏁版嵁浼犺緭瀵硅薄锛宱id鍜宼s闇�瑕佷紶杈�
+	 * @return 鍒犻櫎缁撴灉鍙嶉锛氾細success锛氭垚鍔燂紝fail锛氬け璐�
+	 */
+	@DeleteMapping( "/deleteSystemConfigsById")
+	public R deleteSystemConfigsById( String oids) {
+		try {
+			return R.status(dockingSystemConfigService.deleteDataById(oids));
+		}catch (VciBaseException e){
+			R.fail(e.getMessage());
+		}
+		return R.success("鎿嶄綔鎴愬姛");
+	}
+	/***
+	 * 鎺ュ彛淇℃伅鏄惁鍚敤/鍋滅敤
+	 * @param sysInfoStatusDTO
+	 * @return
+	 */
+	@PostMapping("/updateStatus")
+	public R updateStatus(@RequestBody UpdateSysInfoStatusDTO sysInfoStatusDTO){
+		return dockingSystemConfigService.updateStatus(sysInfoStatusDTO);
+	}
+
+	/***
+	 * 鎵嬪姩鎺ㄩ�佸垎绫�/鏁版嵁
+	 * @param dockingSystemConfigDTO
+	 * @return
+	 */
+	@PostMapping("/pushData")
+	public R pushData(@RequestBody DockingSystemConfigDTO dockingSystemConfigDTO){
+		return dockingSystemConfigService.pushData(dockingSystemConfigDTO);
+	}
+
+	/**
+	 * 寰呴泦鎴愭暟鎹�
+	 * @param dockingData 鍩虹鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑
+	 * @return 绯荤粺闆嗘垚鍩虹淇℃伅鏄剧ず瀵硅薄鍒楄〃
+	 */
+	@GetMapping("/gridDockingData")
+	@ApiOperationSupport(order = 3)
+	@ApiOperation(value = "鍒嗛〉", notes = "DockingDataVO")
+	public R<IPage<DockingDataVO>> gridDockingData(DockingData dockingData, Query query){
+		IPage<DockingData> pages = dockingDataService.page(Condition.getPage(query), Condition.getQueryWrapper(dockingData));
+		return R.data(DockingDataWrapper.build().pageVO(pages));
+	}
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/SysIntegrationDataFlowTypeEnum.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/SysIntegrationDataFlowTypeEnum.java
index 316825f..403a381 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/SysIntegrationDataFlowTypeEnum.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/enumpack/SysIntegrationDataFlowTypeEnum.java
@@ -15,9 +15,9 @@
      */
     PUSH("push","鎺ㄩ��"),
     /**
-     * 閫氱煡鍜屾煡璇�
+     * 鎺ュ彈
      */
-    NOTICE_AND_QUERY("noticeAndQuery","閫氱煡鍜屾煡璇�");
+	ACCEPT("accept","鎺ユ敹");
 
     /**
      * 鏋氫妇鐨勫��
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingDataMapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingDataMapper.java
new file mode 100644
index 0000000..e177ebd
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/mapper/DockingDataMapper.java
@@ -0,0 +1,7 @@
+package com.vci.ubcs.code.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.vci.ubcs.code.entity.DockingData;
+
+public interface DockingDataMapper extends BaseMapper<DockingData> {
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingDataService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingDataService.java
new file mode 100644
index 0000000..64e6361
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingDataService.java
@@ -0,0 +1,11 @@
+package com.vci.ubcs.code.service;
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.vci.ubcs.code.entity.DockingData;
+
+/***
+ * @author xj
+ * @date 2023-07-10
+ */
+public interface IDockingDataService extends IService<DockingData> {
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java
index 373ccab..1cee607 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IDockingSystemConfigService.java
@@ -1,9 +1,15 @@
 package com.vci.ubcs.code.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.vci.ubcs.code.dto.DockingSystemConfigDTO;
+import com.vci.ubcs.code.dto.UpdateSysInfoStatusDTO;
 import com.vci.ubcs.code.entity.DockingSystemConfig;
+import com.vci.ubcs.code.vo.pagemodel.DockingSystemConfigVO;
 import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO;
+import com.vci.ubcs.starter.exception.VciBaseException;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
 
 /***
  * 绯荤粺鎺ュ彛绠$悊-鎺ュ彛閰嶇疆鏈嶅姟
@@ -12,19 +18,41 @@
  */
 public interface IDockingSystemConfigService extends IService<DockingSystemConfig> {
 
+
+	/**
+	 * 绯荤粺闆嗘垚鍩虹淇℃伅鍒楄〃
+	 * @param dockingSystemConfig 鍩虹鏌ヨ瀵硅薄锛屽寘鍚煡璇㈡潯浠讹紝鍒嗛〉锛屾帓搴忕瓑
+	 * @return 绯荤粺闆嗘垚鍩虹淇℃伅鏄剧ず瀵硅薄鍒楄〃
+	 */
+	IPage<DockingSystemConfigVO> page(DockingSystemConfig dockingSystemConfig, Query query);
+
 	/**
 	 * 澧炲姞 绯荤粺闆嗘垚鐨勬帴鍙g鐞嗕俊鎭�
 	 * @param dockingSystemConfigDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞�
 	 * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞�
 	 */
-	public boolean addSave(DockingSystemConfigDTO dockingSystemConfigDTO);
+	 boolean addSave(DockingSystemConfigDTO dockingSystemConfigDTO);
 	/**
 	 * 淇敼 绯荤粺闆嗘垚鐨勬帴鍙g鐞嗕俊鎭�
 	 * @param dockingSystemConfigDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞�
 	 * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞�
 	 */
-	DockingSystemVO editSave(DockingSystemConfigDTO dockingSystemConfigDTO);
+	boolean editSave(DockingSystemConfigDTO dockingSystemConfigDTO);
+
+	/***
+	 * 鏇存柊鎺ュ彛閰嶇疆淇℃伅鐘舵��
+	 * @param sysInfoStatusDTO
+	 * @return
+	 */
+	public R updateStatus(UpdateSysInfoStatusDTO sysInfoStatusDTO);
 
 
+	/***
+	 * 鎵嬪姩鍚屾鎺ュ彛锛屽彧鏈夋帹閫佺殑鎵嶄細
+	 * @param dockingSystemConfig
+	 * @return
+	 * @throws VciBaseException
+	 */
+	R pushData(DockingSystemConfigDTO dockingSystemConfigDTO) throws VciBaseException;
 	boolean deleteDataById(String oids);
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingDataServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingDataServiceImpl.java
new file mode 100644
index 0000000..1efcbef
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingDataServiceImpl.java
@@ -0,0 +1,15 @@
+package com.vci.ubcs.code.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.vci.ubcs.code.entity.DockingData;
+import com.vci.ubcs.code.mapper.DockingDataMapper;
+import com.vci.ubcs.code.service.IDockingDataService;
+import org.springframework.stereotype.Service;
+
+/***
+ * @author xj
+ * @date 2023-07-10
+ */
+@Service
+public class DockingDataServiceImpl extends ServiceImpl<DockingDataMapper, DockingData> implements IDockingDataService {
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java
index 4d9af0a..db243fa 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/DockingSystemConfigServiceImpl.java
@@ -1,36 +1,62 @@
 package com.vci.ubcs.code.service.impl;
 
+import com.alibaba.cloud.commons.lang.StringUtils;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.thoughtworks.xstream.XStream;
+import com.thoughtworks.xstream.io.xml.DomDriver;
+import com.vci.ubcs.code.bo.CodeTemplateAttrSqlBO;
+import com.vci.ubcs.code.constant.FrameWorkDefaultValueConstant;
 import com.vci.ubcs.code.constant.MdmBtmTypeConstant;
 import com.vci.ubcs.code.dto.DockingSysIntHeaderDTO;
 import com.vci.ubcs.code.dto.DockingSystemConfigDTO;
 import com.vci.ubcs.code.dto.DockingSysIntParamDTO;
-import com.vci.ubcs.code.entity.DockingSysIntHeader;
-import com.vci.ubcs.code.entity.DockingSysIntParam;
-import com.vci.ubcs.code.entity.DockingSystem;
-import com.vci.ubcs.code.entity.DockingSystemConfig;
-import com.vci.ubcs.code.enumpack.SysIntegrationRequestTypeEnum;
-import com.vci.ubcs.code.mapper.DockingSysIntHeaderMapper;
-import com.vci.ubcs.code.mapper.DockingSysIntParamMapper;
-import com.vci.ubcs.code.mapper.DockingSystemConfigMapper;
-import com.vci.ubcs.code.mapper.DockingSystemMapper;
-import com.vci.ubcs.code.service.IDockingSysIntHeaderService;
-import com.vci.ubcs.code.service.IDockingSysIntParamService;
-import com.vci.ubcs.code.service.IDockingSystemConfigService;
-import com.vci.ubcs.code.vo.pagemodel.DockingSysIntHeaderVO;
-import com.vci.ubcs.code.vo.pagemodel.DockingSystemVO;
+import com.vci.ubcs.code.dto.UpdateSysInfoStatusDTO;
+import com.vci.ubcs.code.dto.datapush.classify.JsonRootDataDTO;
+import com.vci.ubcs.code.dto.datapush.classify.NodeClassifyDTO;
+import com.vci.ubcs.code.dto.datapush.classify.NodeDataDTO;
+import com.vci.ubcs.code.dto.datapush.classify.NodeLibraryDTO;
+import com.vci.ubcs.code.dto.datapush.result.ResultJsonDTO;
+import com.vci.ubcs.code.dto.datapush.result.ResultNodeDataDTO;
+import com.vci.ubcs.code.dto.datapush.result.ResultNodeObjectDTO;
+import com.vci.ubcs.code.entity.*;
+import com.vci.ubcs.code.enumpack.*;
+import com.vci.ubcs.code.mapper.*;
+import com.vci.ubcs.code.service.*;
+import com.vci.ubcs.code.util.HttpUtils;
+import com.vci.ubcs.code.util.WsErpClientUtil;
+import com.vci.ubcs.code.vo.pagemodel.*;
+import com.vci.ubcs.code.wrapper.DockingSysIntHeaderWrapper;
+import com.vci.ubcs.code.wrapper.DockingSysIntParamWrapper;
+import com.vci.ubcs.code.wrapper.DockingSystemConfigWrapper;
 import com.vci.ubcs.starter.exception.VciBaseException;
 import com.vci.ubcs.starter.revision.service.RevisionModelUtil;
 import com.vci.ubcs.starter.util.DefaultAttrAssimtUtil;
+import com.vci.ubcs.starter.web.constant.QueryOptionConstant;
+import com.vci.ubcs.starter.web.pagemodel.PageHelper;
 import com.vci.ubcs.starter.web.util.BeanUtilForVCI;
 import com.vci.ubcs.starter.web.util.VciBaseUtil;
+import com.vci.ubcs.starter.web.util.VciDateUtil;
 import lombok.extern.slf4j.Slf4j;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
 
+import javax.annotation.Resource;
 import java.util.*;
+import java.util.stream.Collectors;
+
+import static com.vci.ubcs.code.constant.MdmDuckingConstant.*;
+import static com.vci.ubcs.starter.util.MdmBtmTypeConstant.CODE_CLASSIFY_OID_FIELD;
 
 /***
  * 绯荤粺鎺ュ彛绠$悊-鎺ュ彛閰嶇疆鏈嶅姟
@@ -41,6 +67,8 @@
 @Service
 public class DockingSystemConfigServiceImpl extends ServiceImpl<DockingSystemConfigMapper, DockingSystemConfig> implements IDockingSystemConfigService{
 
+	@Value("${dataSyncPush.dataParamName:xmlData}")
+	public String DATA_PARAM_NAME;
 	/***
 	 * 闆嗘垚绯荤粺绠$悊鏈嶅姟
 	 */
@@ -53,8 +81,6 @@
 	@Autowired(required = false)
 	private IDockingSysIntParamService dockingSysIntParamService;
 
-
-
 	/***
 	 * 闆嗘垚鎺ュ彛-闆嗘垚鎺ュ彛绠$悊鍙傛暟鏈嶅姟
 	 */
@@ -62,17 +88,71 @@
 	private IDockingSysIntHeaderService dockingSysIntHeaderService;
 
 
+
+
 	/***
 	 * 闆嗘垚鎺ュ彛-闆嗘垚绯荤粺鏈嶅姟
 	 */
 	@Autowired(required = false)
 	private DockingSystemMapper dockingSystemMapper;
+	/***
+	 * 浠诲姟鐢熸垚鏈嶅姟
+	 */
+	@Autowired(required = false)
+	private IDockingTaskService dockingTaskService;
 
+
+	/**
+	 * 涓绘暟鎹紩鎿庣殑鏈嶅姟
+	 */
+	@Resource
+	private MdmEngineService engineService;
+
+
+	/**
+	 * 涓婚搴撳垎绫荤殑鏈嶅姟
+	 */
+	@Resource
+	private ICodeClassifyService classifyService;
 	/**
 	 * 瀵硅薄鐨勬搷浣�
 	 */
 	@Autowired
 	private RevisionModelUtil revisionModelUtil;
+
+	/**
+	 * 閫氱敤鏌ヨ
+	 */
+	@Resource
+	private CommonsMapper commonsMapper;
+
+
+	/**
+	 * 鏃ュ織鏂囦欢鏈嶅姟
+	 */
+	@Resource
+	private IDockingLogeService dockingLogeService;
+
+	@Override
+	public IPage<DockingSystemConfigVO> page(DockingSystemConfig DockingSystemConfig, Query query) {
+
+		IPage<DockingSystemConfig> pages = page(Condition.getPage(query), Condition.getQueryWrapper(DockingSystemConfig));
+		List<DockingSystemConfig>  dockingSystemConfigList= pages.getRecords();
+		dockingSystemConfigList.stream().forEach(dockingSystemConfig -> {
+			dockingSystemConfig.setDataFlowTypeText(SysIntegrationDataFlowTypeEnum.getTextByValue(dockingSystemConfig.getDataFlowType()));
+			dockingSystemConfig.setAuthorityTypeText(SysIntegrationAuthorityTypeEnum.getTextByValue(dockingSystemConfig.getAuthorityType()));
+			dockingSystemConfig.setParamTypeText(SysIntegrationParamAndReturnTypeEnum.getTextByValue(dockingSystemConfig.getParamType()));
+			dockingSystemConfig.setReturnTypeText(SysIntegrationParamAndReturnTypeEnum.getTextByValue(dockingSystemConfig.getReturnType()));
+			dockingSystemConfig.setInterfaceTypeText(SysIntegrationRequestTypeEnum.getValueByText(dockingSystemConfig.getInterfaceType()));
+			dockingSystemConfig.setPushTypeText(sysIntegrationPushTypeEnum.getTextByValue(dockingSystemConfig.getPushType()));
+			dockingSystemConfig.setRequestMethodText(SysIntegrationRequestMethodEnum.getTextByValue(dockingSystemConfig.getRequestMethod()));
+			//dockingSystemConfig.setSysBaseName("");
+		//	dockingSystemConfig.setSourceSysName("");
+			//dockingSystemConfig.setTargetSysName("");
+		});
+		return  DockingSystemConfigWrapper.build().pageVO(pages);
+	}
+
 	/**
 	 * 澧炲姞绯荤粺闆嗘垚鐨勬帴鍙g鐞嗕俊鎭�
 	 * @param dockingSystemConfigDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞�
@@ -127,9 +207,154 @@
 
 	}
 
+	/**
+	 * 淇敼 绯荤粺闆嗘垚鐨勬帴鍙g鐞嗕俊鎭�
+	 * @param dockingSystemConfigDTO 绯荤粺闆嗘垚鐨勭郴缁熶俊鎭暟鎹紶杈撳璞�
+	 * @return 鎵ц缁撴灉锛宻uccess涓簍rue琛ㄧず鎴愬姛锛宮sg鏄け璐ョ殑鎻愮ず淇℃伅锛宱bj鏄坊鍔犲畬鎴愬悗鐨勬樉绀哄璞�
+	 */
+	@Transactional(rollbackFor = Exception.class)
 	@Override
-	public DockingSystemVO editSave(DockingSystemConfigDTO dockingSystemDTO) {
-		return null;
+	public boolean editSave(DockingSystemConfigDTO dockingSystemConfigDTO) {
+		VciBaseUtil.alertNotNull(dockingSystemConfigDTO,"鏁版嵁瀵硅薄",dockingSystemConfigDTO.getOid(),"绯荤粺闆嗘垚鍩虹淇℃伅涓婚敭");
+		String sourcesystemoid = dockingSystemConfigDTO.getSourceSystemOid();//.getSourcesystemoid();
+		DockingSystem dockingSystem = dockingSystemMapper.selectById(sourcesystemoid);
+		dockingSystemConfigDTO.setSysBaseOid(sourcesystemoid);
+		dockingSystemConfigDTO.setSysBaseId(dockingSystem.getId());
+		dockingSystemConfigDTO.setBtmname(dockingSystem.getName());
+		//灏咲TO杞崲涓篋O
+		DockingSystemConfig dockingSystemConfig = dockingSystemConfigMapper.selectById(dockingSystemConfigDTO.getOid());
+		revisionModelUtil.copyFromDTOIgnore(dockingSystemConfigDTO,dockingSystemConfig);
+		String sysInfoOid=dockingSystemConfigDTO.getOid();
+		List<DockingSysIntParamDTO> dockingSysIntParamDTOS=  dockingSystemConfigDTO.getSysIntParamDTOS();
+		List<DockingSysIntParam> dockingSysIntParamList=new ArrayList<>();
+		if(!CollectionUtils.isEmpty(dockingSysIntParamDTOS)) {
+			dockingSysIntParamDTOS.stream().forEach(dockingSysIntParamDTO -> {
+				DockingSysIntParam dockingSysIntParam = new DockingSysIntParam();
+				BeanUtilForVCI.copyPropertiesIgnoreCase(dockingSysIntParamDTO, dockingSysIntParam);
+				dockingSysIntParamList.add(dockingSysIntParam);
+			});
+		}
+		List<DockingSysIntHeaderDTO> dockingSysIntHeaderDTOS= dockingSystemConfigDTO.getSysIntHeaderDTOS();
+		List<DockingSysIntHeader> dockingSysIntHeaderList = new ArrayList<>();
+		if(!CollectionUtils.isEmpty(dockingSysIntHeaderDTOS)) {
+			dockingSysIntHeaderDTOS.stream().forEach(dockingSysIntHeaderDTO -> {
+				DockingSysIntHeader dockingSysIntHeader = new DockingSysIntHeader();
+				BeanUtilForVCI.copyPropertiesIgnoreCase(dockingSysIntHeaderDTO, dockingSysIntHeader);
+				dockingSysIntHeaderList.add(dockingSysIntHeader);
+			});
+		}
+
+		//鎵归噺澶勭悊淇濆瓨header瀵硅薄
+		if(!CollectionUtils.isEmpty(dockingSysIntHeaderList)) {
+			List<String> idList=new ArrayList<>();
+			List<DockingSysIntHeader> headers_old =this.dockingSysIntHeaderService.list(Wrappers.<DockingSysIntHeader>query().lambda().eq(DockingSysIntHeader::getInfoOid,sysInfoOid));;
+			for (DockingSysIntHeader sysIntHeader:headers_old){
+				sysIntHeader.setUsedFlag(FLAG_FAIL);
+				idList.add(sysIntHeader.getOid());
+			}
+			if(idList.size()!=0){
+				boolean res=dockingSysIntHeaderService.removeBatchByIds(idList);
+			}
+			//鍐嶆柊澧瀐eaders
+			for(DockingSysIntHeader sysIntHeader:dockingSysIntHeaderList){
+				sysIntHeader.setUsedFlag(FLAG_TRUE);
+				sysIntHeader.setInfoOid(dockingSystemConfig.getOid());
+
+			}
+			boolean res= dockingSysIntHeaderService.saveBatch(dockingSysIntHeaderList);
+		}
+		//鎵归噺澶勭悊淇濆瓨Param瀵硅薄
+		if(!CollectionUtils.isEmpty(dockingSysIntParamList)) {
+			//鍏堝垹闄arams_old
+			List<String> idList=new ArrayList<>();
+			List<DockingSysIntParam> params_old =this.dockingSysIntParamService.list(Wrappers.<DockingSysIntParam>query().lambda().eq(DockingSysIntParam::getInfoOid,sysInfoOid));
+			for (DockingSysIntParam sysIntParamDO:params_old){
+				sysIntParamDO.setUsedFlag(FLAG_FAIL);
+				idList.add(sysIntParamDO.getOid());
+			}
+			if(idList.size()!=0){
+				boolean res= dockingSysIntParamService.removeBatchByIds(idList);
+			}
+			//鍐嶆柊澧瀙arams
+			for(DockingSysIntParam sysIntParamDOi:dockingSysIntParamList){
+				sysIntParamDOi.setUsedFlag(FLAG_TRUE);
+				sysIntParamDOi.setInfoOid(dockingSystemConfig.getOid());
+			}
+			dockingSysIntParamService.saveBatch(dockingSysIntParamList);
+		}
+		this.dockingSystemConfigMapper.updateById(dockingSystemConfig);
+		//return changeoDckingSystemEntityVOs(dockingSystemConfig,dockingSysIntHeaderList,dockingSysIntParamList);
+		return true;
+	}
+	/***
+	 * 鏇存柊鎺ュ彛閰嶇疆淇℃伅鐘舵��
+	 * @param sysInfoStatusDTO
+	 * @return
+	 */
+	@Override
+	public R updateStatus(UpdateSysInfoStatusDTO sysInfoStatusDTO) {
+		VciBaseUtil.alertNotNull(sysInfoStatusDTO.getOid(),"鏁版嵁瀵硅薄",sysInfoStatusDTO.getOid(),"绯荤粺闆嗘垚鍩虹淇℃伅涓婚敭");
+		DockingSystemConfig dockingSystemConfig = this.dockingSystemConfigMapper.selectById(sysInfoStatusDTO.getOid());
+		try {
+			dockingSystemConfig.setTs(VciDateUtil.str2Date(sysInfoStatusDTO.getTs(), VciDateUtil.DateTimeFormat));
+		} catch (Exception e) {
+			e.printStackTrace();
+		}
+		if(sysInfoStatusDTO.getUpdate().equals("disable")) {
+			dockingSystemConfig.setUsedFlag("false");
+		}else{
+			dockingSystemConfig.setUsedFlag("true");
+		}
+		dockingSystemConfigMapper.updateById(dockingSystemConfig);
+		return R.status(true);
+	}
+
+	/***
+	 * 鎵嬪姩鍚屾鎺ュ彛锛屽彧鏈夋帹閫佺殑鎵嶄細
+	 * @param dockingSystemConfigDTO
+	 * @return
+	 * @throws VciBaseException
+	 */
+	@Transactional(rollbackFor = Exception.class)
+	@Override
+	public R pushData(DockingSystemConfigDTO dockingSystemConfigDTO) throws VciBaseException {
+		VciBaseUtil.alertNotNull(dockingSystemConfigDTO.getOid(),"鏁版嵁瀵硅薄",dockingSystemConfigDTO.getOid(),"绯荤粺闆嗘垚閰嶇疆淇℃伅涓婚敭");
+		if(dockingSystemConfigDTO.getDataFlowType().equals(SysIntegrationDataFlowTypeEnum.ACCEPT.getValue())){
+			throw new VciBaseException("浣犳墍閫夋嫨闆嗘垚閰嶇疆淇℃伅涓嶅睘浜庢帹閫佺被鍨嬬殑鎺ュ彛閰嶇疆锛�");
+		}
+		boolean issuccess=false;
+		String type="鏁版嵁鎺ㄩ��";
+		if(dockingSystemConfigDTO.getPushType().equalsIgnoreCase("1")){//鎺ㄩ�佹暟鎹�
+			pushDockingTasks(dockingSystemConfigDTO);
+		}else if(dockingSystemConfigDTO.getPushType().equalsIgnoreCase("2")){//鎺ㄩ�佸垎绫�
+			issuccess= pushClsfDatas(dockingSystemConfigDTO);
+			type="鍒嗙被鎺ㄩ��";
+		}
+		return issuccess?R.success(type+"鎴愬姛锛�"):R.fail(type+"澶辫触锛�");
+	}
+
+	/**
+	 *
+	 * @param dockingSystemConfig
+	 * @param dockingSysIntHeaderList
+	 * @param dockingSysIntParamList
+	 * @return
+	 */
+	private DockingSystemConfigVO changeoDckingSystemEntityVOs(DockingSystemConfig dockingSystemConfig , List<DockingSysIntHeader> dockingSysIntHeaderList , List<DockingSysIntParam> dockingSysIntParamList) {
+		DockingSystemConfigVO vo = new DockingSystemConfigVO();
+		if(dockingSystemConfig != null){
+			BeanUtilForVCI.copyPropertiesIgnoreCase(dockingSystemConfig,vo);
+			//濡傛灉鏈塴cstatus鐨勭被鐨勮瘽
+			if(!CollectionUtils.isEmpty(dockingSysIntParamList)) {
+				List<DockingSysIntParamVO> dockingSysIntParamVOList = DockingSysIntParamWrapper.build().entityVOs(dockingSysIntParamList);
+				vo.setSysIntParamVOs(dockingSysIntParamVOList);
+			}
+			if(!CollectionUtils.isEmpty(dockingSysIntHeaderList)){
+				List<DockingSysIntHeaderVO> dockingSysIntHeaderVOList=	DockingSysIntHeaderWrapper.build().entityVOs(dockingSysIntHeaderList);
+				vo.setSysIntHeaderVOs(dockingSysIntHeaderVOList);
+			}
+		}
+		return vo;
 	}
 
 	@Override
@@ -153,4 +378,304 @@
 			VciBaseUtil.alertNotNull(dockingSystemConfigDTO.getClassPath(),"绫昏矾寰�");
 		}
 	}
+
+	private  R pushDockingTasks(DockingSystemConfigDTO dockingSystemConfigDTO) {
+		String msg="鏁版嵁鎺ㄩ�佸埌瀹氭椂浠诲姟鎴愬姛锛�";
+		try {
+			DockingSystemConfig dockingSystemConfig =dockingSystemConfigMapper.selectById(dockingSystemConfigDTO.getOid());
+			String codeClassifyOid = dockingSystemConfig.getClassifyOid();
+			CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyOid);
+			CodeClassifyVO topClassifyVO = classifyService.getTopClassifyVO(codeClassifyOid);
+			String btmTypeId = topClassifyVO.getBtmtypeid();
+			if (StringUtils.isBlank(btmTypeId)) {
+				return R.fail("杩欎釜鍒嗙被鎵�灞為《灞傚垎绫绘病鏈夋坊鍔犱笟鍔$被鍨�");
+			}
+			List<CodeClassifyVO> codeClassifyIdPathVOS = classifyService.listChildrenClassify(topClassifyVO.getOid(), true, "id", false);
+			List<CodeClassifyVO> codeClassifynamePathVOS = classifyService.listChildrenClassify(topClassifyVO.getOid(), true, "name", false);
+			Map<String/**鍒嗙被oid**/, String/**鍒嗙被浠e彿閾炬帴绗�**/> clsfOidIdMap = codeClassifyIdPathVOS.stream().collect(Collectors.toMap(s -> s.getOid(), t -> reverseOrderByList(t.getPath(), topClassifyVO, 1).toLowerCase(Locale.ROOT), (o1, o2) -> o2));
+			Map<String/**鍒嗙被oid**/, String/**鍒嗙被鍚嶇О閾炬帴绗�**/> clsfOidNameMap = codeClassifynamePathVOS.stream().collect(Collectors.toMap(s -> s.getOid(), t -> reverseOrderByList(t.getPath(), topClassifyVO, 2).toLowerCase(Locale.ROOT), (o1, o2) -> o2));
+			PageHelper pageHelper = new PageHelper();
+			pageHelper.setPage(1);
+			pageHelper.setLimit(1000000);
+			pageHelper.setStart(0);
+
+			HashMap<String, String> conditionMap = new HashMap<>();
+			if (!classifyService.checkHasChild(codeClassifyOid)) {
+				conditionMap.put(CODE_CLASSIFY_OID_FIELD, codeClassifyOid);
+			} else {
+				conditionMap.put(CODE_CLASSIFY_OID_FIELD, QueryOptionConstant.IN + "(select oid from " + VciBaseUtil.getTableName(MdmBtmTypeConstant.CODE_CLASSIFY)
+					+ " where lcstatus='" + FrameWorkDefaultValueConstant.FRAMEWORK_DATA_ENABLED +
+					"' start with parentCodeClassifyOid = '" + codeClassifyOid + "' CONNECT BY PRIOR OID = parentCodeClassifyOid )");
+			}
+			conditionMap.put("islastr", "1");
+			conditionMap.put("islastv", "1");
+			List<String> lcstatusList = new ArrayList<>(Arrays.asList(new String[]{"TakeBack", "Released", "Disabled"}));
+			conditionMap.put("lcstatus", QueryOptionConstant.IN + VciBaseUtil.toInSql(lcstatusList.toArray(new String[0])));
+
+			CodeTemplateAttrSqlBO sqlBO = engineService.getSqlByTemplateVO(btmTypeId, templateVO, conditionMap, pageHelper);
+			List<Map<String,String>> maps = commonsMapper.queryByOnlySqlForMap(sqlBO.getSqlHasPage());
+			List<DockingTask> dockingTaskDO_insert = new ArrayList<>();
+			if (!CollectionUtils.isEmpty(maps)) {
+				maps.stream().forEach(map -> {
+					String btmoid = map.get("oid".toUpperCase(Locale.ROOT)) == null ? "" : map.get("oid".toUpperCase(Locale.ROOT)).toString();//鏁版嵁oid
+					String sendtype = map.get("lcstatus".toUpperCase(Locale.ROOT)) == null ? "" : map.get("lcstatus".toUpperCase(Locale.ROOT)).toString();//鏁版嵁鎺ㄩ�佺被鍨�
+					String id = map.get("id".toUpperCase(Locale.ROOT)) == null ? "" : map.get("id".toUpperCase(Locale.ROOT)).toString();//缂栫爜
+					String btmid = topClassifyVO.getBtmtypeid();//鏁版嵁涓氬姟绫诲瀷
+					String classifyoid = map.get("codeclsfid".toUpperCase(Locale.ROOT)) == null ? "" : map.get("codeclsfid".toUpperCase(Locale.ROOT)).toString();//鏁版嵁鎵�鍦ㄧ殑鍒嗙被id
+					String date2Str = VciDateUtil.date2Str(new Date(), VciDateUtil.DateTimeFormatStr);
+					DockingTask dockingTaskDO = new DockingTask();
+					dockingTaskDO.setOid(date2Str +"_"+id);
+					dockingTaskDO.setSendFlag(SEND_FLAG_FALSE);
+					dockingTaskDO.setId(id);//缂栫爜
+					dockingTaskDO.setUniqueCode("");
+					dockingTaskDO.setBtmOid(btmoid);//鏁版嵁oid
+					dockingTaskDO.setBtmId(btmid);//鏁版嵁涓氬姟绫诲瀷id
+					if (clsfOidIdMap.containsKey(classifyoid)) {
+						String classifyid = clsfOidIdMap.get(classifyoid);
+						dockingTaskDO.setClassifyId(classifyid);//鏁版嵁鍦ㄥ垎绫籭d
+					}
+					dockingTaskDO.setClassifyOid(classifyoid);//鏁版嵁鎵�鍦ㄥ垎绫籵id
+					if (clsfOidNameMap.containsKey(classifyoid)) {
+						String classifyname = clsfOidNameMap.get(classifyoid);
+						dockingTaskDO.setClassifyName(classifyname);//鏁版嵁鎵�鍦ㄥ垎绫诲悕绉�
+					}
+					dockingTaskDO.setSendType(sendtype);//鏁版嵁鎺ㄩ�佺被鍨�
+					//String dataoid=redisService.getUUIDEveryDay();
+					dockingTaskDO.setDataOid(date2Str +"_"+ btmoid);
+					//intinfo
+					dockingTaskDO.setSysInfoOid(dockingSystemConfigDTO.getOid());//intinfo鐨刼id
+					dockingTaskDO.setSystemOid(dockingSystemConfigDTO.getSysBaseOid());//绯荤粺oid
+					dockingTaskDO.setSystemCode(dockingSystemConfigDTO.getSysBaseId());//绯荤粺缂栫爜
+					dockingTaskDO.setSystemName(dockingSystemConfigDTO.getSysBaseName());//绯荤粺name
+					dockingTaskDO_insert.add(dockingTaskDO);
+				});
+			}
+			dockingTaskService.saveBatch(dockingTaskDO_insert);
+		}catch (Throwable e){
+			msg="鏁版嵁鎺ㄩ�佸埌瀹氭椂浠诲姟澶辫触!";
+			log.error("鏁版嵁鎺ㄩ�佸埌瀹氭椂浠诲姟澶辫触!"+e);
+			e.printStackTrace();
+		}finally {
+			log.info(msg);
+			return R.success("鏁版嵁鎺ㄩ�佸埌瀹氭椂浠诲姟鎴愬姛锛�");
+		}
+	}
+
+	/***
+	 * 鍒嗙被鎺ㄩ�侀泦鎴�
+	 * @param dockingSystemConfigDTO
+	 * @return
+	 */
+	private  boolean pushClsfDatas(DockingSystemConfigDTO dockingSystemConfigDTO){
+		DockingSystemConfig dockingSystemConfig= dockingSystemConfigMapper.selectById(dockingSystemConfigDTO.getOid());
+		String classOid= dockingSystemConfig.getClassifyOid();
+		List<CodeClassifyVO> listChildrenClassify=  classifyService.listChildrenClassify(classOid,true,"id",false);
+		List<NodeClassifyDTO>nodeClassifyDTOList=new ArrayList<>();
+		JsonRootDataDTO jsonRootDataDTO=new JsonRootDataDTO();
+		NodeDataDTO nodeDataDTO=new NodeDataDTO();
+		//姣忎釜task涓�涓簨鍔★紝寮�鍚�
+		boolean isSuccess=false;
+		try {
+			String sendString = "";
+			if (!CollectionUtils.isEmpty(listChildrenClassify)) {
+				listChildrenClassify.stream().forEach(codeClassifyVO -> {
+					NodeClassifyDTO nodeClassifyDTO = new NodeClassifyDTO();
+					nodeClassifyDTO.setClassCode(codeClassifyVO.getId());//鍒嗙被浠e彿
+					nodeClassifyDTO.setDescription(codeClassifyVO.getDescription());//鍒嗙被鎻忚堪
+					nodeClassifyDTO.setFullPathName(codeClassifyVO.getPath());//鍏ㄨ矾寰�
+					nodeClassifyDTO.setLcStatus(codeClassifyVO.getLcStatus());//鐘舵��
+					nodeClassifyDTO.setPid(codeClassifyVO.getId());//鐖秈d鑺傜偣
+					nodeClassifyDTO.setId(codeClassifyVO.getOid());//鍒嗙被oid
+					nodeClassifyDTO.setName(codeClassifyVO.getName());//鍒嗙被鍚嶇О
+					nodeClassifyDTOList.add(nodeClassifyDTO);
+				});
+				NodeLibraryDTO nodeLibraryDTO = new NodeLibraryDTO();
+				nodeLibraryDTO.setClassify(nodeClassifyDTOList);
+				CodeClassifyVO rootClassify = classifyService.getTopClassifyVO(classOid);
+				nodeLibraryDTO.setId(rootClassify.getOid());
+				nodeLibraryDTO.setName(rootClassify.getName());
+				nodeDataDTO.setLibrary(nodeLibraryDTO);
+				jsonRootDataDTO.setData(nodeDataDTO);
+				String paramType = dockingSystemConfigDTO.getParamType();//xml/json
+				if (paramType.equals(DATATYPE_JSON)) {
+					Object object = JSONObject.toJSON(jsonRootDataDTO);
+					sendString = object.toString();
+				} else {
+					//缁勭粐杩斿洖鎺ュ彛淇℃伅
+					XStream xStream = new XStream(new DomDriver());
+					xStream.processAnnotations(NodeDataDTO.class);
+					xStream.autodetectAnnotations(true);
+					sendString = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n" + xStream.toXML(nodeDataDTO);
+				}
+				//璋冪敤鎺ュ彛
+				callInterface(sendString, dockingSystemConfigDTO);
+				isSuccess=true;
+			}
+		}catch (Throwable e){
+			e.printStackTrace();
+			isSuccess=false;
+		}finally {
+			return true;
+		}
+	}
+
+	/***
+	 * 璋冪敤鎺ュ彛
+	 * @param dockingSystemConfigDTO
+	 * @throws Throwable
+	 */
+	private void callInterface(String  sendString , DockingSystemConfigDTO dockingSystemConfigDTO) throws  Throwable{
+		String paramString = "";
+
+		String backString = "";
+		String msg="";
+		String url = dockingSystemConfigDTO.getRequestUrl();//url
+		List<ResultNodeObjectDTO> resultNodeObjectDTOS =new ArrayList<>();
+		try {
+			String type = dockingSystemConfigDTO.getInterfaceType().toLowerCase(Locale.ROOT);//get/post/webserver/corba
+			String paramType = dockingSystemConfigDTO.getParamType();//xml/json
+			String returnType = dockingSystemConfigDTO.getReturnType();//xml/json
+			String requestmethod= dockingSystemConfigDTO.getRequestMethod();
+			String interfaceFunction = dockingSystemConfigDTO.getInterfaceFunction();//涓昏鏄痺ebservice鐨勬柟娉曞悕
+			String namespace = dockingSystemConfigDTO.getNamespace();//namespace
+			String soapaction = dockingSystemConfigDTO.getSoapAction();//soapaction
+			String targName = dockingSystemConfigDTO.getTargetName();//targName
+			String cxfaxis = dockingSystemConfigDTO.getCxfAxis();//webservice鏄痗xf/axis
+			//鏌ヨparam
+			List<DockingSysIntParamDTO> sysIntParamVOList = dockingSystemConfigDTO.getSysIntParamDTOS();
+			//鏌ヨheader
+			List<DockingSysIntHeaderDTO> sysIntHeaderVOList =dockingSystemConfigDTO.getSysIntHeaderDTOS();
+			if(type.equals(URLTYPE_HTTP)) {
+				if (requestmethod.equals(URLTYPE_GET)) {//GET璇锋眰
+					String sendurl = url + "?" + DATA_PARAM_NAME + "=" + sendString;
+					//鎷兼帴param
+					for (DockingSysIntParamDTO sysIntParamVO : sysIntParamVOList) {
+						sendurl = sendurl + "&" + sysIntParamVO.getParamkey() + "=" + sysIntParamVO.getParamvalue();
+					}
+					paramString = sendurl;
+					backString = HttpUtils.get(sendurl);
+				} else if (requestmethod.equals(URLTYPE_POST)) {//POST璇锋眰
+					MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
+					if(!CollectionUtils.isEmpty(sysIntParamVOList)) {
+						for (DockingSysIntParamDTO sysIntParamVO : sysIntParamVOList) {
+							params.add(sysIntParamVO.getParamkey(), sysIntParamVO.getParamvalue());
+						}
+					}
+					params.add(DATA_PARAM_NAME,sendString);
+					paramString = params.toString();
+					MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
+					if(!CollectionUtils.isEmpty(sysIntHeaderVOList)) {
+						for (DockingSysIntHeaderDTO sysIntHeaderVO : sysIntHeaderVOList) {
+							headers.add(sysIntHeaderVO.getHeaderKey(), sysIntHeaderVO.getHeaderValue());
+						}
+					}
+					backString = HttpUtils.post(url, params, headers);
+				}
+				if(backString.startsWith("\"")){
+					backString=backString.substring(backString.indexOf("\"")+1);
+				}
+				if(backString.endsWith("\"")){
+					backString=backString.substring(0,backString.lastIndexOf("\""));
+				}
+				if(backString.contains("\n")){
+					String res="\n";
+					backString=  backString.replaceAll(res,"");
+				}
+				if(backString.contains("\\")){
+					String res="\\\\\"";
+					backString=  backString.replaceAll(res,"\"").trim();
+				}
+			}else if (type.equals(URLTYPE_WEBSERVICE)) {//webserver璇锋眰
+				MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
+				for (DockingSysIntParamDTO sysIntParamVO : sysIntParamVOList) {
+					params.add(sysIntParamVO.getParamkey(), sysIntParamVO.getParamvalue());
+				}
+				paramString = sendString;
+				MultiValueMap<String, String> headers = new LinkedMultiValueMap<>();
+				for (DockingSysIntHeaderDTO sysIntHeaderVO : sysIntHeaderVOList) {
+					headers.add(sysIntHeaderVO.getHeaderKey(), sysIntHeaderVO.getHeaderValue());
+				}
+				backString = WsErpClientUtil.sendMsg(url, namespace, soapaction, interfaceFunction, targName, sendString, 10000);
+
+			} else {//corba鎺ュ彛
+				//paramString=sendString;
+				//  backString = jacorbClient.getBOFactoryService().sendCode(sendString);
+			}
+
+			ResultJsonDTO resultJsonDTO = new ResultJsonDTO();
+			if(returnType.equals(DATATYPE_JSON)){
+				resultJsonDTO =JSONObject.toJavaObject(JSONObject.parseObject(backString), ResultJsonDTO.class);
+			}else {
+				//缁勭粐杩斿洖鎺ュ彛淇℃伅
+				XStream xStream = new XStream(new DomDriver());
+				xStream.processAnnotations(ResultNodeDataDTO.class);
+				xStream.autodetectAnnotations(true);
+				ResultNodeDataDTO resultNodeDataDTO = (ResultNodeDataDTO) xStream.fromXML(backString);
+				resultJsonDTO.setData(resultNodeDataDTO);
+			}
+			ResultNodeDataDTO resultNodeDataDTO=resultJsonDTO.getData();
+			resultNodeObjectDTOS=resultNodeDataDTO.getObject();
+
+		}catch (Throwable e){
+			msg="璋冪敤鎺ュ彛澶辫触:"+e;
+			e.printStackTrace();
+			//   throw  new Throwable("璋冪敤鎺ュ彛澶辫触:"+e);
+			ResultNodeObjectDTO   resultNodeObjectDTO=new ResultNodeObjectDTO();
+			resultNodeObjectDTO.setErroid("1");
+			resultNodeObjectDTO.setMsg(msg);
+			resultNodeObjectDTO.setCode(dockingSystemConfigDTO.getClassifyId());
+			resultNodeObjectDTO.setOid(dockingSystemConfigDTO.getClassifyOid());
+			resultNodeObjectDTOS.add(resultNodeObjectDTO);
+		}finally {
+			boolean isSend = false;
+			List<DockingLog> dockingLogList=new ArrayList<>();
+			for (ResultNodeObjectDTO resultNodeObjectDTO:resultNodeObjectDTOS){
+				String erroid = resultNodeObjectDTO.getErroid();
+				msg = resultNodeObjectDTO.getMsg();
+				if("0".equals(erroid)){
+					isSend = true;
+				}else if("1".equals(erroid)){
+					isSend=false;
+				}else{
+					isSend=false;
+				}
+				DockingLog dockingLog = new DockingLog();
+				String oid=VciBaseUtil.getPk();
+				dockingLog.setOid(oid);
+				dockingLog.setSystemCode(dockingSystemConfigDTO.getSysBaseId());
+				dockingLog.setSystemName(dockingSystemConfigDTO.getSysBaseName());
+				dockingLog.setSystemOid(dockingSystemConfigDTO.getSysBaseOid());
+				dockingLog.setClassifyOid(dockingSystemConfigDTO.getClassifyOid());
+				dockingLog.setClassifyId(dockingSystemConfigDTO.getClassifyId());
+				dockingLog.setClassifyName(dockingSystemConfigDTO.getClassifyName());
+				dockingLog.setId(dockingSystemConfigDTO.getId());
+				dockingLog.setUniqueCode("");
+				dockingLog.setInterfaceStatus(isSend?"true":"false");
+				dockingLog.setParamString(paramString);
+				dockingLog.setType(DATA_LOGE_OUT);
+				dockingLog.setReturnString(backString);
+				dockingLog.setMsg(msg);
+				dockingLogList.add(dockingLog);
+				log.info("闆嗘垚鎺ㄩ�佹暟鎹�,systemcode:"+dockingSystemConfigDTO.getSysBaseId()+",systemname:"+dockingSystemConfigDTO.getSysBaseName()+",url:"+url+",param:"+paramString+",e:"+msg);
+			}
+			dockingLogeService.saveBatch(dockingLogList);
+		}
+	}
+
+	private String reverseOrderByList(String StringValue, CodeClassifyVO topClassifyVO,int type){
+		String[] s=StringValue.split("#");
+		StringBuffer sb=new StringBuffer();
+		List<String> list=new ArrayList<>(Arrays.asList(s));
+		Collections.reverse(list);
+		System.out.println(list.toString());
+		for (String o:list){
+			if(StringUtils.isNotBlank(o)){
+				sb.append(o).append(",");
+			}
+		}
+		sb.append(type==1?topClassifyVO.getId():topClassifyVO.getName());
+		System.out.println(sb.toString());
+
+		return sb.toString();
+	}
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/HttpUtils.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/HttpUtils.java
new file mode 100644
index 0000000..89d8c9e
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/HttpUtils.java
@@ -0,0 +1,194 @@
+package com.vci.ubcs.code.util;
+
+import org.springframework.http.*;
+import org.springframework.util.LinkedMultiValueMap;
+import org.springframework.util.MultiValueMap;
+import org.springframework.web.client.RestTemplate;
+
+import javax.servlet.http.HttpServletRequest;
+
+/**
+ * http璇锋眰宸ュ叿绫�
+ *
+ * @since 2020-03-25
+ */
+public class HttpUtils {
+
+    //Content-Type鐨刱ey
+    public static String CONTENT_TYPE = "Content-Type";
+    //json鏁版嵁
+    public static String CONTENT_TYPE_JSON = MediaType.APPLICATION_JSON_VALUE;
+    public static String CONTENT_TYPE_JSON_UTF8 = MediaType.APPLICATION_JSON_UTF8_VALUE;
+
+    //琛ㄥ崟鏍煎紡,榛樿
+    public static String CONTENT_TYPE_TEXT = MediaType.APPLICATION_FORM_URLENCODED_VALUE;
+
+    /**
+     * get璇锋眰
+     *
+     * @param url
+     * @return
+     */
+    public static String get(String url) {
+        return get(url, null);
+    }
+
+    /**
+     * get璇锋眰
+     *
+     * @param url
+     * @param headers 璇锋眰澶�
+     * @return
+     */
+    public static String get(String url, MultiValueMap<String, String> headers) {
+        return request(url, null, headers, HttpMethod.GET);
+    }
+
+    /**
+     * post璇锋眰
+     *
+     * @param url
+     * @param params 璇锋眰鍙傛暟
+     * @return
+     */
+    public static String post(String url, MultiValueMap<String, String> params) {
+        return post(url, params, null);
+    }
+
+    /**
+     * post璇锋眰
+     *
+     * @param url
+     * @param params  璇锋眰鍙傛暟
+     * @param headers 璇锋眰澶�
+     * @return
+     */
+    public static String post(String url, MultiValueMap<String, String> params, MultiValueMap<String, String> headers) {
+        return request(url, params, headers, HttpMethod.POST);
+    }
+
+    /**
+     * put璇锋眰
+     *
+     * @param url
+     * @param params 璇锋眰鍙傛暟
+     * @return
+     */
+    public static String put(String url, MultiValueMap<String, String> params) {
+        return put(url, params, null);
+    }
+
+    /**
+     * put璇锋眰
+     *
+     * @param url
+     * @param params  璇锋眰鍙傛暟
+     * @param headers 璇锋眰澶�
+     * @return
+     */
+    public static String put(String url, MultiValueMap<String, String> params, MultiValueMap<String, String> headers) {
+        return request(url, params, headers, HttpMethod.PUT);
+    }
+
+    /**
+     * delete璇锋眰
+     *
+     * @param url
+     * @param params 璇锋眰鍙傛暟
+     * @return
+     */
+    public static String delete(String url, MultiValueMap<String, String> params) {
+        return delete(url, params, null);
+    }
+
+    /**
+     * delete璇锋眰
+     *
+     * @param url
+     * @param params  璇锋眰鍙傛暟
+     * @param headers 璇锋眰澶�
+     * @return
+     */
+    public static String delete(String url, MultiValueMap<String, String> params, MultiValueMap<String, String> headers) {
+        return request(url, params, headers, HttpMethod.DELETE);
+    }
+
+    /**
+     * 琛ㄥ崟璇锋眰
+     *
+     * @param url
+     * @param params  璇锋眰鍙傛暟
+     * @param headers 璇锋眰澶�
+     * @param method  璇锋眰鏂瑰紡
+     * @return
+     */
+    public static String request(String url, MultiValueMap<String, String> params, MultiValueMap<String, String> headers, HttpMethod method) {
+        if (params == null) {
+            params = new LinkedMultiValueMap<>();
+        }
+        return request(url, params, headers, method, MediaType.APPLICATION_FORM_URLENCODED);
+    }
+
+    /**
+     * http璇锋眰
+     *
+     * @param url
+     * @param params    璇锋眰鍙傛暟
+     * @param headers   璇锋眰澶�
+     * @param method    璇锋眰鏂瑰紡
+     * @param mediaType 鍙傛暟绫诲瀷
+     * @return
+     */
+    public static String request(String url, Object params, MultiValueMap<String, String> headers, HttpMethod method, MediaType mediaType) {
+        if (url == null || url.trim().isEmpty()) {
+            return null;
+        }
+        RestTemplate client = new RestTemplate();
+        // header
+        HttpHeaders httpHeaders = new HttpHeaders();
+        if (headers != null) {
+            httpHeaders.addAll(headers);
+        }
+        // 鎻愪氦鏂瑰紡锛氳〃鍗曘�乯son
+        httpHeaders.setContentType(mediaType);
+        HttpEntity<Object> httpEntity = new HttpEntity(params, httpHeaders);
+        ResponseEntity<String> response = client.exchange(url, method, httpEntity, String.class);
+        return response.getBody();
+    }
+
+    public static MultiValueMap<String, String> set_params_headers(String key,String value,MultiValueMap<String, String> map){
+        if(map==null){
+            map = new LinkedMultiValueMap<>();
+        }
+        map.add(key,value);
+        return map;
+    }
+    /**
+     * 鑾峰彇ip
+     * @param request
+     * @return
+     */
+    public static String getIpAddressFromRequest(HttpServletRequest request){
+        String ip = request.getHeader("X-Forwarded-For");
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getHeader("Proxy-Client-IP");
+        }
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getHeader("WL-Proxy-Client-IP");
+        }
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getHeader("HTTP_CLIENT_IP");
+        }
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getHeader("HTTP_X_FORWARDED_FOR");
+        }
+        if (ip == null || ip.length() == 0 || "unknown".equalsIgnoreCase(ip)) {
+            ip = request.getRemoteAddr();
+        }
+        if (ip == null || ip.length() == 0 || ip.indexOf("0:0:0:0:0:0:0:1") >-1) {
+            //0:0:0:0:0:0:0:1鏄湰鏈哄湪璁块棶
+            ip = "127.0.0.1";
+        }
+        return ip;
+    }
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/WsErpClientUtil.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/WsErpClientUtil.java
new file mode 100644
index 0000000..6659503
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/util/WsErpClientUtil.java
@@ -0,0 +1,60 @@
+package com.vci.ubcs.code.util;
+
+import com.alibaba.cloud.commons.lang.StringUtils;
+import org.apache.axiom.om.OMAbstractFactory;
+import org.apache.axiom.om.OMElement;
+import org.apache.axiom.om.OMFactory;
+import org.apache.axiom.om.OMNamespace;
+import org.apache.axiom.soap.SOAP11Constants;
+import org.apache.axis2.Constants;
+import org.apache.axis2.addressing.EndpointReference;
+import org.apache.axis2.client.Options;
+import org.apache.axis2.client.ServiceClient;
+
+public class WsErpClientUtil {
+
+    /**
+     * axis2璋冪敤瀹㈡埛绔�
+     *
+     * @param url                   璇锋眰鏈嶅姟鍦板潃
+     * @param nameSpace             鍛藉悕绌洪棿
+     * @param method                鏂规硶鍚�
+     * @param tarName                鍙傛暟鍚嶇О
+     * @param xmlData                璇锋眰鎶ユ枃
+     * @param timeOutInMilliSeconds 瓒呮椂鏃堕棿
+     * @return String 绫诲瀷鐨勫搷搴旀姤鎭�
+     */
+    public static String sendMsg(String url, String nameSpace,String soapAction, String method, String tarName, String xmlData, long timeOutInMilliSeconds) throws Exception {
+        ServiceClient serviceClient = new ServiceClient();
+        Options option = new Options();
+        option.setSoapVersionURI(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI);
+        option.setTransportInProtocol(Constants.TRANSPORT_HTTP);
+
+        // 鍊间负targetNamespace+methodName
+        if(StringUtils.isEmpty(soapAction)){
+            soapAction = nameSpace+method;
+        }
+        option.setAction(soapAction);
+
+        EndpointReference epfs = new EndpointReference(url);
+        option.setTo(epfs);
+        serviceClient.setOptions(option);
+
+        OMFactory fac = OMAbstractFactory.getOMFactory();
+        OMNamespace namespaceOM = fac.createOMNamespace(nameSpace, "");
+        OMElement element = fac.createOMElement(method, namespaceOM);
+        OMElement theCityCode = fac.createOMElement(tarName, namespaceOM);
+        theCityCode.setText(xmlData);
+        element.addChild(theCityCode);
+//        OMElement theUserID = fac.createOMElement("theUserID ", namespace);
+//        theUserID.setText("");
+//        element.addChild(theUserID);
+
+        OMElement resultOM = serviceClient.sendReceive(element);
+
+        String result = resultOM.getFirstElement().getText();
+        System.out.println(result);
+
+        return result;
+    }
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingDataWrapper.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingDataWrapper.java
new file mode 100644
index 0000000..d2c834f
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/wrapper/DockingDataWrapper.java
@@ -0,0 +1,67 @@
+package com.vci.ubcs.code.wrapper;
+
+import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.vci.ubcs.code.entity.DockingData;
+import com.vci.ubcs.code.vo.pagemodel.DockingDataVO;
+import org.springblade.core.mp.support.BaseEntityWrapper;
+import org.springblade.core.tool.utils.BeanUtil;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Objects;
+
+public class DockingDataWrapper extends BaseEntityWrapper<DockingData, DockingDataVO> {
+	public static DockingDataWrapper build() {
+		return new DockingDataWrapper();
+	}
+
+	@Override
+	public DockingDataVO entityVO(DockingData entity) {
+		DockingDataVO vo = Objects.requireNonNull(BeanUtil.copy(entity, DockingDataVO.class));
+		return vo;
+	}
+
+
+	/***
+	 * 鏁扮粍瀵硅薄杞崲
+	 * @param entitys
+	 * @return
+	 */
+	public List<DockingDataVO> entityVOs(Collection<DockingData> entitys) {
+		if(CollectionUtils.isEmpty(entitys)) {return new ArrayList<>();}
+		List<DockingDataVO> vos=new ArrayList<>();
+		if(!CollectionUtils.isEmpty(entitys)) {
+			entitys.stream().forEach(vo -> {
+				vos.add(entityVO(vo));
+			});
+		}
+		return vos;
+	}
+
+	/***
+	 * 鏁扮粍瀵硅薄杞崲
+	 * @param vos
+	 * @return
+	 */
+	public List<DockingData> voentitys(Collection<DockingDataVO> vos) {
+		if(CollectionUtils.isEmpty(vos)) {return new ArrayList<>();}
+		List<DockingData>entitys =new ArrayList<>();
+		if(!CollectionUtils.isEmpty(vos)) {
+			vos.stream().forEach(entity -> {
+				entitys.add(voentity(entity));
+			});
+		}
+		return entitys;
+	}
+
+	/***
+	 * 鏁扮粍瀵硅薄杞崲
+	 * @param vo
+	 * @return
+	 */
+	public DockingData voentity( DockingDataVO vo) {
+		DockingData entity = Objects.requireNonNull(BeanUtil.copy(vo, DockingData.class));
+		return entity;
+	}
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingDataMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingDataMapper.xml
new file mode 100644
index 0000000..ff0ef90
--- /dev/null
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/DockingDataMapper.xml
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.vci.ubcs.code.mapper.DockingDataMapper">
+    <!-- 閫氱敤鏌ヨ鏄犲皠缁撴灉 -->
+    <resultMap id="plDockingDataResultMap" type="com.vci.ubcs.code.entity.DockingData">
+        <result column="OID" property="oid"/>
+        <result column="REVISIONOID" property="revisionOid"/>
+        <result column="NAMEOID" property="nameOid"/>
+        <result column="BTMNAME" property="btmName"/>
+        <result column="LASTR" property="lastR"/>
+        <result column="FIRSTR" property="firstR"/>
+        <result column="LASTV" property="lastV"/>
+        <result column="FIRSTV" property="firstV"/>
+        <result column="CREATOR" property="creator"/>
+        <result column="CREATETIME" property="createTime"/>
+        <result column="LASTMODIFIER" property="lastModifier"/>
+        <result column="LASTMODIFYTIME" property="lastModifyTime"/>
+        <result column="REVISIONRULE" property="revisionRule"/>
+        <result column="VERSIONRULE" property="versionRule"/>
+        <result column="REVISIONSEQ" property="revisionSeg"/>
+        <result column="REVISIONVALUE" property="revisionValue"/>
+        <result column="VERSIONSEQ" property="versionSeq"/>
+        <result column="VERSIONVALUE" property="versionValue"/>
+        <result column="LCTID" property="lctid"/>
+        <result column="LCSTATUS" property="lcStatus"/>
+        <result column="TS" property="ts"/>
+        <result column="ID" property="id"/>
+        <result column="NAME" property="name"/>
+        <result column="DESCRIPTION" property="description"/>
+        <result column="OWNER" property="owner"/>
+        <result column="COPYFROMVERSION" property="copyFromVersion"/>
+        <result column="UNIQUECODE" property="uniqueCode"/>
+        <result column="CLASSIFYOID" property="classifyOid"/>
+        <result column="BTMOID" property="btmOid"/>
+        <result column="BTMID" property="btmId"/>
+        <result column="SENDTYPE" property="sendType"/>
+        <result column="SENDFLAG" property="sendFlag"/>
+        <result column="CLASSIFYID" property="classifyId"/>
+        <result column="CLASSIFYNAME" property="classifyName"/>
+    </resultMap>
+</mapper>

--
Gitblit v1.9.3