From 4cd479485aded3de0b52abe37097a04105bad3ed Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期一, 11 九月 2023 15:01:03 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/components/refer/vciWebRefer.vue                                                                    |    2 
 Source/UBCS-WEB/src/views/code/code.vue                                                                                 |    4 
 Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/utils/HttpUtil.java                |    2 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/webService/config/PersonAndDeptConfig.java           |   29 ++++
 Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue                                                             |    2 
 Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/ResultOrgData.java |    8 
 Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue                                                             |   36 +++++
 Source/UBCS-WEB/src/views/MasterData/items.vue                                                                          |    4 
 Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml                                     |    2 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java            |    7 +
 Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue                                                               |   26 +++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/UniversalInterfaceImpl.java             |  169 ++++++++++++++++++++++++----
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java               |    9 -
 Source/UBCS-WEB/src/components/Master/MasterTree.vue                                                                    |    2 
 Source/UBCS-WEB/src/const/code/classisyValueTreeDialog.js                                                               |    4 
 Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue                                                                |   26 +++
 16 files changed, 272 insertions(+), 60 deletions(-)

diff --git a/Source/UBCS-WEB/src/components/Master/MasterTree.vue b/Source/UBCS-WEB/src/components/Master/MasterTree.vue
index f485dbe..7e248d2 100644
--- a/Source/UBCS-WEB/src/components/Master/MasterTree.vue
+++ b/Source/UBCS-WEB/src/components/Master/MasterTree.vue
@@ -15,7 +15,7 @@
   props: {
     pageSize: {
       type: String,
-      default: "10"
+      default: "100"
     },
     currentPage: {
       type: String,
diff --git a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
index 1505e83..6e24287 100644
--- a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
+++ b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
@@ -93,7 +93,7 @@
           <ResembleQueryDialog :codeClassifyOid="codeClassifyOid" :codeRuleOid="this.codeRuleOid" :rowOid="rowOid"
                                :templateOid="templateOid" :visible.sync="similarVisible"></ResembleQueryDialog>
           <div class="block" style="display: flex; justify-content: flex-end">
-            <el-pagination :current-page="page.currentPage" :page-size="page.pageSizes" :page-sizes="page.pageSizes"
+            <el-pagination :current-page="page.currentPage" :page-size="page.pageSize" :page-sizes="page.pageSizes"
                            :total="page.total" layout="total, sizes, prev, pager, next, jumper"
                            @size-change="handleSizeChange"
                            @current-change="handleCurrentChange">
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue b/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue
index 406c2b4..fa4a1bd 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue
@@ -25,12 +25,12 @@
     };
   },
   created() {
+    console.log('referer')
     if (!this.referConfig.options) {
       this.referConfig.options = {
         isMuti: false
       }
     }
-    console.log('referConfig',this.referConfig)
   },
   mounted() {
     var title = this.referConfig.title || '';
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
index 727d79a..8422b43 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue
@@ -158,22 +158,34 @@
           label: '鑻辨枃鍚嶇О',
           sortable: true,
           width: 150,
-          search: true
+          search: true,
+          formatter:function (d){
+            return d.id || d.data.id
+          }
         }, {
           prop: 'name',
           label: '涓枃鍚嶇О',
           sortable: true,
           width: 150,
-          search: true
+          search: true,
+          formatter:function (d){
+            return d.name || d.data.name
+          }
         }, {
           prop: 'description',
           label: '鎻忚堪',
-          width: 250
+          width: 250,
+          formatter:function (d){
+            return d.description || d.data.description
+          }
         }, {
           prop: 'secretGradeText',
           label: '瀵嗙骇',
           width: 60,
-          hidden: (!this.controllerSecret)
+          hidden: (!this.controllerSecret),
+          formatter:function (d){
+            return d.secretGradeText || d.data.secretGradeText
+          }
         }];
       } else {
         this.option.column = this.options.tableConfig.cols.map(item => {
@@ -181,6 +193,16 @@
             let formatter=item.template || item.templet;
             if(typeof formatter == "string" && formatter !=''){
               formatter=eval("(" + formatter + ")")
+            }else{
+              formatter=function (d){
+                if(d[item.field]!=undefined){
+                  return d[item.field]
+                }else if(d.data[item.field] !=undefined){
+                  return d.data[item.field]
+                }else {
+                  return ''
+                }
+              }
             }
             return {
               ...item,
@@ -295,6 +317,12 @@
             this.data = res.data.data.records;
             this.page.total=res.data.data.total;
           }
+          this.data=this.data.map(item => {
+            item.data=item.data || {}
+            return {
+              ...item
+            }
+          })
           this.loading = false;
           this.selectionClear();
         }).catch(error=>{
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
index 8e83d4f..522df5b 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue
@@ -87,10 +87,12 @@
   },
   created() {
     this.getParams();
+
     // console.log('referConfig:')
     // console.log(this.referConfig)
   },
   mounted() {
+    console.log('referrTable')
     if(this.referConfig.options.page){
       this.page.pageSize=this.referConfig.options.page.limit || this.referConfig.options.page.pageSize;
       this.page.currentPage=this.referConfig.options.page.page || this.referConfig.options.page.currentPage;
@@ -200,10 +202,9 @@
                     message: "璇疯緭鍏�" + item.field,
                     trigger: "blur"
                   }];
-                  /*item.formatter=function(d,thisItem){
-                    var vciWebComboxStore = layui.vciWebComboxStore;
-                    return vciWebComboxStore.getComboxText(thisItem.enumCode,d[thisItem.field]);
-                  };*/
+                  item.formatter=function(d){
+                    return d.field || d.data.field
+                  };
                 }
                 return {
                   ...item,
@@ -250,6 +251,16 @@
               let formatter=item.template || item.templet;
               if(typeof formatter == "string" && formatter !=''){
                 formatter=eval("(" + formatter + ")")
+              }else{
+                formatter=function (d){
+                  if(d[item.field]!=undefined){
+                    return d[item.field]
+                  }else if(d.data[item.field] !=undefined){
+                    return d.data[item.field]
+                  }else {
+                    return ''
+                  }
+                }
               }
               return {
                 ...item,
@@ -270,6 +281,7 @@
       this.params=paramsData;
     },
     setValue(){
+      console.log('纭畾')
       if(this.selectionList.length==0){
         this.$message.warning( '娌℃湁閫夋嫨鏁版嵁');
         return false;
@@ -359,6 +371,12 @@
             this.data = res.data.data.records;
             this.page.total=res.data.data.total;
           }
+          this.data=this.data.map(item => {
+            item.data=item.data || {}
+            return {
+              ...item
+            }
+          })
           this.loading = false;
           this.selectionClear();
         }).catch(error=>{
diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
index 3000eba..16756d9 100644
--- a/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
+++ b/Source/UBCS-WEB/src/components/refer/vciWebReferTree.vue
@@ -123,10 +123,23 @@
       this.params=queryParams;
 
     },
-    getTree(){
-      getTree(this.params,this.treeUrl).then(res => {
-          this.treeData=res.data
+    getTree() {
+      getTree(this.params, this.treeUrl).then(res => {
+        res.data.map(item => {
+          if (!item.attribute) {
+            item.attribute = {
+              data: {}
+            }
+          } else {
+            item.attribute.data = item.attribute.data || {}
+          }
+          return {
+            ...item,
+            leaf: !item.hasChildren
+          }
         })
+        this.treeData = res.data
+      })
     },
     treeLoad: function (treeNode, resolve) {
       const parentOid = (treeNode.level === 0) ? 0 : treeNode.data.oid;
@@ -142,6 +155,13 @@
       }
       getLazyTree(this.params,this.treeUrl).then(res => {
         resolve(res.data.data.map(item => {
+          if(!item.attribute){
+            item.attribute={
+              data:{}
+            }
+          }else{
+            item.attribute.data=item.attribute.data || {}
+          }
           return {
             ...item,
             leaf: !item.hasChildren
diff --git a/Source/UBCS-WEB/src/const/code/classisyValueTreeDialog.js b/Source/UBCS-WEB/src/const/code/classisyValueTreeDialog.js
index ff746da..a7e4d4e 100644
--- a/Source/UBCS-WEB/src/const/code/classisyValueTreeDialog.js
+++ b/Source/UBCS-WEB/src/const/code/classisyValueTreeDialog.js
@@ -1,8 +1,8 @@
 export default {
-    nodeKey: 'oid',
+    // nodeKey: 'oid',
     border: true,
     lazy: false,
-    defaultExpandAll: true,
+    defaultExpandAll: false,
     treeLoad: function (node, resolve) {
       // const parentId = (node.level === 0) ? 0 : node.data.id;
 
diff --git a/Source/UBCS-WEB/src/views/MasterData/items.vue b/Source/UBCS-WEB/src/views/MasterData/items.vue
index 1745425..be13f12 100644
--- a/Source/UBCS-WEB/src/views/MasterData/items.vue
+++ b/Source/UBCS-WEB/src/views/MasterData/items.vue
@@ -28,10 +28,10 @@
       page: {
         total: 0,
         currentPage: 1,
-        pageSize: 10,
+        pageSize: 100,
         pageSizes: [10, 30, 50, 100, 200],
       },
-      pageSize: "10",
+      pageSize: "100",
       currentPage: "1",
       codeClassifyOid: "",
       coderuleoid: "",
diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue
index 91711ee..59f6ec1 100644
--- a/Source/UBCS-WEB/src/views/code/code.vue
+++ b/Source/UBCS-WEB/src/views/code/code.vue
@@ -1341,7 +1341,7 @@
 
       /*鍏嬮殕缂栫爜瑙勫垯瀵硅瘽妗嗘帶鍒跺彉閲�*/
       cloneSettingBox: false,
-      
+
       /*浠庡叾浠栬鍒欏厠闅嗙爜娈�*/
       cloneOtherCodeRuleSettingBox: false,
 
@@ -2418,7 +2418,7 @@
         this.updateStatus(oid, update);
       }
     },
-    
+
     /** 鎵撳紑缂栫爜瑙勫垯鍏嬮殕瀵硅瘽妗�*/
     openCodeRuleDialog() {
       if (!this.tipsMessage(this.selectionList)) {
diff --git a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/utils/HttpUtil.java b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/utils/HttpUtil.java
index 5c41c1c..e2c07c4 100644
--- a/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/utils/HttpUtil.java
+++ b/Source/UBCS/ubcs-codeApply/src/main/java/com/vci/rmip/code/client/codeapply/Apply410/utils/HttpUtil.java
@@ -92,7 +92,7 @@
 			 * 娣诲姞璇锋眰澶翠俊鎭�
 			 */
 			if(headers!=null&&headers.size()>0) {
-				for (Map.Entry<String, String> entry : params.entrySet()) {
+				for (Map.Entry<String, String> entry : headers.entrySet()) {
 					httpGet.addHeader(entry.getKey(), entry.getValue());
 				}
 			}
diff --git a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/ResultOrgData.java b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/ResultOrgData.java
index 3063b7f..dd3880a 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/ResultOrgData.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-code-api/src/main/java/com/vci/ubcs/code/vo/webserviceModel/person/ResultOrgData.java
@@ -1,5 +1,7 @@
 package com.vci.ubcs.code.vo.webserviceModel.person;
 
+import java.util.List;
+
 public class ResultOrgData {
 	/***
 	 * 鏍囪瘑澶勭悊鎴愬姛鎴栧け璐�
@@ -12,7 +14,7 @@
 	/**
 	 * 鍒嗗彂鐨勬墍鏈夋暟鎹殑淇℃伅
 	 */
-	private ResultMdMapping mdMappings;
+	private List<ResultMdMapping> mdMappings;
 
 	public boolean isSuccess() {
 		return success;
@@ -30,11 +32,11 @@
 		this.message = message;
 	}
 
-	public ResultMdMapping getMdMappings() {
+	public List<ResultMdMapping> getMdMappings() {
 		return mdMappings;
 	}
 
-	public void setMdMappings(ResultMdMapping mdMappings) {
+	public void setMdMappings(List<ResultMdMapping> mdMappings) {
 		this.mdMappings = mdMappings;
 	}
 
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
index c1560e5..710c79e 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -595,7 +595,12 @@
 		if(StringUtils.isNotBlank(libName)){
 			libNameList=VciBaseUtil.str2List(libName);
 		}
-		List<CodeClassify> doList =codeClassifyMapper.getRMLibByName(libNameList,"Enabled",AuthUtil.getTenantId());
+		List<CodeClassify> doList =codeClassifyMapper.getRMLibByName(libNameList,"Enabled",AuthUtil.getTenantId()
+			.equals(
+				nacosConfigCache
+					.getAdminUserInfo()
+					.getTenantId()
+			) ? null:AuthUtil.getTenantId());
 		List<CodeClassifyVO> voList = codeClassifyDO2VOs(doList);
 		return voList;
 	}
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 b813fe5..b0163b3 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
@@ -437,18 +437,11 @@
         //澶囨敞
         cbo.setDescription(orderDTO.getDescription());
         cboList.add(cbo);
-//
-//		cboList.add(cbo);
+
         List<String> codeList = productCodeService.productCodeAndSaveData(classifyFullInfo, templateVO, ruleVO, orderDTO.getSecDTOList(), cboList);
 
-
-//		List<String> charList = new ArrayList<>();
-//		for (BaseModel baseModel : cboList) {
-//			charList.add(baseModel.getId());
-//		}
         batchSaveSelectChar(templateVO, cboList);
         return codeList.size() > 0 ? codeList.get(0) : "";
-//		return null;
     }
 
     /**
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 b54c7ba..fd19302 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
@@ -64,6 +64,7 @@
 import java.util.stream.Collectors;
 
 import static com.vci.ubcs.code.constant.MdmEngineConstant.DEFAULT_SYNC_ATTR_LIST;
+import static com.vci.ubcs.code.constant.MdmEngineConstant.IMPORT_ROW_INDEX;
 import static com.vci.ubcs.code.enumpack.CodeSecTypeEnum.CODE_CLASSIFY_SEC;
 
 /***
@@ -353,6 +354,7 @@
 	public ResultOrgData syncDataForPerson(PersonData personData) {
 		boolean isUsedFlag= personAndDeptConfig.isUsedFlag();
 		ResultOrgData resultOrgData=new ResultOrgData();
+		List<ResultMdMapping> resultMdMappingList=new ArrayList<>();
 		boolean success=true;
 		String message="";
 		if(isUsedFlag){
@@ -380,12 +382,17 @@
 					success=false;
 					throw  new  Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙朚DM绯荤粺涓搴旀ā鏉�");
 				}
+
+				List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag())
+				).collect(Collectors.toList());
+
 				List<PersonMasterData> personMasterDataList= personData.getMasterData();
 				List<Map> dataList=new ArrayList<>();
-				ApplyDatasVO applyDatasVO=new ApplyDatasVO();
 
+				List<String> codeList=new ArrayList<>();
 
 				List<ApplyDataVO> applyDataVOList=new ArrayList<>();
+				List<ApplyDataVO> deleteDataVOList=new ArrayList<>();
 				personMasterDataList.stream().forEach(personMasterData -> {
 					ApplyDataVO object=new ApplyDataVO();
 					object.setCode(personMasterData.getLm_code());//缂栫爜
@@ -393,6 +400,7 @@
 					object.setEditor(personMasterData.getModifier());//淇敼鑰�
 					object.setId(personMasterData.getId());//涓婚敭
 					object.setStatus(CodeDefaultLC.RELEASED.getValue());//鐘舵�佸垯闇�瑕佸垽鏂�
+
 					Map<String,String> dataMap= VciBaseUtil.objectToMapString(personMasterData);
 					List<ProppertyVO> proppertyVOList=new ArrayList<>();
 					dataMap.forEach((key,vaule)->{
@@ -402,41 +410,154 @@
 						proppertyVOList.add(proppertyVO);
 					});
 					object.setProp(proppertyVOList);
-					applyDataVOList.add(object);
+					if(personMasterData.getDr()==1){
+						object.setOperate("delete");//鎿嶄綔绫诲瀷
+						deleteDataVOList.add(object);
+					}else{
+						String worker_category=personMasterData.getWorker_category();
+						codeList.add(personMasterData.getLm_code());
+						object.setOperate("create");
+						applyDataVOList.add(object);
+					}
 				});
-				applyDatasVO.setObject(applyDataVOList);
-				DataObjectVO dataObjectVO = new DataObjectVO();
-				List<CodeClassifyTemplateAttrVO> attrVOS = templateVO.getAttributes().stream().filter(s -> !DEFAULT_SYNC_ATTR_LIST.contains(s.getId()) && VciBaseUtil.getBoolean(s.getFormDisplayFlag())
-				).collect(Collectors.toList());
-				this.getConfigDatas("ERP", personLibrary, applyDatasVO, attrVOS, dataObjectVO);
-				log.info("end锛氭暟鎹粍缁囧畬姣�");
-				//瑙勫垯鐨勪富閿渶瑕佸幓鑾峰彇
-				CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(codeClassifyVO.getOid());
-				if(classifyFullInfo==null ||classifyFullInfo.getCurrentClassifyVO()==null || StringUtils.isBlank(classifyFullInfo.getCurrentClassifyVO().getOid())){
-					success=false;
-					log.info("classifyFullInfo:"+"鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙栧垎绫荤浉鍏充俊鎭�");
-					throw  new  Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙栧垎绫荤浉鍏充俊鎭�");
-				}
-				CodeRuleVO ruleVO = engineService.getCodeRuleByClassifyFullInfo(classifyFullInfo);
-				if(ruleVO==null||StringUtils.isBlank(ruleVO.getOid())){
-					success=false;
-					throw  new  Throwable ("鏍规嵁浼犺緭鐨勫垎绫伙紝鏈幏鍙朚DM绯荤粺涓搴旇鍒�");
-				}
-				log.info("end锛氳鍒欒幏鍙栧畬姣�");
 
+				R<BtmTypeVO> r = btmTypeClient.getAllAttributeByBtmId(templateVO.getBtmTypeId());
+				if(!r.isSuccess()) {
+					throw new Throwable(r.getMsg());
+				}
+				BtmTypeVO btmTypeVO = r.getData();
+				if (btmTypeVO == null) {
+					throw new Throwable("鏍规嵁涓氬姟绫诲瀷鏈煡璇㈠埌涓氬姟绫诲瀷瀵硅薄锛�");
+				}
+				String tableName = btmTypeVO.getTableName();
+				if (com.alibaba.nacos.common.utils.StringUtils.isBlank(tableName)) {
+					throw new Throwable("鏍规嵁涓氬姟绫诲瀷鏈煡璇㈠埌涓氬姟绫诲瀷鐩稿叧鑱旂殑琛�");
+				}
+				StringBuffer sb=new StringBuffer();
+				sb.append(" select * from ");
+				sb.append(tableName);
+				sb.append(" where 1=1 ");
+				sb.append(" and lastr=1 and lastv=1" );
+				sb.append(" and id in (");
+				sb.append(VciBaseUtil.toInSql(codeList.toArray(new String[0])));
+				sb.append(")");
+				List<Map<String,String>> dataMapList=commonsMapper.queryByOnlySqlForMap(sb.toString());
+				List<ClientBusinessObject> cboList=	ChangeMapTOClientBusinessObjects(dataMapList);
+				ApplyDatasVO applyDatasVO=new ApplyDatasVO();
+				ApplyDatasVO editDatasVO=new ApplyDatasVO();
+				if(!CollectionUtils.isEmpty(cboList)){
+				Map<String,ClientBusinessObject> oldpplyDataVOMap=	cboList.stream().filter(data -> data != null && StringUtils.isNotBlank(data.getId())).collect(Collectors.toList()).stream().collect(Collectors.toMap(s -> s.getId().toLowerCase(Locale.ROOT), t -> t));
+					//鏁版嵁搴撲笉瀛樺湪鐨�
+					List<ApplyDataVO> applyApplyDataVOList = applyDataVOList.stream().filter(cbo -> {
+						String code =cbo.getCode();
+						return !oldpplyDataVOMap.containsKey(code);
+					}).collect(Collectors.toList());
+					applyDatasVO.setObject(applyApplyDataVOList);
+					//鏁版嵁搴撳瓨鍦ㄧ殑
+					List<ApplyDataVO> editApplyDataVOList = applyDataVOList.stream().filter(cbo -> {
+						String code =cbo.getCode();
+						if(oldpplyDataVOMap.containsKey(code)){
+							cbo.setOperate("update");
+						}
+						return oldpplyDataVOMap.containsKey(code);
+					}).collect(Collectors.toList());
+					editApplyDataVOList.addAll(deleteDataVOList);
+					editDatasVO.setObject(editApplyDataVOList);
+				}else{
+					applyDatasVO.setObject(applyDataVOList);
+				}
+
+				LinkedList<XMLResultDataObjectDetailDO> resultDataObjectDetailDOs=new LinkedList<>();
+				if(editDatasVO.getObject()!=null&&editDatasVO.getObject().size()>0){
+					DataObjectVO dataObjectVO = new DataObjectVO();
+					this.getConfigDatas("ERP", personLibrary, editDatasVO, attrVOS, dataObjectVO);
+					log.info("start锛氫慨鏀规暟鎹墽琛屽畬姣�");
+					boolean  personApplyGroupCode =personAndDeptConfig.isPersonApplyGroupCode();
+					mdmIOService.batchSyncEditDatas(codeClassifyVO,dataObjectVO, resultDataObjectDetailDOs,personApplyGroupCode);
+					log.info("end锛氫慨鏀规暟鎹墽琛屽畬姣�");
+				}
+				if(applyDatasVO.getObject()!=null&&applyDatasVO.getObject().size()>0) {
+					DataObjectVO dataObjectVO = new DataObjectVO();
+					this.getConfigDatas("ERP", personLibrary, editDatasVO, attrVOS, dataObjectVO);
+
+					CodeClassifyFullInfoBO classifyFullInfo = classifyService.getClassifyFullInfo(codeClassifyVO.getOid());
+					CodeRuleVO ruleVO = engineService.getCodeRuleByClassifyFullInfo(classifyFullInfo);
+					if(ruleVO==null||"".equals(ruleVO.getOid())){
+						throw  new Throwable("缂栫爜瑙勫垯");
+					}
+					List<XMLResultDataObjectDetailDO> xDOs=new CopyOnWriteArrayList<>();
+					dataObjectVO.getRowData().parallelStream().forEach(rowData->{
+						String mesg="";
+						try {
+							CodeOrderDTO orderDTO = new CodeOrderDTO();
+							List<CodeOrderSecDTO> codeOrderSecDTOList=new ArrayList<>();
+							orderDTO.setCodeClassifyOid(codeClassifyVO.getOid());//鍒嗙被涓婚敭
+							if(!CollectionUtils.isEmpty(ruleVO.getSecVOList())) {
+								ruleVO.getSecVOList().stream().forEach(codeBasicSecVO -> {
+									if (codeBasicSecVO.getSecType().equals("codevariablesec")) {//瑙勫垯涔嬪畾涔変负鍙彉鐮佹瀛樺偍涓绘暟鎹紶閫掕繃鏉ョ殑鏁版嵁
+										CodeOrderSecDTO CodeOrderSecDTO = new CodeOrderSecDTO();
+										CodeOrderSecDTO.setSecOid(codeBasicSecVO.getOid());
+										CodeOrderSecDTO.setSecValue(rowData.getCode());
+										codeOrderSecDTOList.add(CodeOrderSecDTO);
+
+									}
+								});
+							}
+							orderDTO.setSecDTOList(codeOrderSecDTOList);//瀛樺偍缂栫爜
+							orderDTO.setData(rowData.getFiledValue());
+							engineService.addSaveCode(orderDTO);
+						} catch (Exception e) {
+							mesg=e.getMessage();
+							e.getMessage();
+							e.printStackTrace();
+						}finally {
+							XMLResultDataObjectDetailDO x=new XMLResultDataObjectDetailDO();
+							x.setId(rowData.getOid());
+							x.setCode(rowData.getCode());
+							x.setMsg(mesg);
+							x.setErrorid("1");
+							xDOs.add(x);
+						}
+					});
+					resultDataObjectDetailDOs.addAll(xDOs);
+					boolean finalSuccess1 = success;
+					String finalMessage1 = message;
+					resultDataObjectDetailDOs.stream().forEach(resultDataObjectDetailDO->{
+						ResultMdMapping resultMdMapping=new ResultMdMapping();
+						resultMdMapping.setBusiDataId(resultDataObjectDetailDO.getId());
+						resultMdMapping.setSuccess(finalSuccess1);
+						resultMdMapping.setEntityCode(" ");
+						resultMdMapping.setMdmCode(resultDataObjectDetailDO.getCode());
+						resultMdMapping.setMessage(finalMessage1);
+						resultMdMapping.setSubMdMappings(null);
+						resultMdMappingList.add(resultMdMapping);
+					});
+					log.info("end锛氱敵璇疯幏鍙栧畬姣�");
+				}
 			}catch (Throwable e){
 				success=false;
 				message="浜哄憳鏁版嵁鎺ュ彈澶辫触:"+e.getMessage();
-			}finally {
 				//缁勭粐杩斿洖缁撴灉
+				boolean finalSuccess = success;
+				String finalMessage = message;
 				masterDataList.stream().forEach(masterData -> {
 					ResultMdMapping resultMdMapping=new ResultMdMapping();
 					resultMdMapping.setBusiDataId(masterData.getId());
+					resultMdMapping.setSuccess(finalSuccess);
+					resultMdMapping.setEntityCode(" ");
+					resultMdMapping.setMdmCode(masterData.getLm_code());
+					resultMdMapping.setMessage(finalMessage);
+					resultMdMapping.setSubMdMappings(null);
 				});
+			}finally {
+				resultOrgData.setMessage(message);
+				resultOrgData.setSuccess(success);
+				resultOrgData.setMdMappings(resultMdMappingList);
+				Object object = JSONObject.toJSON(resultOrgData);
+				return resultOrgData;
 			}
-
 		}
-
+		Object object = JSONObject.toJSON(resultOrgData);
 		return resultOrgData;
 	}
 	/****
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/webService/config/PersonAndDeptConfig.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/webService/config/PersonAndDeptConfig.java
index 48d0413..2156249 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/webService/config/PersonAndDeptConfig.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/webService/config/PersonAndDeptConfig.java
@@ -3,7 +3,7 @@
 import org.springframework.boot.context.properties.ConfigurationProperties;
 import org.springframework.stereotype.Component;
 
-@ConfigurationProperties(prefix="code.applypersonanddept")
+@ConfigurationProperties(prefix="org.applypersonanddept")
 @Component
 public class PersonAndDeptConfig {
 	/***
@@ -23,7 +23,14 @@
 	 * 閮ㄩ棬鍒嗙被缂栫爜
 	 */
 	private String deptClassCode;
-
+	/**
+	 * 浜哄憳鏄惁鐢宠闆嗗洟鐮�
+	 */
+	private boolean personApplyGroupCode;
+	/**
+	 * 缁勭粐鏈烘瀯鏄惁鐢宠闆嗗洟鐮�
+	 */
+	private boolean deptApplyGroupCode;
 	/***
 	 * 鏄惁寮�鍚�
 	 */
@@ -69,6 +76,22 @@
 		isUsedFlag = usedFlag;
 	}
 
+	public boolean isPersonApplyGroupCode() {
+		return personApplyGroupCode;
+	}
+
+	public void setPersonApplyGroupCode(boolean personApplyGroupCode) {
+		this.personApplyGroupCode = personApplyGroupCode;
+	}
+
+	public boolean isDeptApplyGroupCode() {
+		return deptApplyGroupCode;
+	}
+
+	public void setDeptApplyGroupCode(boolean deptApplyGroupCode) {
+		this.deptApplyGroupCode = deptApplyGroupCode;
+	}
+
 	@Override
 	public String toString() {
 		return "PersonAndDeptConfig{" +
@@ -76,6 +99,8 @@
 			", personClassCode='" + personClassCode + '\'' +
 			", deptLibrary='" + deptLibrary + '\'' +
 			", deptClassCode='" + deptClassCode + '\'' +
+			", personApplyGroupCode=" + personApplyGroupCode +
+			", deptApplyGroupCode=" + deptApplyGroupCode +
 			", isUsedFlag=" + isUsedFlag +
 			'}';
 	}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
index 8f12082..69dba1b 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/resources/mapper/CodeCLassifyMapper.xml
@@ -408,7 +408,7 @@
             </foreach>
         </if>
         <if test="tenantId != null and tenantId != ''">
-            codeclassify0.tenant_id = #{tenantId}
+            and codeclassify0.tenant_id = #{tenantId}
         </if>
         order by id asc
     </select>

--
Gitblit v1.9.3