package com.weaver.seconddev.sxjg.util; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import java.util.ArrayList; import java.util.List; import java.util.Map; import java.util.UUID; @Component public class PersondataQueryUtil { private final Logger log = LoggerFactory.getLogger(PersondataQueryUtil.class); // public String queryNccloudPersondata(String body){ // // NccApiUtil nccApiUtil = new NccApiUtil(); // JSONObject resJsonObject = new JSONObject(); // try{ // JSONObject r3 = JSONUtil.parseObj(body); // nccApiUtil.init(); // String token = nccApiUtil.getToken(); // log.error("nccApiUtil-token:"+token); // // String url = nccApiUtil.getBaseUrl()+"nccloud/api/hrtrn/openAPI/persondata/query"; // String rs11 = nccApiUtil.doJsonPost(url,token,r3.toString()); // log.error("nccApiUtil-rs11:"+rs11); // // resJsonObject = JSONUtil.parseObj(rs11); // if("1000000000".equals(resJsonObject.getStr("code"))) { // JSONArray dataArrayOne = resJsonObject.getJSONArray("data"); // if(dataArrayOne!=null && dataArrayOne.size() > 0) { // for(int i = 0; i0) { // for(int j = 0; j re4 : re3.entrySet()){ // String key = re4.getKey(); // JSONObject re5 = re3.getJSONObject(key); // re5.put("isExamine",false); // } // } // } // } // } // nccApiUtil = new NccApiUtil(); // nccApiUtil.init(); // token = nccApiUtil.getToken(); // log.error("approveDetailVO-token:"+token); // url = nccApiUtil.getBaseUrl()+"nccloud/api/hrtrn/openAPI/psninfoedit/approveDetailVO"; // rs11 = nccApiUtil.doJsonPost(url,token,r3.toString()); // // log.error("approveDetailVO-rs11:"+rs11); // // JSONObject resJsonObject2= JSONUtil.parseObj(rs11); // if("1000000000".equals(resJsonObject2.getStr("code"))) { // JSONObject dataObj2 = resJsonObject2.getJSONObject("data"); // if(dataObj2.containsKey("data")) { // JSONObject dataObj21 = dataObj2.getJSONObject("data"); // //如果是基本信息查询 // if("bd_psndoc".equals(r3.getStr("tableCode"))) { // JSONArray afterdata = null; // if(dataObj21 != null && dataObj21.containsKey("afterData") && dataObj21.get("afterData") != null) { // afterdata = dataObj21.getJSONArray("afterData"); // } // if(afterdata != null && afterdata.size() > 0) { // dataArrayOne = resJsonObject.getJSONArray("data"); // if(dataArrayOne!=null && dataArrayOne.size() > 0) { // for(int i = 0; i0) { // for(int j = 0; j re4 : re3.entrySet()){ // String key = re4.getKey(); // JSONObject re5 = re3.getJSONObject(key); // for(int x = 0;x < afterdata.size();x ++) { // JSONObject afertObj = afterdata.getJSONObject(x); // String columnValue = afertObj.getStr("columnValue"); // String columnKey = afertObj.getStr("columnKey"); // if(columnKey!=null && columnKey.length()>0 && columnKey.equals(re5.getStr("key"))) { // re5.put("isExamine",true); // } // } // } // } // } // } // } // } // }else {//子级信息查询 // if(dataObj21.containsKey("changeTypeMap")){ // JSONObject changeData= dataObj21.getJSONObject("changeTypeMap"); // List shhs = new ArrayList<>(); // for(String key : changeData.keySet()) { // shhs.add(key); // } // if(shhs!=null && shhs.size()>0) { // if(dataArrayOne!=null && dataArrayOne.size() > 0) { // for(int i = 0; i0) { // for(int j = 0; j re4 : re3.entrySet()){ // String key = re4.getKey(); // JSONObject re5 = re3.getJSONObject(key); // re5.put("isExamine",true); // } // } // } // } // } // } // } // } // } // // // if(dataObj21.containsKey("changeData")){ // JSONArray changeDataArray = dataObj21.getJSONArray("changeData"); // JSONArray newArrayData = new JSONArray(); // for(int i=0;i re4 : changeDataObject.entrySet()){ // String changeDataKey = re4.getKey(); // String changeDataValue = changeDataObject.getStr(changeDataKey); // // if(changeDataValue.startsWith("{") && changeDataValue.endsWith("}")){ // JSONObject itemDataObject = JSONUtil.parseObj(changeDataValue); // // String name = itemDataObject.getStr("name"); // String pk = itemDataObject.getStr("pk"); // // JSONObject addDataObject = new JSONObject(); // addDataObject.set("isExamine",true); // addDataObject.set("label",name); // addDataObject.set("value",pk); // addDataObject.set("key",changeDataKey); // // JSONObject newDataObject = new JSONObject(); // newDataObject.set(changeDataKey,addDataObject); // newdataArray.add(newDataObject); // // }else{ // // if("lasteducation".equalsIgnoreCase(changeDataKey) && "hi_psndoc_edu".equals(r3.getStr("tableCode"))){ // JSONObject addDataObject = new JSONObject(); // addDataObject.set("isExamine",true); // if("Y".equalsIgnoreCase(changeDataValue)){ // changeDataValue = "是"; // }else if("N".equalsIgnoreCase(changeDataValue)){ // changeDataValue = "否"; // } // addDataObject.set("label",changeDataValue); // addDataObject.set("value",changeDataValue); // addDataObject.set("key",changeDataKey); // // JSONObject newDataObject = new JSONObject(); // newDataObject.set(changeDataKey,addDataObject); // newdataArray.add(newDataObject); // }else{ // JSONObject addDataObject = new JSONObject(); // addDataObject.set("isExamine",true); // addDataObject.set("label",changeDataValue); // addDataObject.set("value",changeDataValue); // addDataObject.set("key",changeDataKey); // // JSONObject newDataObject = new JSONObject(); // newDataObject.set(changeDataKey,addDataObject); // newdataArray.add(newDataObject); // } // // } // } // // dataJson.set("data",newdataArray); // // String uuid = UUID.randomUUID().toString(); // dataJson.set("rowDataPk",uuid); // newArrayData.add(dataJson); // } // } // } // log.error("newArrayData:"+newArrayData.toString()); // // if(newArrayData !=null && newArrayData.size()>0){ // dataArrayOne.addAll(newArrayData); // } // // log.error("dataArrayOne:"+dataArrayOne.toString()); // } // // // } // } // } // }catch (Exception e){ // e.printStackTrace(); // log.error("queryNccloudPersondata-e:"+e); // } // // return resJsonObject.toString(); // } public String queryNccloudPersondata(String body){ NccApiUtil nccApiUtil = new NccApiUtil(); JSONObject resJsonObject = new JSONObject(); try{ JSONObject r3 = JSONUtil.parseObj(body); nccApiUtil.init(); String token = nccApiUtil.getToken(); log.error("nccApiUtil-token:"+token); String url = nccApiUtil.getBaseUrl()+"nccloud/api/hrtrn/openAPI/persondata/query"; String rs11 = nccApiUtil.doJsonPost(url,token,r3.toString()); log.error("nccApiUtil-rs11:"+rs11); resJsonObject = JSONUtil.parseObj(rs11); if(resJsonObject.containsKey("code")){ if("1000000000".equals(resJsonObject.getStr("code"))) { JSONArray dataArrayOne = new JSONArray(); if(resJsonObject.containsKey("data")){ String data = resJsonObject.getStr("data"); log.error("nccApiUtil-rs11:"+data); boolean isArray = JSONUtil.isJsonArray(data); log.error("nccApiUtil-data:"+data); if (isArray) { dataArrayOne = resJsonObject.getJSONArray("data"); } } if(dataArrayOne!=null && dataArrayOne.size() > 0) { for(int i = 0; i0) { for(int j = 0; j re4 : re3.entrySet()){ String key = re4.getKey(); JSONObject re5 = re3.getJSONObject(key); re5.put("isExamine",false); } } } } } } nccApiUtil = new NccApiUtil(); nccApiUtil.init(); token = nccApiUtil.getToken(); log.error("approveDetailVO-token:"+token); url = nccApiUtil.getBaseUrl()+"nccloud/api/hrtrn/openAPI/psninfoedit/approveDetailVO"; rs11 = nccApiUtil.doJsonPost(url,token,r3.toString()); log.error("approveDetailVO-rs11:"+rs11); JSONObject resJsonObject2 = JSONUtil.parseObj(rs11); if(resJsonObject2.containsKey("code")){ if("1000000000".equals(resJsonObject2.getStr("code"))) { if(resJsonObject2.containsKey("data")){ JSONObject dataObj2 = resJsonObject2.getJSONObject("data"); if(dataObj2.containsKey("data")) { JSONObject dataObj21 = dataObj2.getJSONObject("data"); //如果是基本信息查询 if("bd_psndoc".equals(r3.getStr("tableCode"))) { JSONArray afterdata = new JSONArray(); JSONArray changeDataArray = new JSONArray(); if(dataObj21.containsKey("changedata")){ String changedata = dataObj21.getStr("changedata"); boolean isArray = JSONUtil.isJsonArray(changedata); log.error("nccApiUtil-changedata:"+changedata); if (isArray) { changeDataArray = dataObj21.getJSONArray("changedata"); for(int i = 0; i 0) { if(dataArrayOne!=null && dataArrayOne.size() > 0) { for(int i = 0; i0) { for(int j = 0; j re4 : re3.entrySet()){ String key = re4.getKey(); JSONObject re5 = re3.getJSONObject(key); for(int x = 0;x < afterdata.size();x ++) { JSONObject afertObj = afterdata.getJSONObject(x); String columnValue = afertObj.getStr("columnValue"); String columnKey = afertObj.getStr("columnKey"); if(columnKey!=null && columnKey.length()>0 && columnKey.equals(re5.getStr("key"))) { re5.put("isExamine",true); } } } } } } } } }else {//子级信息查询 if(dataObj21.containsKey("changeTypeMap")){ JSONObject changeData= dataObj21.getJSONObject("changeTypeMap"); List shhs = new ArrayList<>(); for(String key : changeData.keySet()) { shhs.add(key); } if(shhs!=null && shhs.size()>0) { if(dataArrayOne!=null && dataArrayOne.size() > 0) { for(int i = 0; i0) { for(int j = 0; j re4 : re3.entrySet()){ String key = re4.getKey(); JSONObject re5 = re3.getJSONObject(key); re5.put("isExamine",true); } } } } } } } } } if(!"bd_psndoc".equals(r3.getStr("tableCode"))){ if(dataObj21.containsKey("changeData")){ JSONArray changeDataArray = new JSONArray(); String changeData = dataObj21.getStr("changeData"); boolean isArray = JSONUtil.isJsonArray(changeData); if(isArray){ changeDataArray = dataObj21.getJSONArray("changeData"); } JSONArray newArrayData = new JSONArray(); for(int i=0;i re4 : changeDataObject.entrySet()){ String changeDataKey = re4.getKey(); String changeDataValue = changeDataObject.getStr(changeDataKey); if(changeDataValue.startsWith("{") && changeDataValue.endsWith("}")){ JSONObject itemDataObject = JSONUtil.parseObj(changeDataValue); String name = itemDataObject.getStr("name"); String pk = itemDataObject.getStr("pk"); JSONObject addDataObject = new JSONObject(); addDataObject.set("isExamine",true); addDataObject.set("label",name); addDataObject.set("value",pk); addDataObject.set("key",changeDataKey); JSONObject newDataObject = new JSONObject(); newDataObject.set(changeDataKey,addDataObject); newdataArray.add(newDataObject); }else{ if("lasteducation".equalsIgnoreCase(changeDataKey) && "hi_psndoc_edu".equals(r3.getStr("tableCode"))){ JSONObject addDataObject = new JSONObject(); addDataObject.set("isExamine",true); if("Y".equalsIgnoreCase(changeDataValue)){ changeDataValue = "是"; }else if("N".equalsIgnoreCase(changeDataValue)){ changeDataValue = "否"; } addDataObject.set("label",changeDataValue); addDataObject.set("value",changeDataValue); addDataObject.set("key",changeDataKey); JSONObject newDataObject = new JSONObject(); newDataObject.set(changeDataKey,addDataObject); newdataArray.add(newDataObject); }else{ JSONObject addDataObject = new JSONObject(); addDataObject.set("isExamine",true); addDataObject.set("label",changeDataValue); addDataObject.set("value",changeDataValue); addDataObject.set("key",changeDataKey); JSONObject newDataObject = new JSONObject(); newDataObject.set(changeDataKey,addDataObject); newdataArray.add(newDataObject); } } } dataJson.set("data",newdataArray); String uuid = UUID.randomUUID().toString(); dataJson.set("rowDataPk",uuid); newArrayData.add(dataJson); } } } log.error("newArrayData:"+newArrayData.toString()); if(newArrayData !=null && newArrayData.size()>0){ dataArrayOne.addAll(newArrayData); } log.error("dataArrayOne:"+dataArrayOne.toString()); } } } } } } resJsonObject.set("data",dataArrayOne); } } }catch (Exception e){ e.printStackTrace(); log.error("queryNccloudPersondata-e:"+e); } return resJsonObject.toString(); } }