| 
					
				 | 
			
			
				@@ -11,6 +11,7 @@ import kd.bos.logging.LogFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.orm.query.QCP; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.orm.query.QFilter; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.servicehelper.BusinessDataServiceHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import kd.bos.servicehelper.QueryServiceHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.servicehelper.operation.SaveServiceHelper; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import kd.bos.util.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import nckd.jimin.jyyy.bd.common.oauth.FanWeiUtils; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -80,8 +81,10 @@ public class SynSapServiceImpl implements SynSapService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DynamicObject parent = BusinessDataServiceHelper.loadSingle("bos_costcenter", new QFilter[]{new QFilter("number", QCP.equals, companyCode)}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         QFilter qFilter = new QFilter("number", QCP.in, costNumList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        // QFilter qFilter1 = new QFilter("accountorg.number", QCP.equals, companyCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        DynamicObject[] costDyns = BusinessDataServiceHelper.load("bos_costcenter", "id,masterid,parent,number,name,accountorg,orgduty,status,enable", new QFilter[]{qFilter}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Object> listIDs = QueryServiceHelper.queryPrimaryKeys("bos_costcenter",new QFilter[]{qFilter}, null, Integer.MAX_VALUE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        DynamicObject costDyn =  BusinessDataServiceHelper.newDynamicObject("bos_costcenter"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        DynamicObject[] costDyns = BusinessDataServiceHelper.load(listIDs.toArray(),costDyn.getDynamicObjectType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //DynamicObject[] costDyns = BusinessDataServiceHelper.load("bos_costcenter", "id,masterid,parent,number,name,accountorg,orgduty,status,enable", new QFilter[]{qFilter}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Map<String, DynamicObject> costMap = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 Arrays.stream(costDyns) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         .collect(Collectors.toMap( 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -151,7 +154,8 @@ public class SynSapServiceImpl implements SynSapService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (costList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Object[] save = SaveServiceHelper.save(costList.toArray(new DynamicObject[0])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            DynamicObject[] saveDynamicObject = costList.toArray(new DynamicObject[costList.size()]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Object[] save = SaveServiceHelper.save(saveDynamicObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             int length = save.length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             logger.info("同步[成本]完成,本次新增数量:{}," + err, length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             result.put("code", "200"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -200,7 +204,8 @@ public class SynSapServiceImpl implements SynSapService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (!"S".equals(etype)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             result.put("code", "301"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            result.put("msg", "同步SAP主数据_项目,E_TYPE:" + etype + ",错误信息:" + rData.getString("E_MESSGE")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            result.put("msg", "同步SAP主数据_项目,错误信息:" + rData.getString("E_MESSGE")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            logger.info("同步SAP主数据_项目,参数:E_TYPE:" + etype + ",错误信息:" + rData.getString("E_MESSGE")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return result; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -223,6 +228,8 @@ public class SynSapServiceImpl implements SynSapService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             JSONObject item = rItemArray.getJSONObject(i); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String number = item.getString("POSID"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             projectNumList.add(number); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //String parent = SyncSapUtils.getProjectNumberForParent(number); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //projectNumList.add(parent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //取组织对象 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         QFilter qf = new QFilter("number", QCP.equals, companyCode); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -230,7 +237,15 @@ public class SynSapServiceImpl implements SynSapService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         QFilter qFilter = new QFilter("number", QCP.in, projectNumList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         QFilter qFilter1 = new QFilter("org.number", QCP.equals, companyCode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        DynamicObject[] dyns = BusinessDataServiceHelper.load("bd_project", "id,number,name,fullname,parent,masterid,proleader,org,useorg,createorg,group,status,ctrlstrategy,level,isleaf,department,prostatus,enable", new QFilter[]{qFilter, qFilter1}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * 当存在对象与新增对象同时Save时,会报错,通过以下方式解决 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * 先用QueryServiceHelper查询出id,再用BusinessDataServiceHelper。这样就与新增的数据包保持一致了 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Object> listIDs = QueryServiceHelper.queryPrimaryKeys("bd_project",new QFilter[]{qFilter, qFilter1}, null, Integer.MAX_VALUE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        DynamicObject projectDyn =  BusinessDataServiceHelper.newDynamicObject("bd_project"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        DynamicObject[] dyns = BusinessDataServiceHelper.load(listIDs.toArray(),projectDyn.getDynamicObjectType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //DynamicObject[] dyns = BusinessDataServiceHelper.load("bd_project", "id,number,name,fullname,parent,masterid,proleader,org,useorg,createorg,group,status,ctrlstrategy,level,isleaf,department,prostatus,enable", new QFilter[]{qFilter, qFilter1}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Map<String, DynamicObject> projectMap = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 Arrays.stream(dyns) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -240,7 +255,8 @@ public class SynSapServiceImpl implements SynSapService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 (existing, replacement) -> existing // 保留前面的值 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         )); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        ArrayList<DynamicObject> projectList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<DynamicObject> projectList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Map<String, DynamicObject> parentMap = new HashMap<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         List<Object[]> useorgList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         StringBuilder err = new StringBuilder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -253,11 +269,12 @@ public class SynSapServiceImpl implements SynSapService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //if(!"CD20210404.2010.22".equals(number)) continue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //if(!"AT20180602.2010.10".equals(number)) continue;    ////用于测试 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String proleader = item.getString("USR03"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String department = item.getString("DEPARTMENT"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            String type = item.getString("ZBY2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String typeStr = item.getString("ZBY2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String type = SyncSapUtils.getType(typeStr); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String billstatus = item.getString("STATUS"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             DynamicObject proleaderDyn = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             DynamicObject departmentDyn = null; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -289,40 +306,43 @@ public class SynSapServiceImpl implements SynSapService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  * */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 DynamicObject parentDyn = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 String parent = SyncSapUtils.getProjectNumberForParent(number); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (StringUtils.isNotEmpty(parent)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    parentDyn = BusinessDataServiceHelper.newDynamicObject("bd_project"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    long Id = DB.genLongId("t_bd_project"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    parentDyn.set("id", Id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    parentDyn.set("masterid", Id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    parentDyn.set("number", parent); // 编号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    parentDyn.set("org", DEFAULT_ORG_ID);  //一级项目放在顶层组织下 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    parentDyn.set("createorg", DEFAULT_ORG_ID);  //一级项目放在顶层组织下 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (EmptyUtils.isNotEmpty(typeDyn)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        parentDyn.set("group", typeDyn);  ///项目分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    parentDyn.set("level", 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    parentDyn.set("isleaf", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    parentDyn.set("status", "C");        ///单据状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    parentDyn.set("ctrlstrategy", "5");  //控制策略  自由分配 2 全局共享 5  私有 7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    parentDyn.set("enable", "1");        //使用状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    // parentDyn.set("prostatus", "PASS_S"); //项目状态 PASS通过 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    parentDyn.set("name", parent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    parentDyn.set("fullname", parent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (EmptyUtils.isNotEmpty(proleaderDyn)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        parentDyn.set("proleader", proleaderDyn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (EmptyUtils.isNotEmpty(departmentDyn)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        parentDyn.set("department", departmentDyn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (EmptyUtils.isNotEmpty(projectStatusDyn)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        parentDyn.set("prostatus", projectStatusDyn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (EmptyUtils.isNotEmpty(srcSysDyn)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        parentDyn.set("systemtypebase", srcSysDyn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    projectList.add(parentDyn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (StringUtils.isNotEmpty(parent) ) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    parentDyn = parentMap.get(parent);  //会有多个相同的父项目,需要去重 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (parentDyn == null) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        parentDyn = BusinessDataServiceHelper.newDynamicObject("bd_project"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        long Id = DB.genLongId("t_bd_project"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        parentDyn.set("id", Id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        parentDyn.set("masterid", Id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        parentDyn.set("number", parent); // 编号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        parentDyn.set("org", DEFAULT_ORG_ID);  //一级项目放在顶层组织下 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        parentDyn.set("createorg", DEFAULT_ORG_ID);  //一级项目放在顶层组织下 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (EmptyUtils.isNotEmpty(typeDyn)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            parentDyn.set("group", typeDyn);  ///项目分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        parentDyn.set("level", 1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        parentDyn.set("isleaf", 0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        parentDyn.set("status", "C");        ///单据状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        parentDyn.set("ctrlstrategy", "5");  //控制策略  自由分配 2 全局共享 5  私有 7 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        parentDyn.set("enable", "1");        //使用状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        // parentDyn.set("prostatus", "PASS_S"); //项目状态 PASS通过 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        parentDyn.set("name", parent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        parentDyn.set("fullname", parent); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (EmptyUtils.isNotEmpty(proleaderDyn)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            parentDyn.set("proleader", proleaderDyn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (EmptyUtils.isNotEmpty(departmentDyn)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            parentDyn.set("department", departmentDyn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (EmptyUtils.isNotEmpty(projectStatusDyn)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            parentDyn.set("prostatus", projectStatusDyn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (EmptyUtils.isNotEmpty(srcSysDyn)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            parentDyn.set("systemtypebase", srcSysDyn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        parentMap.put(parent, parentDyn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        projectList.add(parentDyn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 /*** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  * 处理二级项目,如果项目编码中包含点,则需要处理上级项目 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -332,7 +352,7 @@ public class SynSapServiceImpl implements SynSapService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 dyn.set("id", Id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 dyn.set("masterid", Id); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (EmptyUtils.isNotEmpty(parentDyn)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    dyn.set("parent", parentDyn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    dyn.set("parent", parentDyn.getPkValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 dyn.set("number", number); // 编号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 dyn.set("org", companyDyn.getPkValue()); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -341,7 +361,7 @@ public class SynSapServiceImpl implements SynSapService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 dyn.set("createorg", companyDyn.getPkValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 dyn.set("useorg", companyDyn.getPkValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (EmptyUtils.isNotEmpty(typeDyn)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    dyn.set("group", typeDyn);  ///项目分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    dyn.set("group", typeDyn.getPkValue());  ///项目分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 dyn.set("status", "C");        ///单据状态 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 dyn.set("ctrlstrategy", "7");  //控制策略  自由分配 2 全局共享 5  私有 7 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -360,22 +380,27 @@ public class SynSapServiceImpl implements SynSapService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             dyn.set("name", item.getString("POST1")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             dyn.set("fullname", item.getString("POST1")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (EmptyUtils.isNotEmpty(proleaderDyn)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                dyn.set("proleader", proleaderDyn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                dyn.set("proleader", proleaderDyn.getPkValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (EmptyUtils.isNotEmpty(departmentDyn)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                dyn.set("department", departmentDyn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                dyn.set("department", departmentDyn.getPkValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (EmptyUtils.isNotEmpty(projectStatusDyn)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                dyn.set("prostatus", projectStatusDyn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                dyn.set("prostatus", projectStatusDyn.getPkValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (EmptyUtils.isNotEmpty(srcSysDyn)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                dyn.set("systemtypebase", srcSysDyn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                dyn.set("systemtypebase", srcSysDyn.getPkValue()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             projectList.add(dyn); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         * 保存项目 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+         */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if (projectList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Object[] save = SaveServiceHelper.save(projectList.toArray(new DynamicObject[0])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // 将saveList转为数组 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            DynamicObject[] saveDynamicObject = projectList.toArray(new DynamicObject[projectList.size()]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Object[] save = SaveServiceHelper.save(saveDynamicObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             int length = save.length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             logger.info("同步[项目]完成,本次新增数量:{}," + err, length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             result.put("code", "200"); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -497,7 +522,12 @@ public class SynSapServiceImpl implements SynSapService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             speakerIdList.add(sfzh); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         QFilter qFilter = new QFilter("number", QCP.in, speakerIdList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        DynamicObject[] speakerDyns = BusinessDataServiceHelper.load("nckd_speaker", "id,number,name,status,creator,enable,nckd_pdjb,nckd_zlly,nckd_shdw,nckd_rzyy", new QFilter[]{qFilter}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Object> listIDs = QueryServiceHelper.queryPrimaryKeys("nckd_speaker",new QFilter[]{qFilter}, null, Integer.MAX_VALUE); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        DynamicObject speakerDyn =  BusinessDataServiceHelper.newDynamicObject("nckd_speaker"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        DynamicObject[] speakerDyns = BusinessDataServiceHelper.load(listIDs.toArray(),speakerDyn.getDynamicObjectType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //QFilter qFilter = new QFilter("number", QCP.in, speakerIdList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //DynamicObject[] speakerDyns = BusinessDataServiceHelper.load("nckd_speaker", "id,number,name,status,creator,enable,nckd_pdjb,nckd_zlly,nckd_shdw,nckd_rzyy", new QFilter[]{qFilter}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Map<String, DynamicObject> speakerMap = 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 Arrays.stream(speakerDyns) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         .collect(Collectors.toMap( 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -564,7 +594,9 @@ public class SynSapServiceImpl implements SynSapService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         case "4": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             dyn.set("nckd_pdjb","普通级"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        default:break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            dyn.set("nckd_pdjb",zjpdjb); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //数据状态 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -577,7 +609,8 @@ public class SynSapServiceImpl implements SynSapService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(speakerDynList.size()>0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Object[] save = SaveServiceHelper.save(speakerDynList.toArray(new DynamicObject[0])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            DynamicObject[] saveDynamicObject = speakerDynList.toArray(new DynamicObject[speakerDynList.size()]); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Object[] save = SaveServiceHelper.save(saveDynamicObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             int length = save.length; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             logger.info("同步[讲者]完成,本次新增数量:{},"+err, length); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             result.put("code", "200"); 
			 |