From 529b40cc4cd049ae3e96d3aedae3142e0effea60 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期四, 30 十一月 2023 11:46:15 +0800
Subject: [PATCH] 标准申请集成接口添加

---
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZDataVO.java |   92 ++++++++--
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java                         |   14 +
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/标准..JSON           |   79 +++++++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java              |  173 +++++++++++++++------
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java           |    1 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/appcodeBZ.xml      |   22 ++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java                |    3 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/result.xml         |   13 +
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/标准结果.json          |   22 ++
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ClassfyBZVO.java   |   15 +
 10 files changed, 360 insertions(+), 74 deletions(-)

diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZDataVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZDataVO.java
index 56073cd..6766feb 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZDataVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ApplyBZDataVO.java
@@ -4,6 +4,7 @@
 import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
 import com.thoughtworks.xstream.annotations.XStreamImplicit;
 import com.vci.ubcs.code.vo.webserviceModel.apply.ProppertyVO;
+import org.springframework.beans.factory.annotation.Value;
 
 import java.util.List;
 
@@ -41,20 +42,42 @@
 	@XStreamImplicit
 	private List<ProppertyVO> prop;
 	/***
-	 * 鏄惁淇
+	 *  鎿嶄綔绫诲瀷
 	 */
-	private boolean amendmentFlag;
+	@XStreamAsAttribute
+	private String operationType;
 	/***
 	 *鏄惁鏄郴鍒楁爣鍑�
 	 */
-	private boolean seriesStandardFlag;
-	/**
-	 * 鏄惁缁х画缂栧彿
+	@XStreamAsAttribute
+	private boolean seriesFlag;
+	/***
+	 * 鍙戝竷鏃堕棿
 	 */
-	private boolean continueNumberFlag;
+	@XStreamAsAttribute
+	private String releaseTime;
+
+	/***
+	 * 婧愭爣鍑嗗彿
+	 */
+	@XStreamAsAttribute
+	private String oldCode;
+
+	/***
+	 * 绯诲垪娴佹按
+	 */
+	@XStreamAsAttribute
+	private String seriesFlow;
+
+	/***
+	 * 鏄惁鍙樻洿绯诲垪
+	 */
+	@XStreamAsAttribute
+	private boolean editSeriesFlag;
 	/***
 	 * 骞翠唬鍙�
 	 */
+	@XStreamAsAttribute
 	private String yearNumber;
 
 	public String getId() {
@@ -105,28 +128,52 @@
 		this.prop = prop;
 	}
 
-	public boolean isAmendmentFlag() {
-		return amendmentFlag;
+	public String getOperationType() {
+		return operationType;
 	}
 
-	public void setAmendmentFlag(boolean amendmentFlag) {
-		this.amendmentFlag = amendmentFlag;
+	public void setOperationType(String operationType) {
+		this.operationType = operationType;
 	}
 
-	public boolean isSeriesStandardFlag() {
-		return seriesStandardFlag;
+	public boolean isSeriesFlag() {
+		return seriesFlag;
 	}
 
-	public void setSeriesStandardFlag(boolean seriesStandardFlag) {
-		this.seriesStandardFlag = seriesStandardFlag;
+	public void setSeriesFlag(boolean seriesFlag) {
+		this.seriesFlag = seriesFlag;
 	}
 
-	public boolean isContinueNumberFlag() {
-		return continueNumberFlag;
+	public String getReleaseTime() {
+		return releaseTime;
 	}
 
-	public void setContinueNumberFlag(boolean continueNumberFlag) {
-		this.continueNumberFlag = continueNumberFlag;
+	public void setReleaseTime(String releaseTime) {
+		this.releaseTime = releaseTime;
+	}
+
+	public String getOldCode() {
+		return oldCode;
+	}
+
+	public void setOldCode(String oldCode) {
+		this.oldCode = oldCode;
+	}
+
+	public String getSeriesFlow() {
+		return seriesFlow;
+	}
+
+	public void setSeriesFlow(String seriesFlow) {
+		this.seriesFlow = seriesFlow;
+	}
+
+	public boolean isEditSeriesFlag() {
+		return editSeriesFlag;
+	}
+
+	public void setEditSeriesFlag(boolean editSeriesFlag) {
+		this.editSeriesFlag = editSeriesFlag;
 	}
 
 	public String getYearNumber() {
@@ -146,9 +193,12 @@
 			", creator='" + creator + '\'' +
 			", editor='" + editor + '\'' +
 			", prop=" + prop +
-			", amendmentFlag=" + amendmentFlag +
-			", seriesStandardFlag=" + seriesStandardFlag +
-			", continueNumberFlag=" + continueNumberFlag +
+			", operationType='" + operationType + '\'' +
+			", seriesFlag=" + seriesFlag +
+			", releaseTime='" + releaseTime + '\'' +
+			", oldCode='" + oldCode + '\'' +
+			", seriesFlow='" + seriesFlow + '\'' +
+			", editSeriesFlag='" + editSeriesFlag + '\'' +
 			", yearNumber='" + yearNumber + '\'' +
 			'}';
 	}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ClassfyBZVO.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ClassfyBZVO.java
index 88ae6d2..6110e1f 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ClassfyBZVO.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/applybz/ClassfyBZVO.java
@@ -3,6 +3,7 @@
 import com.thoughtworks.xstream.annotations.XStreamAlias;
 import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
 import com.vci.ubcs.code.vo.webserviceModel.apply.ApplyDatasVO;
+import com.vci.ubcs.code.vo.webserviceModel.apply.SectionsVO;
 
 /**
  * 鍒嗙被淇℃伅
@@ -24,6 +25,12 @@
 	 */
 	@XStreamAsAttribute
 	private  String fullclsfNamePath;
+
+	/**
+	 * 鐮佹淇℃伅
+	 */
+	private SectionsVO sections;
+
 	/**
 	 * 鏁版嵁闆嗗悎
 	 */
@@ -61,6 +68,14 @@
 		this.objects = objects;
 	}
 
+	public SectionsVO getSections() {
+		return sections;
+	}
+
+	public void setSections(SectionsVO sections) {
+		this.sections = sections;
+	}
+
 	@Override
 	public String toString() {
 		return "ClassfyBZVO{" +
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/appcodeBZ.xml b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/appcodeBZ.xml
new file mode 100644
index 0000000..c73deff
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/appcodeBZ.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<data systemId="ZZ">
+        <user userName="weidy" trueName="榄忓ぇ鍕�" ip="127.0.0.1"/>
+        <classify classCode="QYBZ" library="standard" fullclsfNamePath="鏍囧噯##VCI##浼佷笟鏍囧噯">
+            <sections>
+                <section name="鍥哄畾鐮佹" value="Q/3B"></section>
+                <section name="绯诲垪鍙�" value=""></section>
+                <section name="鍒嗗壊绗�" value="-"></section>
+                <section name="骞翠唬鍙�" value="2023"></section>
+            </sections>
+            <objects>
+                <object code=""  id="0023401" status="Released" operate="create" creator="weidy" operationType="1" seriesFlag="false" releaseTime="2023-11-14" oldCode="" seriesFlow="" editSeriesFlag="false" yearNumber="2023" >
+                    <prop key="name" text="鍚嶇О" value="娴嬭瘯鏍囧噯"/>
+                    <prop key="approveDate" text="鎵瑰噯鏃ユ湡" value="2023-11-14"/>
+                    <prop key="releaseDate" text="鍙戝竷鏃ユ湡" value="2023-11-14"/>
+                    <prop key="ImplementationDate" text="瀹炴柦鏃ユ湡" value="2023-11-14"/>
+                    <prop key="isSeries" text="鏄惁绯诲垪" value="false"/>
+                    <prop key="reviseSeries" text="淇涓虹郴鍒�" value="false"/>
+                </object>
+            </objects>
+        </classify>
+</data>
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/result.xml b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/result.xml
new file mode 100644
index 0000000..cbf6c9e
--- /dev/null
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/result.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<data errorid="0">
+    <msg>缂栫爜鐢宠鎴愬姛:缂栫爜涓猴細Q/3B9-2023</msg>
+    <classifys>
+        <classify classCode="QYBZ" library="standard" fullclsfNamePath="鏍囧噯##VCI##浼佷笟鏍囧噯">
+            <objects class="linked-list">
+                <object id="0023401" errorid="0" code="Q/3B9-2023">
+                    <msg>缂栫爜鐢宠鎴愬姛:缂栫爜涓猴細Q/3B9-2023</msg>
+                </object>
+            </objects>
+        </classify>
+    </classifys>
+</data>
diff --git "a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\346\240\207\345\207\206..JSON" "b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\346\240\207\345\207\206..JSON"
new file mode 100644
index 0000000..1e34e0c
--- /dev/null
+++ "b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\346\240\207\345\207\206..JSON"
@@ -0,0 +1,79 @@
+{
+    "data": {
+        "systemId": "ZZ",
+        "user": {
+            "ip": "127.0.0.1",
+            "trueName": "榄忓ぇ鍕�",
+            "userName": "weidy"
+        },
+        "classify": {
+            "fullclsfNamePath": "鏍囧噯##VCI##浼佷笟鏍囧噯",
+            "library": "standard",
+            "classCode": "QYBZ",
+            "sections": {
+                "section": [
+                    {
+                        "value": "Q/3B",
+                        "name": "鍥哄畾鐮佹"
+                    },
+                    { "name": "绯诲垪鍙�" },
+                    {
+                        "value": "-",
+                        "name": "鍒嗗壊绗�"
+                    },
+                    {
+                        "value": "2023",
+                        "name": "骞翠唬鍙�"
+                    }
+                ]
+            },
+            "objects": {
+                "object": {
+                    "yearNumber": "2023",
+                    "editSeriesFlag": "false",
+                    "releaseTime": "2023-11-14",
+                    "seriesFlag": "false",
+                    "oldCode": "",
+                    "seriesFlow": "",
+                    "operationType": "1",
+                    "creator": "weidy",
+                    "operate": "create",
+                    "status": "Released",
+                    "id": "0023401",
+                    "prop": [
+                        {
+                            "value": "娴嬭瘯鏍囧噯",
+                            "text": "鍚嶇О",
+                            "key": "name"
+                        },
+                        {
+                            "value": "2023-11-14",
+                            "text": "鎵瑰噯鏃ユ湡",
+                            "key": "approveDate"
+                        },
+                        {
+                            "value": "2023-11-14",
+                            "text": "鍙戝竷鏃ユ湡",
+                            "key": "releaseDate"
+                        },
+                        {
+                            "value": "2023-11-14",
+                            "text": "瀹炴柦鏃ユ湡",
+                            "key": "ImplementationDate"
+                        },
+                        {
+                            "value": "false",
+                            "text": "鏄惁绯诲垪",
+                            "key": "isSeries"
+                        },
+                        {
+                            "value": "false",
+                            "text": "淇涓虹郴鍒�",
+                            "key": "reviseSeries"
+                        }
+                    ]
+                }
+            }
+        }
+    }
+}
diff --git "a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\346\240\207\345\207\206\347\273\223\346\236\234.json" "b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\346\240\207\345\207\206\347\273\223\346\236\234.json"
new file mode 100644
index 0000000..5fcb11f
--- /dev/null
+++ "b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/attrmap/\346\240\207\345\207\206\347\273\223\346\236\234.json"
@@ -0,0 +1,22 @@
+{
+  "data": {
+    "errorid": "0",
+    "msg": "缂栫爜鐢宠鎴愬姛:缂栫爜涓猴細Q/3B9-2023",
+    "classifys": {
+      "classify": {
+        "fullclsfNamePath": "鏍囧噯##VCI##浼佷笟鏍囧噯",
+        "library": "standard",
+        "classCode": "QYBZ",
+        "objects": {
+          "class": "linked-list",
+          "object": {
+            "id": "0023401",
+            "code": "Q/3B9-2023",
+            "errorid": "0",
+            "msg": "缂栫爜鐢宠鎴愬姛:缂栫爜涓猴細Q/3B9-2023"
+          }
+        }
+      }
+    }
+  }
+}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java
index 0f2f922..639fee7 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/CodeSyncUniversalController.java
@@ -144,6 +144,7 @@
 	 * @return
 	 * @throws Throwable
 	 */
+	@PostMapping("/applyCodeForBZ")
 	public String applyCodeForBZ(@RequestParam("dataString")String dataString,@RequestParam("dataType")String dataType, HttpServletRequest request){
 		String result="";
 		try {
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
index edc073b..6e6f7a5 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/MdmEngineService.java
@@ -64,7 +64,12 @@
 	 * @return 杩斿洖缂栫爜鐨勫唴瀹�
 	 */
 	String addSaveCode(CodeOrderDTO orderDTO) throws Exception;
-
+	/**
+	 * 鐢宠鍗曚竴缂栫爜
+	 * @param orderDTO 鐢宠鐨勪俊鎭紝闇�瑕佸寘鍚睘鎬х殑鍐呭鍜岀爜娈电浉鍏崇殑鍐呭
+	 * @param  authUser 鏄惁妯℃嫙鐧诲綍锛宼rue锛屼笉妯℃嫙锛宖alse鏄ā鎷�
+	 * @return 杩斿洖缂栫爜鐨勫唴瀹�
+	 */
 	String addSaveCodeNotauthUser(CodeOrderDTO orderDTO, boolean authUser) throws Exception;
 
 	/**
@@ -501,4 +506,11 @@
 	 * @return 鎵ц缁撴灉
 	 */
 	String addSaveBZ(CodeBZApplyDTO codeBZApplyDTO) throws Exception;
+	/**
+	 * 鏍囧噯鐢宠鍜屼慨璁㈢敤
+	 * @param codeBZApplyDTO 缂栫爜鐢宠鐩稿叧鐨勪俊鎭紝闇�瑕佹湁灞炴�у拰鐮佹鐩稿叧鐨勪俊鎭�
+	 * @param authUser 鏄惁妯℃嫙鐧诲綍锛宼rue锛屼笉妯℃嫙锛宖alse鏄ā鎷�
+	 * @return 鎵ц缁撴灉
+	 */
+	String addSaveBZCodeNotauthUser(CodeBZApplyDTO codeBZApplyDTO, boolean authUser) throws Exception;
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
index c012248..749bcb2 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -886,7 +886,7 @@
 	 * @param authUser
 	 * @return
 	 */
-	private String addSaveBZCode(CodeBZApplyDTO codeBZApplyDTO, boolean authUser) throws Exception {
+	public String addSaveBZCode(CodeBZApplyDTO codeBZApplyDTO, boolean authUser) throws Exception {
 		String code="";
 		VciBaseUtil.alertNotNull(codeBZApplyDTO.getCodeClassifyOid(), "涓婚搴撳垎绫荤殑涓婚敭",
 			codeBZApplyDTO.getTemplateOid(), "妯℃澘鐨勪富閿�", codeBZApplyDTO.getCodeRuleOid(), "缂栫爜瑙勫垯鐨勪富閿�");
@@ -1112,6 +1112,7 @@
 	 * @return
 	 * @throws Exception
 	 */
+	@Override
 	public String addSaveBZCodeNotauthUser(CodeBZApplyDTO codeBZApplyDTO, boolean authUser) throws Exception {
 		return	addSaveBZCode(codeBZApplyDTO,authUser);
 	}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
index 56d77fd..a51667b 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java
@@ -8,6 +8,7 @@
 import com.thoughtworks.xstream.io.xml.DomDriver;
 import com.vci.ubcs.code.bo.CodeClassifyFullInfoBO;
 import com.vci.ubcs.code.constant.MdmDuckingConstant;
+import com.vci.ubcs.code.dto.CodeBZApplyDTO;
 import com.vci.ubcs.code.dto.CodeOrderDTO;
 import com.vci.ubcs.code.dto.CodeOrderSecDTO;
 import com.vci.ubcs.code.entity.*;
@@ -37,7 +38,6 @@
 import com.vci.ubcs.code.webService.annotation.VciWebservice;
 import com.vci.ubcs.code.webService.config.AttributeMapConfig;
 import com.vci.ubcs.code.webService.config.PersonAndDeptConfig;
-import com.vci.ubcs.code.wrapper.CodeClassifyWrapper;
 import com.vci.ubcs.omd.feign.IBtmTypeClient;
 import com.vci.ubcs.omd.vo.BtmTypeVO;
 import com.vci.ubcs.starter.exception.VciBaseException;
@@ -54,7 +54,6 @@
 import com.vci.ubcs.system.vo.DeptVO;
 import com.vci.ubcs.system.vo.RoleVO;
 import lombok.extern.slf4j.Slf4j;
-import org.apache.http.auth.AuthenticationException;
 import org.springblade.core.log.exception.ServiceException;
 import org.springblade.core.secure.utils.AuthUtil;
 import org.springblade.core.tool.api.R;
@@ -72,6 +71,7 @@
 import java.util.*;
 import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.function.Function;
 import java.util.stream.Collectors;
 
 import static com.vci.ubcs.code.constant.MdmEngineConstant.DEFAULT_SYNC_ATTR_LIST;
@@ -84,6 +84,50 @@
 @Slf4j
 @VciWebservice(path = "/universalInterface")
 public class UniversalInterfaceImpl<IDockingLogeServiceing> implements UniversalInterfaceI {
+
+	/***
+	 * 鎿嶄綔绫诲瀷
+	 */
+	@Value("${bzApply.operationType:operationType}")
+	private String operationType;
+	/***
+	 * 鏄惁绯诲垪
+	 */
+	@Value("${bzApply.isSeries:isSeries}")
+	private String isSeries;
+	/***
+	 *鍙戝竷鏃堕棿
+	 */
+	@Value("${bzApply.releaseTime:releaseTime}")
+	private String releaseTime;
+	/***
+	 * 婧愭爣鍑嗗彿
+	 */
+	@Value("${bzApply.oldCode:oldCode}")
+	private String oldCode;
+
+	/***
+	 * 绯诲垪娴佹按
+	 */
+	@Value("${bzApply.seriesFlow:seriesFlow}")
+	private String seriesFlow;
+	/***
+	 * 鏄惁鍙樻洿绯诲垪
+	 */
+	@Value("${bzApply.isEditSeries:isEditSeries}")
+	private String isEditSeries;
+	/***
+	 * 鎺у埗鏄惁鍐欏叆鍊肩殑鐮佹鍚嶇О
+	 */
+	@Value("${bzApply.secName:绯诲垪鍙穧")
+	private String secName;
+
+	/***
+	 * 鎺у埗鏄惁鍐欏叆鍊肩殑鐮佹鍚嶇О
+	 */
+	@Value("${bzApply.yearSecName:骞翠唬鍙穧")
+	private String yearSecName;
+
 
 	@Value("${code.universalinterface.checkSystemConfig:true}")
 	public boolean CODE_CHECKCONFIG;
@@ -858,6 +902,7 @@
 							orderDTO.setData(rowData.getFiledValue());
 							String code=engineService.addSaveCodeNotauthUser(orderDTO,false);
 							if(StringUtils.isNotBlank(code)) {
+								//rowData.setCode(code);
 								StringBuffer sqlsb = new StringBuffer();
 								sqlsb.append(" select * from ");
 								sqlsb.append(tableName);
@@ -1982,7 +2027,7 @@
 			try {
 				if ("xml".equals(dataType)) {
 					XStream xStream = new XStream(new DomDriver());
-					xStream.processAnnotations(RootDataVO.class);
+					xStream.processAnnotations(ApplyBZVO.class);
 					xStream.autodetectAnnotations(true);
 					ApplyBZVO rootDataVO = (ApplyBZVO) xStream.fromXML(data);
 					applyBZParamVO.setData(rootDataVO);
@@ -1999,18 +2044,15 @@
 			//鍏嶅瘑鐧诲綍鐢宠token锛宺equest涓坊鍔犵敤鎴蜂俊鎭�
 			//passwordFreeLoginService.pwdFreeLoginByBoolean(userVo.getUserName(), this.getRequest());
 			passwordFreeLoginService.pwdFreeLoginByBoolean(systemId.toLowerCase(),this.getRequest());
-			AuthUtil.getUser();
 			//杩欐槸璐﹀彿淇℃伅
 			SessionInfo sessionInfo = new SessionInfo();
 			sessionInfo.setUserId(userVo.getUserName());
 			sessionInfo.setUserName(userVo.getTrueName());
 			sessionInfo.setIp(userVo.getIp());
 			VciBaseUtil.setCurrentUserSessionInfo(sessionInfo);
-//			List<XMLResultDataObjectDetailDO> allResultDataObjectDetailDOS=new ArrayList<>();
 			String finalSystemId = systemId;
 			String libray="";
 			boolean isCodeOrGroupCode=false;
-
 			libray = classfyBZVO.getLibrary();
 			CodeClassifyVO codeClassifyVO = getClassfy(classfyBZVO,libray);
 			log.info("end锛氬垎绫绘煡璇㈠畬姣�");
@@ -2032,8 +2074,8 @@
 			}
 			CodeClassifyTemplateVO templateVO = engineService.getUsedTemplateByClassifyOid(codeClassifyVO.getOid());
 			if(templateVO==null||StringUtils.isBlank(templateVO.getOid())){
-				objerrorCode="1";
-				throw  new  Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙朚DM绯荤粺涓搴旀ā鏉�");
+				objerrorCode="100";
+				throw  new  Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙栫郴缁熶腑瀵瑰簲妯℃澘");
 			}
 			log.info("end锛氭ā鏉挎煡璇㈠畬姣�");
 			ApplyBZDatasVO applyBZDatasVO = classfyBZVO.getObjects();
@@ -2041,54 +2083,76 @@
 			List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag())
 			).collect(Collectors.toList());
 			List<ApplyBZDataVO> applyBZDataVOList=	applyBZDatasVO.getObject();
+			if(applyBZDataVOList.size()>1){
+				objerrorCode="1";
+				throw  new  Throwable ("鏍囧噯鐢宠鍙敮鎸佷竴鏉℃暟鎹敵璇�");
+			}
 			String finalLibray = libray;
 			ClassfyBZVO finalClassfyBZVO = classfyBZVO;
+			//瑙勫垯鐨勪富閿渶瑕佸幓鑾峰彇
+			CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(codeClassifyVO.getOid());
+			if(classifyFullInfo==null ||classifyFullInfo.getCurrentClassifyVO()==null || StringUtils.isBlank(classifyFullInfo.getCurrentClassifyVO().getOid())){
+				objerrorCode="1";
+				log.info("classifyFullInfo:"+"鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙栧垎绫荤浉鍏充俊鎭�");
+				throw  new  Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙栧垎绫荤浉鍏充俊鎭�");
+			}
+			CodeRuleVO ruleVO = engineService.getCodeRuleByClassifyFullInfo(classifyFullInfo);
+			if(ruleVO==null||StringUtils.isBlank(ruleVO.getOid())){
+				objerrorCode="102";
+				throw  new  Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙朚DM绯荤粺涓搴旇鍒�");
+			}
+			log.info("end锛氳鍒欒幏鍙栧畬姣�");
+			List<CodeOrderSecDTO> codeOrderSecDTOList = getRuleCodeOrderSecDTOs(classfyBZVO.getSections().getSection(), ruleVO,classifyFullInfo);
+			log.info("end锛氱爜娈佃幏鍙栧畬姣�");
+			CodeBZApplyDTO codeBZApplyDTO=new CodeBZApplyDTO();
+			codeBZApplyDTO.setSecDTOList(codeOrderSecDTOList);//鍒嗙被鐮佹
 			applyBZDataVOList.stream().forEach(applyBZDataVO -> {
+				String code="";
+				String id=applyBZDataVO.getId();
 				try {
-					this.getConfigDatas(finalSystemId, finalLibray, applyBZDatasVO, attrVOS, dataObjectVO);
+					List<ProppertyVO> proppertyVOList=applyBZDataVO.getProp();
+					String oldCodeValue=applyBZDataVO.getOldCode();
+					setPropertyValue(oldCode,oldCodeValue,proppertyVOList);//婧愭爣鍑嗗彿
+					boolean editSeriesFlag= applyBZDataVO.isEditSeriesFlag();
+					setPropertyValue(isEditSeries,String.valueOf(editSeriesFlag),proppertyVOList);//鏄惁鏇翠负绯诲垪
+					boolean seriesFlag=applyBZDataVO.isSeriesFlag();
+					setPropertyValue(isSeries,String.valueOf(seriesFlag),proppertyVOList);//婧愭爣鍑嗙被鍨�
+					String operationTypeValue=applyBZDataVO.getOperationType();
+					setPropertyValue(operationType,operationTypeValue,proppertyVOList);//鎿嶄綔绫诲瀷1:鍒跺畾锛�2:淇
+					String releaseTimeValue= applyBZDataVO.getReleaseTime();
+					setPropertyValue(releaseTime,releaseTimeValue,proppertyVOList);//鍙戝竷鏃堕棿
+					String seriesFlow=applyBZDataVO.getSeriesFlow();//绯诲垪娴佹按
+					codeBZApplyDTO.setOldCode(oldCodeValue);
+					codeBZApplyDTO.setReleaseTime(releaseTimeValue);
+					codeBZApplyDTO.setEditSeries(editSeriesFlag);
+					codeBZApplyDTO.setSeries(seriesFlag);
+					codeBZApplyDTO.setOperationType(operationTypeValue);
+					codeBZApplyDTO.setSeriesFlow(seriesFlow);
+					codeBZApplyDTO.setCodeClassifyOid(codeClassifyVO.getOid());
+					codeBZApplyDTO.setCodeRuleOid(ruleVO.getOid());
+					codeBZApplyDTO.setTemplateOid(templateVO.getOid());
+					codeBZApplyDTO.setCreator(applyBZDataVO.getCreator());
+					codeBZApplyDTO.setLastModifier(applyBZDataVO.getEditor());
+					codeBZApplyDTO.setLcStatus(applyBZDataVO.getStatus());
+					ApplyBZDatasVO newApplyBZDatasVO=new ApplyBZDatasVO();
+					newApplyBZDatasVO.setObject(Arrays.asList(applyBZDataVO));
 					log.info("end锛氭暟鎹粍缁囧畬姣�");
-					//瑙勫垯鐨勪富閿渶瑕佸幓鑾峰彇
-					CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(codeClassifyVO.getOid());
-					if(classifyFullInfo==null ||classifyFullInfo.getCurrentClassifyVO()==null || StringUtils.isBlank(classifyFullInfo.getCurrentClassifyVO().getOid())){
-						objerrorCode="1";
-						log.info("classifyFullInfo:"+"鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙栧垎绫荤浉鍏充俊鎭�");
-						throw  new  Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙栧垎绫荤浉鍏充俊鎭�");
-					}
-					CodeRuleVO ruleVO = engineService.getCodeRuleByClassifyFullInfo(classifyFullInfo);
-					if(ruleVO==null||StringUtils.isBlank(ruleVO.getOid())){
-						objerrorCode="102";
-						throw  new  Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙朚DM绯荤粺涓搴旇鍒�");
-					}
-					log.info("end锛氳鍒欒幏鍙栧畬姣�");
-					//List<CodeOrderSecDTO> codeOrderSecDTOList = getRuleCodeOrderSecDTOs(ruleVO,classifyFullInfo);
-					log.info("end锛氱爜娈佃幏鍙栧畬姣�");
-					CodeOrderDTO orderDTO = new CodeOrderDTO();
-					orderDTO.setCodeClassifyOid(codeClassifyVO.getOid());//鍒嗙被涓婚敭
-					//orderDTO.setSecDTOList(codeOrderSecDTOList);//鍒嗙被鐮佹
-					//mdmIOService.batchSyncApplyCode(orderDTO, dataObjectVO, resultDataObjectDetailDOs,isCodeOrGroupCode);
-					//allResultDataObjectDetailDOS.add(resultDataObjectDetailDOs);
-					log.info("end锛氱敵璇疯幏鍙栧畬姣�");
+					this.getConfigDatas(finalSystemId, finalLibray, newApplyBZDatasVO, attrVOS, dataObjectVO);
+					log.info("end锛氭暟鎹粍缁囧畬姣�");
+					codeBZApplyDTO.setData(dataObjectVO.getRowData().get(0).getFiledValue());
+					code=engineService.addSaveBZCodeNotauthUser(codeBZApplyDTO,false);
+					msg="缂栫爜鐢宠鎴愬姛:缂栫爜涓猴細"+code;
 				} catch (Throwable e) {
-					List<ApplyBZDataVO> applyDataVOList = finalClassfyBZVO.getObjects().getObject();
 					objerrorCode = "1";
-					if (!CollectionUtils.isEmpty(applyDataVOList)) {
-						applyDataVOList.stream().forEach(applyDataVO -> {
-							XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO = new XMLResultDataObjectDetailDO();
-							xmlResultDataObjectDetailDO.setCode("");
-							xmlResultDataObjectDetailDO.setId(applyDataVO.getId());
-							xmlResultDataObjectDetailDO.setErrorid(objerrorCode);
-							xmlResultDataObjectDetailDO.setMsg("缂栫爜鐢宠澶辫触:" + e.getMessage());
-							resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO);
-						});
-					} else {
-						XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO = new XMLResultDataObjectDetailDO();
-						xmlResultDataObjectDetailDO.setCode("");
-						xmlResultDataObjectDetailDO.setId("");
-						xmlResultDataObjectDetailDO.setErrorid(objerrorCode);
-						xmlResultDataObjectDetailDO.setMsg("缂栫爜鐢宠澶辫触:" + e.getMessage());
-						resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO);
-					}
+					msg="缂栫爜鐢宠澶辫触:" +e.getMessage();
 					e.printStackTrace();
+				}finally {
+					XMLResultDataObjectDetailDO xmlResultDataObjectDetailDO = new XMLResultDataObjectDetailDO();
+					xmlResultDataObjectDetailDO.setCode(code);
+					xmlResultDataObjectDetailDO.setId(id);
+					xmlResultDataObjectDetailDO.setErrorid(objerrorCode);
+					xmlResultDataObjectDetailDO.setMsg(msg);
+					resultDataObjectDetailDOs.add(xmlResultDataObjectDetailDO);
 				}
 			});
 			XMLResultClassfyVO resultClassfyVO = new XMLResultClassfyVO();
@@ -2106,7 +2170,6 @@
 			e.printStackTrace();
 			msg="鐢宠缂栫爜澶辫触:"+e.getMessage();
 		}finally {
-
 			XMLResultSystemVO xmlResultSystemVO=new XMLResultSystemVO();
 			xmlResultSystemVO.setClassifys(resultClassfyVOList);
 			xmlResultSystemVO.setMsg(msg);
@@ -2137,6 +2200,13 @@
 		log.info("杩斿洖鍙傛暟:"+resultStr);
 		//璋冪敤闆嗗洟鐢宠鎺ュ彛鐢宠闆嗗洟鐮�
 		return resultStr;
+	}
+	private void setPropertyValue(String key,String value,List<ProppertyVO> proppertyVOList){
+		ProppertyVO proppertyVO=new ProppertyVO();
+		proppertyVO.setKey(key);
+		proppertyVO.setValue(StringUtils.isBlank(value)?"":value);
+		proppertyVOList.add(proppertyVO);
+
 	}
 	/***
 	 * 鏌ヨ鏍¢獙鍒嗙被淇℃伅
@@ -2265,6 +2335,7 @@
 		Map<String,String> errorMap=new HashMap<>();
 		for(CodeBasicSecVO codeBasicSecVO: codeBasicSecVOS) {
 			String sectype = codeBasicSecVO.getSecType();
+			String newSecName=codeBasicSecVO.getName();
 			String classifySecOid= codeBasicSecVO.getOid();
 			String message="";
 			if (!sectype.equals(CodeSecTypeEnum.CODE_SERIAL_SEC.getValue())) {
@@ -2294,7 +2365,7 @@
 							}
 						}
 					}
-					if(StringUtils.isBlank(sectypeValue)){
+					if(StringUtils.isBlank(sectypeValue)&&!newSecName.equals(secName)){
 						message="浼犲叆鐨勫垎绫荤爜娈碉細銆�" + name + " 銆戠殑鍊间笉鍏佽涓虹┖";
 						errorMap.put("error",errorMap.getOrDefault("error","")+";"+message);
 					}
@@ -2384,7 +2455,7 @@
 				LinkedHashMap<Integer, String> integerValueMap = new LinkedHashMap<>();
 				Map<String, String> filedValueMap = new HashMap<>();
 				if (!CollectionUtils.isEmpty(proppertyVOList)) {
-					Map<String, String> sourceKeyValueMap = proppertyVOList.stream().collect(Collectors.toMap(ProppertyVO::getKey, ProppertyVO::getValue, (key1, key2) -> key2));
+					Map<String, String> sourceKeyValueMap = proppertyVOList.stream().collect(Collectors.toMap(ProppertyVO::getKey,  ProppertyVO::getValue, (key1, key2) -> key2));
 					Map<String, String> keyValueMap = new HashMap<>();
 					//鍒ゆ柇attrMapConfigMap鏄惁鏈夊�硷紝濡傛灉娌℃湁鍒欒鏄庡熀纭�榛樿鐨勬槸缂栫爜绯荤粺瀛楁
 					if (!CollectionUtils.isEmpty(attrMapConfigMap)) {

--
Gitblit v1.9.3