//package com.muzhi.huanshi.APITest; // //import cn.hutool.core.date.DateTime; //import cn.hutool.core.date.DateUtil; //import cn.hutool.core.thread.ThreadUtil; //import com.alibaba.fastjson.JSON; //import com.alibaba.fastjson.JSONArray; //import com.alibaba.fastjson.JSONObject; //import com.aliyun.dingtalkyida_1_0.models.*; //import com.aliyun.tea.TeaException; //import com.aliyun.teautil.models.RuntimeOptions; //import com.auth0.jwt.JWT; //import com.auth0.jwt.algorithms.Algorithm; //import com.dingtalk.api.DefaultDingTalkClient; //import com.dingtalk.api.DingTalkClient; //import com.dingtalk.api.request.*; //import com.dingtalk.api.response.*; //import com.muzhi.huanshi.service.AccessTokenService; //import com.taobao.api.ApiException; //import com.taobao.api.internal.util.StringUtils; //import lombok.extern.slf4j.Slf4j; //import okhttp3.*; //import org.apache.commons.codec.digest.DigestUtils; //import org.apache.commons.lang.StringEscapeUtils; //import org.apache.poi.ss.formula.functions.T; //import org.jacoco.agent.rt.internal_035b120.core.internal.flow.IFrame; //import org.junit.jupiter.api.Test; //import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.boot.test.context.SpringBootTest; // //import java.io.IOException; //import java.math.BigDecimal; //import java.math.RoundingMode; //import java.text.DateFormat; //import java.text.DecimalFormat; //import java.text.SimpleDateFormat; //import java.util.*; //import java.util.concurrent.ExecutorService; //import java.util.concurrent.Executors; //import java.util.concurrent.TimeUnit; // //@SpringBootTest //@Slf4j //public class Test1 { // // @Autowired // private AccessTokenService accessTokenService; // // @Test // public void panduan(){ // //判断日期是否为周六周日 // String date = "2022-10-08 00:00:00"; // DateFormat format = new SimpleDateFormat("yyyy-MM-dd"); // Date date1 = null; // try { // date1 = format.parse(date); // System.out.println("date1:" + date1); // }catch (Exception e){ // e.printStackTrace(); // } // Calendar calendar = Calendar.getInstance(); // calendar.setTime(date1); // // if (calendar.get(Calendar.DAY_OF_WEEK)==Calendar.SATURDAY||calendar.get(Calendar.DAY_OF_WEEK)==Calendar.SUNDAY){ // System.out.println("当前日期为周六周日!"); // }else { // System.out.println("当前日期为工作日"); // } // } // // @Test // public void date(){ // int dkcs = 5; // int ccts = 0; // // dkcs = dkcs/2; // int dkcsLast = (int)dkcs; // // // if (dkcs > 0){ // //实际出差天数 // ccts = ccts + dkcsLast; // System.out.println("实际出差天数:" + ccts); // } // // SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // long startLong = new Long("1670342400000"); // //将时间戳转换为时间 // Date startDate = new Date(startLong); // System.out.println("出差开始时间(时间型):" + startDate); // //将时间调整为yyyy-MM-dd HH:mm:ss时间样式 // String startString = simpleDateFormat.format(startDate); // System.out.println("出差开始时间(时间样式):" + startString); // // long endLong = new Long("1670428800000"); // //将时间戳转换为时间 // Date endDate = new Date(endLong); // System.out.println("出差结束时间(时间型):" + endDate); // //将时间调整为yyyy-MM-dd HH:mm:ss时间样式 // String endString = simpleDateFormat.format(endDate); // System.out.println("出差结束时间(时间样式):" + endString); // // Calendar calendar1 = Calendar.getInstance(); // calendar1.setTime(endDate); // //后面一天 // calendar1.add(Calendar.DAY_OF_MONTH,1); // calendar1.set(Calendar.HOUR_OF_DAY,0); // calendar1.set(Calendar.MINUTE,0); // calendar1.set(Calendar.SECOND,0); // calendar1.set(Calendar.MILLISECOND,0); // String time1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar1.getTime()); // System.out.println("出差结束时间后面一天零点:" + time1); // // DateTime lastDateTime = DateUtil.parse(time1); // System.out.println("出差结束时间后面一天(时间型):" + lastDateTime); // // //获取当天前一天的零点零分零秒 // Date Date = new Date(System.currentTimeMillis()); // System.out.println("当前时间:" + Date); // String dateNowString = simpleDateFormat.format(Date); // System.out.println("当前时间(时间样式):" + dateNowString); // // Calendar calendar = Calendar.getInstance(); // calendar.setTime(Date); // //前一天 // calendar.add(Calendar.DAY_OF_MONTH,-1); // calendar.set(Calendar.HOUR_OF_DAY,0); // calendar.set(Calendar.MINUTE,0); // calendar.set(Calendar.SECOND,0); // calendar.set(Calendar.MILLISECOND,0); // String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar.getTime()); // System.out.println("前一天零点:" + time); // // Calendar calendar111 = Calendar.getInstance(); // calendar111.setTime(Date); // //前一个月第一天 // calendar111.add(Calendar.MONTH,-1); // calendar111.set(Calendar.DAY_OF_MONTH,1); // calendar111.set(Calendar.HOUR_OF_DAY,0); // calendar111.set(Calendar.MINUTE,0); // calendar111.set(Calendar.SECOND,0); // calendar111.set(Calendar.MILLISECOND,0); // String FORMtime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar111.getTime()); // System.out.println("前一个月第一天零点:" + FORMtime); // // Calendar calendar222 = Calendar.getInstance(); // int month222 = calendar222.get(Calendar.MONTH); // //前一个月最后一天 // calendar222.set(Calendar.MONTH,month222-1); // calendar222.set(Calendar.DAY_OF_MONTH,calendar222.getActualMaximum(Calendar.DAY_OF_MONTH)); // calendar222.set(Calendar.HOUR_OF_DAY,0); // calendar222.set(Calendar.MINUTE,0); // calendar222.set(Calendar.SECOND,0); // calendar222.set(Calendar.MILLISECOND,0); // String TOtime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar222.getTime()); // System.out.println("前一个月最后一天零点:" + TOtime); // } // // //MD5加密 // @Test // public void MD5(){ // // /*明文 // * timestamp毫秒级时间戳 // * */ // //当前时间的时间戳 // long timeMillis = System.currentTimeMillis(); // String timestamp = String.valueOf(timeMillis); // log.info("当前时间的时间戳(毫秒级):" + timestamp); // // /*秘钥 // * AppSecret应用秘钥 // * */ // String AppSecret = "f7585e1f2c4c25682f407af23b7ff7d5f21f4f9e3715c294"; // // //加密后的字符串 // String encodeStr= DigestUtils.md5Hex(AppSecret + "_" + timestamp); // log.info("MD5加密后的字符串encodeStr:" + encodeStr); // // Map map = new HashMap(); // map.put("appKey","shbqv00tso4dg5kcjz"); // map.put("timestamp",timestamp); // map.put("verifyCode",encodeStr); // String parmsStr = JSON.toJSONString(map); // log.info("封装秘钥参数parmsStr:" + parmsStr); // // //售后宝【接口授权】 // //授权码 // String access_token = null; // //失效时间 // String expire_time = null; // try { // OkHttpClient client = new OkHttpClient().newBuilder() // .build(); // MediaType mediaType = MediaType.parse("application/json"); // RequestBody body = RequestBody.create(mediaType, parmsStr); // Request request = new Request.Builder() // .url("https://oapi.shb.ltd/service/auth/get_access_token") // .method("POST", body) // .addHeader("Content-Type", "application/json") // .addHeader("Cookie", "acw_tc=0a45662a16728986832314856e80f39124201b89184960430078b3ebfda740") // .build(); // // Response response = client.newCall(request).execute(); // String responseBody = response.body().string(); // log.info("售后宝【接口授权】返回信息:" + responseBody); // String substring1 = responseBody.substring(1, responseBody.length() - 1); // log.info("去除首尾双引号后的返回信息:" + substring1); // String substring2 = substring1.replaceAll("\\\\", ""); // log.info("去除转义字符后的返回信息:" + substring2); // // JSONObject jsonObject = JSON.parseObject(substring2); // JSONObject data = jsonObject.getJSONObject("data"); // //授权码 // access_token = data.getString("access_token"); // //失效时间 // expire_time = data.getString("expire_time"); // }catch (Exception e){ // e.printStackTrace(); // } // // SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); // long endLong = new Long(expire_time); // //将时间戳转换为时间 // Date endDate = new Date(endLong); // System.out.println("授权码失效时间(时间型):" + endDate); // //将时间调整为yyyy-MM-dd HH:mm:ss时间样式 // String endString = simpleDateFormat.format(endDate); // System.out.println("授权码失效时间(时间样式):" + endString); // log.info("【授权码】:" + access_token + "【失效时间】:" + endString); // } // // //【客户列表】 // @Test // public void getKehuList(){ // Map map = new HashMap(); // map.put("pageSize",50); // map.put("pageNum",1); // map.put("keyword","KH20230607020507345"); // // String jsonString = JSON.toJSONString(map); // System.out.println("封装的客户列表查询接口条件参数:" + jsonString); // // OkHttpClient client = new OkHttpClient().newBuilder() // .build(); // MediaType mediaType = MediaType.parse("application/json"); // RequestBody body = RequestBody.create(mediaType, jsonString); // Request request = new Request.Builder() // .url("https://oapi.shb.ltd/service/customer/get_customers?accessToken=4da6f063-5083-481f-8e0a-be59d41eea40") // .method("POST", body) // .addHeader("Content-Type", "application/json") // .build(); // // try { // Response response = client.newCall(request).execute(); // String responseBody = response.body().string(); // log.info("售后宝【客户列表】返回信息:" + responseBody); // }catch (Exception e){ // e.printStackTrace(); // } // } // // //根据客户编号查询售后宝客户是否存在 // @Test // public void getKehuBoolean(){ // // //售后宝授权码 // String shouhoubaoAccessToken = "46998202-77f4-4943-a2a3-61a3a96a0959"; // //客户编号 // String khbh = "KH001"; // // OkHttpClient client = new OkHttpClient().newBuilder() // .build(); // Request request = new Request.Builder() // .url("https://oapi.shb.ltd/service/customer/get_customer_customerNo?accessToken="+shouhoubaoAccessToken+ // "&customerNo="+khbh) // .method("GET", null) // .build(); // // boolean flag = false; // try { // Response response = client.newCall(request).execute(); // String responseBody = response.body().string(); // log.info("售后宝【客户详情】返回信息:" + responseBody); // String substring1 = responseBody.substring(1, responseBody.length() - 1); // log.info("去除首尾双引号后的返回信息:" + substring1); // String substring2 = substring1.replaceAll("\\\\", ""); // log.info("去除转义字符后的返回信息:" + substring2); // // JSONObject jsonObject = JSON.parseObject(substring2); // Integer errorCode = jsonObject.getInteger("errorCode"); // if (errorCode == 0){ // System.out.println("当前客户在售后宝【已存在】!"); // flag = true; // }else { // System.out.println("当前客户在售后宝【不存在】!"); // flag = false; // } // // System.out.println("根据客户编号查询售后宝客户是否存在(true存在;false不存在):" + flag); // }catch (Exception e){ // e.printStackTrace(); // } // // } // // //【售后宝人员ID】 // @Test // public void getSHBid(){ // // int pageNum = 1; // int pageSize = 50; // // //根据售人员姓名进行匹配查询售后宝人员id // String userName = "牧之"; // List list = new ArrayList(); // list.add(userName); // // Map map = new HashMap(); // map.put("pageNum",pageNum); // map.put("pageSize",pageSize); // map.put("userNameList",list); // // //根据售售后宝人员userid进行匹配查询售后宝人员信息 //// String userid = "f58e62b5-a843-11ed-bdbf-00163e179ed7"; //// List list = new ArrayList(); //// list.add(userid); //// //// Map map = new HashMap(); //// map.put("pageNum",pageNum); //// map.put("pageSize",pageSize); //// map.put("userIds",list); // // String bodyStr = JSON.toJSONString(map); // // String userId = null; // // OkHttpClient client = new OkHttpClient().newBuilder() // .build(); // MediaType mediaType = MediaType.parse("application/json"); // RequestBody body = RequestBody.create(mediaType, bodyStr); // Request request = new Request.Builder() // .url("https://oapi.shb.ltd/service/user/get_user_params?accessToken=f3fa69d7-b152-4e5d-9659-4208dc4c7296") // .method("POST", body) // .addHeader("Content-Type", "application/json") // .build(); // // try { // Response response = client.newCall(request).execute(); // String responseBody = response.body().string(); // log.info("售后宝【人员列表】返回信息:" + responseBody); // String substring1 = responseBody.substring(1, responseBody.length() - 1); // log.info("去除首尾双引号后的返回信息:" + substring1); // String substring2 = substring1.replaceAll("\\\\", ""); // log.info("去除转义字符后的返回信息:" + substring2); // // JSONObject jsonObject = JSON.parseObject(substring2); // JSONObject data = jsonObject.getJSONObject("data"); //// System.out.println("data===" + data); // // userId = data.getJSONArray("list").getJSONObject(0).getString("userId"); // System.out.println("售后宝人员userId:" + userId); // }catch (Exception e){ // e.printStackTrace(); // } // //// return userId;f58e62b5-a843-11ed-bdbf-00163e179ed7 // } // // //【工单类型】 // @Test // public void getGongdanType(){ // OkHttpClient client = new OkHttpClient().newBuilder() // .build(); // Request request = new Request.Builder() // .url("https://oapi.shb.ltd/service/task/get_task_types?accessToken=0824c173-62f3-4ad5-a2d0-dc2d03fa8e6c") // .method("GET", null) // .build(); // // try { // Response response = client.newCall(request).execute(); // String responseBody = response.body().string(); // log.info("售后宝【工单类型】返回信息:" + responseBody); // }catch (Exception e){ // e.printStackTrace(); // } // } // // //【创建工单】 // @Test // public void addGongdan(){ // // /* // 【创建工单json参数】 // { // "cusNo":"KH000384", // "cusName":"上海松江区就业促进中心", // "address":"上海市-市辖区-松江区-荣乐东路2378号1/2/3/6楼", // "lmName":"闻老师", // "lmPhone":"15800656968", // "templateId":"279bb347-913e-4627-bffc-605317774885", // "templateName":"安装工单", // "planTime":"2023-03-19", // "productIds": ["a0a6c248-f5f5-11ed-ae93-00163e1537d3","4ef0ee3f-f619-11ed-996b-00163e17c56d"], // "attribute": { // "field_DfIX3Gg9ziTYZQpY": ["有水","有电"] // } // } // */ // // OkHttpClient client = new OkHttpClient().newBuilder() // .build(); // MediaType mediaType = MediaType.parse("application/json"); // RequestBody body = RequestBody.create(mediaType, " {\n" + // " \"cusNo\":\"KH000384\",\n" + // " \"cusName\":\"上海松江区就业促进中心\",\n" + // " \"address\":\"上海市-市辖区-松江区-荣乐东路2378号1/2/3/6楼\",\n" + // " \"lmName\":\"闻老师\",\n" + // " \"lmPhone\":\"15800656968\",\n" + // " \"templateId\":\"279bb347-913e-4627-bffc-605317774885\",\n" + // " \"templateName\":\"安装工单\",\n" + // " \"planTime\":\"2023-03-19\",\n" + // " \"productIds\": [\"a0a6c248-f5f5-11ed-ae93-00163e1537d3\",\"4ef0ee3f-f619-11ed-996b-00163e17c56d\"],\n" + // " \"attribute\": {\n" + // " \"field_DfIX3Gg9ziTYZQpY\": [\"有水\",\"有电\"]\n" + // " }\n" + // " }"); // Request request = new Request.Builder() // .url("https://oapi.shb.ltd/service/task/create_task_v2?accessToken=88ee3824-1fd4-4209-811f-03b9a0b5d98c") // .method("POST", body) // .addHeader("Content-Type", "application/json") // .build(); // // try { // Response response = client.newCall(request).execute(); // String responseBody = response.body().string(); // log.info("售后宝【创建工单】返回信息:" + responseBody); // }catch (Exception e){ // e.printStackTrace(); // } // } // // //sha256加密测试 // @Test // public void sha256test(){ // // //sha256加密 // /*明文 // * timestamp毫秒级时间戳 // * */ // //当前时间的时间戳 // long timeMillis = System.currentTimeMillis(); // String timestamp = String.valueOf(timeMillis); // log.info("当前时间的时间戳(毫秒级):" + timestamp); // // String qingqiu = "{\"mihome\": 112,\"date\": \"2023-01-01\"}"; // // /*秘钥 // * AppSecret应用秘钥 // * */ // String AppSecret = "uFW0o8ALNiwZAT9saHUD"; // // //加密后的字符串 // String encodeStr= DigestUtils.sha256Hex(qingqiu + "|" + AppSecret); // log.info("sha256加密后的字符串encodeStr:" + encodeStr); // } // // @Test // public void AA(){ // // /*明文 // * 时间型:yyyy-MM-dd-HH // * */ // SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd-HH"); // Date Date = new Date(System.currentTimeMillis()); // System.out.println("当前时间:" + Date); // String dateNowString = simpleDateFormat.format(Date); // System.out.println("当前时间(时间样式:yyyy-MM-dd-HH)" + dateNowString); // // /*秘钥 // * 系统id和Secret密钥 // * */ // String SystemId = "6CBAC3D3-F055-6150-E3C9-142FB65524B5"; // String secret = "c2Vhc2t5Y29udHJhY3RhcGk="; // // //加密后的字符串 // String encodeStr= DigestUtils.md5Hex(SystemId + "|" + dateNowString + "|" + secret); // log.info("MD5加密后的字符串encodeStr:" + encodeStr); // } // // public static com.aliyun.dingtalkyida_1_0.Client createClient() throws Exception { // com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config(); // config.protocol = "https"; // config.regionId = "central"; // return new com.aliyun.dingtalkyida_1_0.Client(config); // } // // //获取审批实例详情 // @Test // public void getShenpi(){ // // JSONObject jsonObject = null; // // int size = 100; // int page = 1; // // do { // try { // com.aliyun.dingtalkyida_1_0.Client client = createClient(); // com.aliyun.dingtalkyida_1_0.models.SearchFormDatasHeaders searchFormDatasHeaders = new com.aliyun.dingtalkyida_1_0.models.SearchFormDatasHeaders(); // searchFormDatasHeaders.xAcsDingtalkAccessToken = accessTokenService.getAccessToken(); // com.aliyun.dingtalkyida_1_0.models.SearchFormDatasRequest searchFormDatasRequest = new com.aliyun.dingtalkyida_1_0.models.SearchFormDatasRequest() // //宜搭应用秘钥 // .setSystemToken("RH766AC1Z0P6IBWRFIA885XCULUV275UHT5CLYF") // //每页查询数量 // .setPageSize(size) // //当前分页 // .setCurrentPage(page) // //宜搭表单ID // .setFormUuid("FORM-FDA66N81C5V672VY53J7D7ZBSIC63EQHRT5CL0") // //TODO 系统管理员id // .setUserId("yida_pub_account") // //宜搭应用编码 // .setAppType("APP_EXJ5WMWZ18FS1F2UFOHN"); // // SearchFormDatasResponse searchFormDatasResponse = client.searchFormDatasWithOptions(searchFormDatasRequest, searchFormDatasHeaders, new RuntimeOptions()); // System.out.println(JSON.toJSONString(searchFormDatasResponse.getBody())); // String s = JSON.toJSONString(searchFormDatasResponse.getBody()); // jsonObject = JSON.parseObject(s); // System.out.println("审批详情接口object对象:" + jsonObject); // } catch (TeaException err) { // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } catch (Exception _err) { // TeaException err = new TeaException(_err.getMessage(), _err); // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } // // JSONArray data = jsonObject.getJSONArray("data"); // for (int i = 0; data.size()>i; i++){ // // JSONObject formData = data.getJSONObject(i).getJSONObject("formData"); // // String khbh = formData.getString("textField_lhemu0bf"); // System.out.println("客户编号:" + khbh); // // String khmc = formData.getString("textField_lc5vdt71"); // System.out.println("客户名称:" + khmc); // // // //客户联系人列表 // JSONArray tableField_le6s0mhc = formData.getJSONArray("tableField_le6s0mhc"); // JSONObject jsonObject1 = tableField_le6s0mhc.getJSONObject(0); // //客户联系人姓名 // String khlxr = jsonObject1.getString("textField_lc5vdt76"); // System.out.println("客户联系人姓名:" + khlxr); // //客户联系人电话 // String khlxrdh = jsonObject1.getString("textField_lc5vdt77"); // System.out.println("客户联系人电话:" + khlxrdh); // // // String khdz = formData.getString("textField_lfj2zo84"); // System.out.println("客户地址:" + khdz); // // // // String khfzrmc = formData.getJSONArray("employeeField_lc5vdt7w").getString(0); // System.out.println("客户负责人姓名:" + khfzrmc); // // // /*根据客户负责人姓名来匹配售后宝的人员ID*/ // //休眠1秒后,进行调用【获取售后宝人员ID】 // try { // log.info("休眠中,时长为:1秒..."); // Thread.sleep(1000); // }catch (Exception e){ // e.printStackTrace(); // } // log.info("根据客户负责人姓名来匹配售后宝的人员ID===>"); // // int pageNum = 1; // int pageSize = 50; // // String userName = khfzrmc; // List list = new ArrayList(); // list.add(userName); // // Map map = new HashMap(); // map.put("pageNum",pageNum); // map.put("pageSize",pageSize); // map.put("userNameList",list); // // String bodyStr = JSON.toJSONString(map); // // String userId = null; // // try { // OkHttpClient client = new OkHttpClient().newBuilder() // .build(); // MediaType mediaType = MediaType.parse("application/json"); // RequestBody body = RequestBody.create(mediaType, bodyStr); // Request request = new Request.Builder() // .url("https://oapi.shb.ltd/service/user/get_user_params?accessToken=6ff00058-58a9-49a3-b354-e9fb1f507f5a") // .method("POST", body) // .addHeader("Content-Type", "application/json") // .build(); // // // Response response = client.newCall(request).execute(); // String responseBody = response.body().string(); // log.info("售后宝【人员列表】返回信息:" + responseBody); // String substring1 = responseBody.substring(1, responseBody.length() - 1); // log.info("去除首尾双引号后的返回信息:" + substring1); // String substring2 = substring1.replaceAll("\\\\", ""); // log.info("去除转义字符后的返回信息:" + substring2); // // JSONObject jsonObject111 = JSON.parseObject(substring2); // JSONObject data111 = jsonObject111.getJSONObject("data"); //// System.out.println("data===" + data); // // userId = data111.getJSONArray("list").getJSONObject(0).getString("userId"); // System.out.println("售后宝人员userId:" + userId); // }catch (Exception e){ // e.printStackTrace(); // } // /*根据客户负责人姓名来匹配售后宝的人员ID*/ // // // String htqydw = formData.getString("selectField_lc5vdt7v"); // System.out.println("合同签约单位:" + htqydw); // // /*调用售后宝【客户新增】接口*/ // //封装售后宝客户新增接口需要的参数 // Map map2 = new HashMap(); // map2.put("field_2L1hdL8o2Gz563tQ",htqydw); // // Map map1 = new HashMap(); // //客户编号 // map1.put("serialNumber",khbh); // //客户名称 // map1.put("name",khmc); // //客户联系人 // map1.put("lmName",khlxr); // //客户联系电话 // map1.put("lmPhone",khlxrdh); // //客户地址 // map1.put("address",khdz); // //客户负责人(售后宝人员id) // map1.put("customerManager",userId); // //客户负责人姓名 // map1.put("customerManagerName",khfzrmc); // //合同签约单位(单选项匹配) // map1.put("attribute",map2); // // String jsonString = JSON.toJSONString(map1); // System.out.println("封装售后宝客户新增接口需要的参数:" + jsonString); // // //休眠1秒后,进行调用【客户新增】接口 // try { // log.info("休眠中,时长为:1秒..."); // Thread.sleep(1000); // }catch (Exception e){ // e.printStackTrace(); // } // log.info("调用售后宝【客户新增】接口===>"); // try { // OkHttpClient client = new OkHttpClient().newBuilder() // .build(); // MediaType mediaType = MediaType.parse("application/json"); // RequestBody body = RequestBody.create(mediaType, jsonString); // Request request = new Request.Builder() // .url("https://oapi.shb.ltd/service/customer/createV2?accessToken=6ff00058-58a9-49a3-b354-e9fb1f507f5a") // .method("POST", body) // .addHeader("Content-Type", "application/json") // .build(); // Response response = client.newCall(request).execute(); // String responseBody = response.body().string(); // log.info("售后宝【客户新增】接口返回信息:" + responseBody); // }catch (Exception e){ // e.printStackTrace(); // } // /*调用售后宝【客户新增】接口*/ // // } // // if (data.size() == 100){ // page = page + 1; // } // //// float aa = jsonObject.getFloat("totalCount") / 100; //// int bb = jsonObject.getInteger("currentPage"); //// log.info("aa" + aa + "---bb" + bb); // }while (jsonObject.getFloat("totalCount") / 100 > jsonObject.getInteger("currentPage")); // // // System.out.println("同步【宜搭客户信息至售后宝】完成!"); // } // // //更新售后宝客户信息接口 // @Test // public void updateKehu(){ // /*调用售后宝【客户更新】接口*/ // //封装售后宝客户更新接口需要的参数 //// Map map2 = new HashMap(); //// map2.put("field_2L1hdL8o2Gz563tQ",htqydw); //// //// Map map1 = new HashMap(); //// //客户编号 //// map1.put("serialNumber",khbh); //// //客户名称 //// map1.put("name",khmc); //// //客户联系人 //// map1.put("lmName",khlxrStr); //// //客户联系电话 //// map1.put("lmPhone",khlxrdhStr); //// //客户地址 //// map1.put("address",khdz); //// //客户负责人(售后宝人员id) //// map1.put("customerManager",shBid); //// //客户负责人姓名 //// map1.put("customerManagerName",khfzrxm); //// //合同签约单位(单选项匹配) //// map1.put("attribute",map2); // //// String jsonString = JSON.toJSONString(map1); // String jsonString = "{\"customerNo\":\"KH20230607020507345\",\"address\":\"上海市浦东新区曹路镇AAA号\",\"lmPhone\":\"15200000000\",\"customerManager\":\"be8d91b5-85a9-11ed-b57f-00163e0b3979\",\"name\":\"测试客户名称AAA\",\"attribute\":{\"field_2L1hdL8o2Gz563tQ\":\"上海另爱实业有限公司\"},\"lmName\":\"联系人AAA\",\"customerManagerName\":\"孟慧菲\"}";//TODO 测试使用! // System.out.println("封装售后宝客户更新接口需要的参数:" + jsonString); // // //休眠1秒后,进行调用【客户新增】接口 // try { // log.info("休眠中,时长为:1秒..."); // Thread.sleep(1000); // }catch (Exception e){ // e.printStackTrace(); // } // log.info("调用售后宝【客户更新】接口===>"); // try { // OkHttpClient client = new OkHttpClient().newBuilder() // .build(); // MediaType mediaType = MediaType.parse("application/json"); // RequestBody body = RequestBody.create(mediaType, jsonString); // Request request = new Request.Builder() // .url("https://oapi.shb.ltd/service/customer/update_customer?accessToken=4da6f063-5083-481f-8e0a-be59d41eea40") // .method("POST", body) // .addHeader("Content-Type", "application/json") // .build(); // Response response = client.newCall(request).execute(); // String responseBody = response.body().string(); // log.info("售后宝【客户更新】接口返回信息:" + responseBody); // }catch (Exception e){ // e.printStackTrace(); // } // /*调用售后宝【客户更新】接口*/ // } // // @Test // public void XXX(){ // //获取钉钉授权码 // String accessToken = null; // DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/gettoken"); // OapiGettokenRequest request = new OapiGettokenRequest(); // request.setAppkey("dingwkpw32zomzvufilo"); // request.setAppsecret("Zc5thIhmxXUHVibMJ-Ft8RxHefKDlXs6x5TvOvjJbRaZ25TDmCFU4BKmqOBqAHF6"); // request.setHttpMethod("GET"); // try { // OapiGettokenResponse response = client.execute(request); // accessToken = response.getAccessToken(); // System.out.println("AccessToken:" + accessToken); // } catch (ApiException e) { // e.printStackTrace(); // } // // //获取宜搭表单数据,更新经纬度坐标 // JSONObject jsonObject = null; // // //封装查询条件 // List listAll = new ArrayList(); // //创建时间(系统字段) //// Map map1 = new HashMap(); //// map1.put("key","createTime"); //// map1.put("value",1688003940000l); //// map1.put("type","DOUBLE"); //// map1.put("operator","le"); //// map1.put("componentName","DateField"); //// listAll.add(map1); // //// PC 绵阳百盛(CAXD) // // Map map1 = new HashMap(); // map1.put("key","textField_ljghmc0e"); // map1.put("value"," "); // map1.put("type","TEXT"); // map1.put("operator","eq"); // map1.put("componentName","textField"); // listAll.add(map1); // // String jsonStr = JSON.toJSONString(listAll); // System.out.println("封装的查询参数:" + jsonStr); // // int size = 100; // int page = 1; // // do { // // try { // com.aliyun.dingtalkyida_1_0.Client client111 = createClient(); // com.aliyun.dingtalkyida_1_0.models.SearchFormDataSecondGenerationNoTableFieldHeaders searchFormDataSecondGenerationNoTableFieldHeaders = new com.aliyun.dingtalkyida_1_0.models.SearchFormDataSecondGenerationNoTableFieldHeaders(); // searchFormDataSecondGenerationNoTableFieldHeaders.xAcsDingtalkAccessToken = accessToken; // com.aliyun.dingtalkyida_1_0.models.SearchFormDataSecondGenerationNoTableFieldRequest searchFormDataSecondGenerationNoTableFieldRequest = new com.aliyun.dingtalkyida_1_0.models.SearchFormDataSecondGenerationNoTableFieldRequest() // //当前分页 // .setPageNumber(page) // //每页查询数量 // .setPageSize(size) // //宜搭表单ID // .setFormUuid("FORM-4H666KB102PBA69DCCC2A6ATHV6R3YH99MCJLJ") // //TODO 查询条件内容 // .setSearchCondition(jsonStr) // //宜搭应用编码 // .setAppType("APP_ZTKQXN2ISL7TWFDR6PSK") // //宜搭应用秘钥 // .setSystemToken("GM866LB1OJTBPZB471GENBEO35YB270I085JLN1") // //TODO 系统管理员id // .setUserId("yida_pub_account"); // // SearchFormDataSecondGenerationNoTableFieldResponse searchFormDataSecondGenerationNoTableFieldResponse = client111.searchFormDataSecondGenerationNoTableFieldWithOptions(searchFormDataSecondGenerationNoTableFieldRequest, searchFormDataSecondGenerationNoTableFieldHeaders, new RuntimeOptions()); // // System.out.println(JSON.toJSONString(searchFormDataSecondGenerationNoTableFieldResponse.getBody())); // String s = JSON.toJSONString(searchFormDataSecondGenerationNoTableFieldResponse.getBody()); // jsonObject = JSON.parseObject(s); // System.out.println("门店定位高级条件查询接口object对象:" + jsonObject); // } catch (TeaException err) { // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } catch (Exception _err) { // TeaException err = new TeaException(_err.getMessage(), _err); // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } // // JSONArray data = jsonObject.getJSONArray("data"); // System.out.println("获取的宜搭数据:" + data); // for (int i = 0; data.size()>i; i++){ // log.info("开始第" + i + "次循环获取经纬度数据..."); // // //表单实例ID // String formInstanceId = data.getJSONObject(i).getString("formInstanceId"); // System.out.println("表单实例ID ===> " + formInstanceId); // // JSONObject formData = data.getJSONObject(i).getJSONObject("formData"); // // String locationField_liy8a294 = formData.getString("locationField_liy8a294"); // System.out.println("@@@定位组件数据:" + locationField_liy8a294); // // if (locationField_liy8a294 == null){ // System.out.println("定位组件为空!!!"); // }else { // JSONObject jsonObject1 = JSONObject.parseObject(locationField_liy8a294); // System.out.println("定位组件数据(转对象)" + jsonObject1); // // //经度 // String longitude = jsonObject1.getString("longitude"); // System.out.println("经度:" + longitude); // //维度 // String latitude = jsonObject1.getString("latitude"); // System.out.println("维度:" + latitude); // // // // /*更新数据表的经纬度字段*/ // /*同步至宜搭*/ // Map map = new HashMap(); // //经度 // map.put("textField_ljghmc0e", longitude); // //维度 // map.put("textField_ljghmc0f", latitude); // // String mapJson = JSON.toJSONString(map); // System.out.println("mapJson:" + mapJson); // // // //新增或更新表单实例【宜搭】 // JSONObject jsonObject11 = null; //// try { //// com.aliyun.dingtalkyida_1_0.Client client11 = createClient(); //// com.aliyun.dingtalkyida_1_0.models.CreateOrUpdateFormDataHeaders createOrUpdateFormDataHeaders = new com.aliyun.dingtalkyida_1_0.models.CreateOrUpdateFormDataHeaders(); //// createOrUpdateFormDataHeaders.xAcsDingtalkAccessToken = accessToken; //// com.aliyun.dingtalkyida_1_0.models.CreateOrUpdateFormDataRequest createOrUpdateFormDataRequest = new com.aliyun.dingtalkyida_1_0.models.CreateOrUpdateFormDataRequest() //// //应用秘钥 //// .setSystemToken("GM866LB1OJTBPZB471GENBEO35YB270I085JLN1") //// //表单编码 //// .setFormUuid("FORM-4H666KB102PBA69DCCC2A6ATHV6R3YH99MCJL") //// .setUserId("yida_pub_account") ////// .setSearchCondition(listJson) //// //应用编码 //// .setAppType("APP_ZTKQXN2ISL7TWFDR6PSK") //// .setFormDataJson(mapJson); //// //// CreateOrUpdateFormDataResponse orUpdateFormDataWithOptions = client11.createOrUpdateFormDataWithOptions(createOrUpdateFormDataRequest, createOrUpdateFormDataHeaders, new RuntimeOptions()); //// String s = JSON.toJSONString(orUpdateFormDataWithOptions.getBody()); //// jsonObject11 = JSON.parseObject(s); //// System.out.println("【创建或更新】表单object对象:" + jsonObject11); //// } catch (TeaException err) { //// if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { //// // err 中含有 code 和 message 属性,可帮助开发定位问题 //// } //// //// } catch (Exception _err) { //// TeaException err = new TeaException(_err.getMessage(), _err); //// if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { //// // err 中含有 code 和 message 属性,可帮助开发定位问题 //// } //// //// } // // // //更新表单经纬度字段数据 // try { // com.aliyun.dingtalkyida_1_0.Client client11 = createClient(); // com.aliyun.dingtalkyida_1_0.models.UpdateFormDataHeaders updateFormDataHeaders = new com.aliyun.dingtalkyida_1_0.models.UpdateFormDataHeaders(); // updateFormDataHeaders.xAcsDingtalkAccessToken = accessToken; // com.aliyun.dingtalkyida_1_0.models.UpdateFormDataRequest updateFormDataRequest = new com.aliyun.dingtalkyida_1_0.models.UpdateFormDataRequest() // .setSystemToken("GM866LB1OJTBPZB471GENBEO35YB270I085JLN1") // .setFormInstanceId(formInstanceId) // .setUserId("yida_pub_account") // .setAppType("APP_ZTKQXN2ISL7TWFDR6PSK") // .setUpdateFormDataJson(mapJson); // // UpdateFormDataResponse updateFormDataResponse = client11.updateFormDataWithOptions(updateFormDataRequest, updateFormDataHeaders, new RuntimeOptions()); // System.out.println("############" + updateFormDataResponse); //// String s = JSON.toJSONString(updateFormDataResponse.getBody()); //// jsonObject1 = JSON.parseObject(s); //// System.out.println("【创建或更新】表单object对象:" + jsonObject1); // } catch (TeaException err) { // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } catch (Exception _err) { // TeaException err = new TeaException(_err.getMessage(), _err); // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } // /*同步至宜搭*/ // } // // } // // if (data.size() == 100){ // page = page + 1; // } // // }while (jsonObject.getFloat("totalCount") / 100 > jsonObject.getInteger("pageNumber")); // } // // //获取宜搭表单数据【人员信息数据】 // public JSONObject getYidaRenyuanxinxi(String userId){ // // //封装查询条件【数组】 // List search = new ArrayList(); // // //封装根据项目id作为查询条件 // Map mapAll = new HashMap(); // //查询字段编号 // mapAll.put("key","textField_lkkg5ay7"); // //查询钉钉userid // mapAll.put("value",userId); // //查询字段类型 // mapAll.put("type","TEXT"); // //查询匹配方式:like(匹配)、eq(等于) // mapAll.put("operator","eq"); // //查询字段标识 // mapAll.put("componentName","textField"); // search.add(mapAll); // String mapAllStr = JSON.toJSONString(search); // System.out.println("封装修改的字段参数:" + mapAllStr); // // JSONObject jsonObject = null; // // int size = 100; // int page = 1; // // try { // com.aliyun.dingtalkyida_1_0.Client client = createClient(); // com.aliyun.dingtalkyida_1_0.models.SearchFormDataSecondGenerationNoTableFieldHeaders searchFormDataSecondGenerationNoTableFieldHeaders = new com.aliyun.dingtalkyida_1_0.models.SearchFormDataSecondGenerationNoTableFieldHeaders(); // searchFormDataSecondGenerationNoTableFieldHeaders.xAcsDingtalkAccessToken = accessTokenService.getAccessToken(); // com.aliyun.dingtalkyida_1_0.models.SearchFormDataSecondGenerationNoTableFieldRequest searchFormDataSecondGenerationNoTableFieldRequest = new com.aliyun.dingtalkyida_1_0.models.SearchFormDataSecondGenerationNoTableFieldRequest() //// //当前分页 //// .setPageNumber(page) //// //每页查询数量 //// .setPageSize(size) // //宜搭表单ID // .setFormUuid("FORM-CP766081M3TC3T87EUOWL7AELNFI38B9BVLKLE") // //TODO 查询条件内容 // .setSearchCondition(mapAllStr) //// //宜搭应用编码 // .setAppType("APP_OVZ4YE0AZPWIHDYPIB2Y") // //宜搭应用秘钥 // .setSystemToken("IC766WA1MLVCU5DX9L6VY8HI3X0D39K6BVLKL0") // //TODO 系统管理员id // .setUserId("yida_pub_account"); // // SearchFormDataSecondGenerationNoTableFieldResponse searchFormDataSecondGenerationNoTableFieldResponse = client.searchFormDataSecondGenerationNoTableFieldWithOptions(searchFormDataSecondGenerationNoTableFieldRequest, searchFormDataSecondGenerationNoTableFieldHeaders, new RuntimeOptions()); // System.out.println(JSON.toJSONString(searchFormDataSecondGenerationNoTableFieldResponse.getBody())); // String s = JSON.toJSONString(searchFormDataSecondGenerationNoTableFieldResponse.getBody()); // jsonObject = JSON.parseObject(s); // System.out.println("高级条件查询【宜搭人员信息】接口object对象:" + jsonObject); // } catch (TeaException err) { // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } catch (Exception _err) { // TeaException err = new TeaException(_err.getMessage(), _err); // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } // // JSONArray data = jsonObject.getJSONArray("data"); // // float gudinggongzi = 0; // float quanqinbutie = 0; // float kaohejishu = 0; // float xiaoshigongzi = 0; // if (data.isEmpty()){ // System.out.println("查询宜搭人员信息的表单返回数据为空!"); // }else { // JSONObject formData = data.getJSONObject(0).getJSONObject("formData"); // try { // //固定工资(日工资) // gudinggongzi = formData.getFloat("numberField_ljm75t26"); // //全勤补贴 // quanqinbutie = formData.getFloat("numberField_lkkg5ay6"); // //考核基数 // kaohejishu = formData.getFloat("numberField_ljm8j49p"); // //小时工资(日工资/8) // xiaoshigongzi = formData.getFloat("numberField_lkrn1v2h"); // }catch (Exception e){ // e.printStackTrace(); // } // } // System.out.println("固定工资(日工资):" + gudinggongzi); // System.out.println("全勤补贴:" + quanqinbutie); // System.out.println("考核基数:" + kaohejishu); // System.out.println("小时工资(日工资/8):" + xiaoshigongzi); // // Map map = new HashMap(); // map.put("gudinggongzi", gudinggongzi); // map.put("quanqinbutie", quanqinbutie); // map.put("kaohejishu", kaohejishu); // map.put("xiaoshigongzi", xiaoshigongzi); // // String jsonString = JSON.toJSONString(map); // JSONObject jsonObjectRenyuan = JSON.parseObject(jsonString); // System.out.println("jsonObjectRenyuan===>" + jsonObjectRenyuan); // // return jsonObjectRenyuan; // } // // @Test // public void getKaoqin(){ // // //待测试人员userId // String userId = "271003020526307119"; // // //获取当前时间 // Date Date = new Date(System.currentTimeMillis()); // System.out.println("当前时间:" + Date); // // /*获取考勤数据*/ // //获取人员信息数据 // JSONObject yidaRenyuanxinxi = getYidaRenyuanxinxi(userId); // //固定工资(日工资) // float gudinggongzi = yidaRenyuanxinxi.getFloat("gudinggongzi"); // //全勤补贴 // float quanqinbutie = yidaRenyuanxinxi.getFloat("quanqinbutie"); // //考核基数 // float kaohejishu = yidaRenyuanxinxi.getFloat("kaohejishu"); // //小时工资(日工资/8) // float xiaoshigongzi = yidaRenyuanxinxi.getFloat("xiaoshigongzi"); // // /* // * 获取前一个月的第一天和最后一天的时间 // * */ // Calendar calendar111 = Calendar.getInstance(); // calendar111.setTime(Date); // //前一个月第一天 // calendar111.add(Calendar.MONTH,-1); // calendar111.set(Calendar.DAY_OF_MONTH,1); // calendar111.set(Calendar.HOUR_OF_DAY,0); // calendar111.set(Calendar.MINUTE,0); // calendar111.set(Calendar.SECOND,0); // calendar111.set(Calendar.MILLISECOND,0); // String FORMtime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar111.getTime()); // System.out.println("前一个月第一天零点:" + FORMtime); // // Calendar calendar222 = Calendar.getInstance(); //// int month222 = calendar222.get(Calendar.MONTH); // //前一个月最后一天 // calendar222.add(Calendar.MONTH,-1); // calendar222.set(Calendar.DAY_OF_MONTH,calendar222.getActualMaximum(Calendar.DAY_OF_MONTH)); // calendar222.set(Calendar.HOUR_OF_DAY,0); // calendar222.set(Calendar.MINUTE,0); // calendar222.set(Calendar.SECOND,0); // calendar222.set(Calendar.MILLISECOND,0); // String TOtime = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(calendar222.getTime()); // System.out.println("前一个月最后一天零点:" + TOtime); // // // // // int chuqintianshu = 0; // int yingchuqintianshu = 0; // int jiabanxiaoshishu = 0; // int quanqintianshu = 0; // int chidaocishuAll = 0; // int chidaocishu = 0; // int zaotuicishu = 0; // // //工作日加班小时数 // float gongzuorijiaban = 0l; // //休息日加班小时数 // float xiuxirijiaban = 0l; // // // //保留1位小数 // DecimalFormat df1 = new DecimalFormat("#.0"); // //保留2位小数 // DecimalFormat df = new DecimalFormat("#.00"); // // // //工作时长(最新版本) // BigDecimal gzsc = new BigDecimal("0.0"); // //每天固定工时(最新版本,用于计算使用) // BigDecimal gdgs = new BigDecimal("8.0"); // // //总扣除迟到时长差额 // BigDecimal subtractAll = new BigDecimal("0.00"); // // //查询上月出勤数据,统计上月出勤天数 // try { // DingTalkClient client11 = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/attendance/getcolumnval"); // OapiAttendanceGetcolumnvalRequest req = new OapiAttendanceGetcolumnvalRequest(); // //TODO 待查询人员的userid // req.setUserid(userId); // //考勤报表列定义查出来的工作时长的列id(固定) // req.setColumnIdList("754387968,754387971,754387973,754387974,754387975,754387979,754387991,754387993,805519014,805519015,805519016,836124047"); // //TODO 查询开始时间 // req.setFromDate(StringUtils.parseDateTime(FORMtime)); // //TODO 查询结束时间 // req.setToDate(StringUtils.parseDateTime(TOtime)); // OapiAttendanceGetcolumnvalResponse rsp = client11.execute(req, accessTokenService.getAccessToken()); // System.out.println(rsp.getBody()); // String string = rsp.getBody(); // JSONObject jsonObjectKaoqin = JSON.parseObject(string); // // int errcode = jsonObjectKaoqin.getInteger("errcode"); // System.out.println("考勤时间周期查询结果状态码:" + errcode); // String errmsg = jsonObjectKaoqin.getString("errmsg"); // System.out.println("考勤时间周期查询结果状态信息:" + errmsg); // // // if (errcode != 0){ // log.info("考勤时间周期查询结果反馈异常,异常状态码:" + errcode + "【"+ errmsg +"】"); // // }else { // //出勤天数 // JSONArray jsonArray = jsonObjectKaoqin.getJSONObject("result"). // getJSONArray("column_vals"). // getJSONObject(0). // getJSONArray("column_vals"); // for (int x = 0; x 5) { //// System.out.println("迟到时长超过5分钟,进行循环统计!"); //// chidaocishu = chidaocishu + 1; //// //// float aaa = cdscFloat / 60; //// System.out.println("迟到分钟按照小时(除以60每小时)换算:" + aaa); //// //// //迟到时长,换算成小时(转换bd型,保留2位小数) //// BigDecimal cdsc = new BigDecimal(aaa); ////// BigDecimal cdsc1 = new BigDecimal("0.00"); //// BigDecimal cdsc1 = cdsc.setScale(2, BigDecimal.ROUND_HALF_UP); //// System.out.println("迟到时长换算成小时,保留2位小数:" + cdsc1); //// //// // 整数部分 //// BigDecimal integerPart = cdsc1.setScale(0, RoundingMode.DOWN); //// System.out.println("整数部分:" + integerPart); //// // 小数部分 //// BigDecimal fractionalPart = cdsc1.subtract(integerPart); //// System.out.println("小数部分:" + fractionalPart); //// //// //// if (fractionalPart.compareTo(panduan) == -1){ //// if (fractionalPart.compareTo(BigDecimal.ZERO) == 1) { //// System.out.println("小数位小于0.5小时~~~"); //// subtract = panduan.subtract(fractionalPart); //// System.out.println("计算不足0.5小时的差额:" + subtract); //// subtractAll = subtractAll.add(subtract); //// } //// }else { //// System.out.println("小数位大于0.5小时~~~"); //// subtract = panduan1.subtract(fractionalPart); //// System.out.println("计算不足1小时的差额:" + subtract); //// subtractAll = subtractAll.add(subtract); //// } //// } //// } // // //工作时长 // JSONArray jsonArray6 = jsonObjectKaoqin.getJSONObject("result"). // getJSONArray("column_vals"). // getJSONObject(2). // getJSONArray("column_vals"); // // //考勤结果(包含加班审批时间段) // JSONArray jsonArray10 = jsonObjectKaoqin.getJSONObject("result"). // getJSONArray("column_vals"). // getJSONObject(6). // getJSONArray("column_vals"); // //打卡结果(实际上班打卡时间) // JSONArray jsonArray11 = jsonObjectKaoqin.getJSONObject("result"). // getJSONArray("column_vals"). // getJSONObject(7). // getJSONArray("column_vals"); // // SimpleDateFormat sdf = new SimpleDateFormat("MM-dd HH:mm"); // // //休息日加班小时数 // JSONArray jsonArray8 = jsonObjectKaoqin.getJSONObject("result"). // getJSONArray("column_vals"). // getJSONObject(10). // getJSONArray("column_vals"); // //// for (int x = 0; x 0) { //// System.out.println("休息日加班小时数,进行循环统计!"); //// //// //考勤结果(包含加班审批时间段) //// //// //打卡结果(实际上班打卡时间) //// //// xiuxirijiaban = xiuxirijiaban + v; //// } //// } // // for (int x = 0; x5){ //// String substring = value1.substring(0, 8); //// System.out.println("截取的(休息日)考勤结果标识是否包含【休息并打卡】:" + substring); //// if (substring.equals("休息并打卡,加班")){ //// String shenpi = value1.substring(8, 19); //// System.out.println("截取的(休息日)加班审批完整时间:" + shenpi); //// String shenpishichang = value1.substring(32, 33); //// float shenpishichangFloat = Float.parseFloat(shenpishichang); //// System.out.println("截取的(休息日)加班审批时长:" + shenpishichangFloat); //// //// String shenpiriqi = value1.substring(8, 14); //// String shijidakashijian = shenpiriqi + value2; //// System.out.println("拼接的实际打卡时间:" + shijidakashijian); //// //// Date date1 = null; //// Date date2 = null; //// try { //// date1 = sdf.parse(shenpi); //// date2 = sdf.parse(shijidakashijian); //// }catch (Exception e){ //// e.printStackTrace(); //// } //// System.out.println("转换成时间型(加班审批时间):" + date1); //// System.out.println("转换成时间型(加班打卡时间):" + date2); //// //// long a = date2.getTime() - date1.getTime(); //// System.out.println("实际打卡时间 - 加班审批时间 (相差的毫秒数):" + a); //// long fenzhong = a / 1000 / 60; //// System.out.println("实际打卡时间 - 加班审批时间 (转换成分钟):" + fenzhong); //// //// float jisuan = ((shenpishichangFloat * 60) - fenzhong) / 60; //// System.out.println("计算实际的周日加班打卡时长(折算小时):" + jisuan); //// //判断实际打卡时间是否超过加班审批时间 ////// if (fenzhong > 0 && fenzhong < 5){ ////// xiuxirijiaban = xiuxirijiaban + 8; ////// }else { ////// xiuxirijiaban = xiuxirijiaban + v3; ////// } //// if (fenzhong > 0){ //// xiuxirijiaban = xiuxirijiaban + jisuan; //// }else { //// xiuxirijiaban = xiuxirijiaban + v3; //// } //// } //// } // // }else { // // 不是周日返回false // System.out.println("周一至周六的工作日"); // // float v = Float.parseFloat(value); // //每日工作时长,1位小数 // BigDecimal ri = new BigDecimal(v); // BigDecimal ri1 = ri.setScale(2, BigDecimal.ROUND_DOWN); // System.out.println("工作时长(浮点数,保留2位小数):" + ri1); // gzsc = gzsc.add(ri1); // //// if (v >= 1 && v <= 8) { //// System.out.println("工作时长,进行循环统计!"); //// gzsc = gzsc.add(ri1); //// //// }else if (v > 8){ //// gzsc = gzsc.add(gdgs); //// } else if (v >= 7.85 && v <= 8) { //// gzsc = gzsc.add(gdgs); //// } // } // } // // //迟到次数 // JSONArray jsonArray2 = jsonObjectKaoqin.getJSONObject("result"). // getJSONArray("column_vals"). // getJSONObject(3). // getJSONArray("column_vals"); // for (int x = 0; x 1) { // System.out.println("加班小时数,进行循环统计!"); // jiabanxiaoshishu = jiabanxiaoshishu + (int)v; // } // } // // //工作日加班小时数 // JSONArray jsonArray7 = jsonObjectKaoqin.getJSONObject("result"). // getJSONArray("column_vals"). // getJSONObject(9). // getJSONArray("column_vals"); // for (int x = 0; x 0) { // System.out.println("工作日加班小时数,进行循环统计!"); // gongzuorijiaban = gongzuorijiaban + v; // } // } // //// //休息日加班小时数 //// JSONArray jsonArray8 = jsonObjectKaoqin.getJSONObject("result"). //// getJSONArray("column_vals"). //// getJSONObject(10). //// getJSONArray("column_vals"); //// //// for (int x = 0; x 0) { //// System.out.println("休息日加班小时数,进行循环统计!"); //// //// //考勤结果(包含加班审批时间段) //// //// //打卡结果(实际上班打卡时间) //// //// xiuxirijiaban = xiuxirijiaban + v; //// } //// } // // //全勤天数 // JSONArray jsonArray5 = jsonObjectKaoqin.getJSONObject("result"). // getJSONArray("column_vals"). // getJSONObject(11). // getJSONArray("column_vals"); // for (int x = 0; x 3){ // int a = chidaozaotuizongcishu - 3; // chidaozaotuikoukuan = a * 10; // } // // //全勤补贴(全勤天数*5) // float c = quanqintianshu * 5; // // //加班小时数(工作日加班,保留2位小时)//TODO 后面要加入休息日加班小时数 // BigDecimal jbxss = new BigDecimal(jiaban); // // //迟到早退扣款(迟到3次以上的次数*10) // BigDecimal cdztkk = new BigDecimal(chidaozaotuikoukuan); // //全勤补贴 // BigDecimal qqbt = new BigDecimal(c); // // //总工资 // BigDecimal zgz = new BigDecimal("0.00"); // //固定工资 // BigDecimal gdgz1 = new BigDecimal("0.00"); // //小时工资 // BigDecimal xsgz1 = new BigDecimal("0.00"); // //出勤工资 // BigDecimal cqgz1 = new BigDecimal("0.00"); // //加班工资 // BigDecimal jbgz1 = new BigDecimal("0.00"); // if (gudinggongzi > 0) { // //固定工资:日工资(转换bd型,保留2位小数) // BigDecimal gdgz = new BigDecimal(gudinggongzi); // gdgz1 = gdgz.setScale(2, BigDecimal.ROUND_HALF_UP); // // //小时工资(转换bd型,保留2位小数) // BigDecimal xsgz = new BigDecimal(xiaoshigongzi); // xsgz1 = xsgz.setScale(2, BigDecimal.ROUND_HALF_UP); // // //出勤工资(出勤天数*日工资,保留2位小数) // BigDecimal cqgz = cqts.multiply(gdgz1); // cqgz1 = cqgz.setScale(2, BigDecimal.ROUND_HALF_UP); // // //加班工资(加班小时数*小时工资,保留2位小数) // BigDecimal jbgz = jbxss.multiply(xsgz1); // jbgz1 = jbgz.setScale(2, BigDecimal.ROUND_HALF_UP); // // /*总工资合计*/ // //总工资(出勤工资+加班工资-迟到早退扣款)//TODO 后面要加入补贴、扣款等金额计算 // zgz = zgz.add(cqgz1).add(jbgz1).add(qqbt).subtract(cdztkk); // } // // // System.out.println("上月出勤天数(钉钉报表自带:不使用):" + chuqintianshu); // System.out.println("上月应出勤天数:" + yingchuqintianshu); // System.out.println("加班小时数(钉钉报表自带:不使用):" + jiabanxiaoshishu); // System.out.println("全勤天数:" + quanqintianshu); // System.out.println("迟到次数:" + chidaocishu); // System.out.println("早退次数:" + zaotuicishu); // System.out.println("休息日加班(钉钉报表自带:不使用):" + xiuxirijiaban); // System.out.println("加班小时数【钉钉报表统计工作日加班小时数,需要使用】:" + jiaban); // // System.out.println("工作时长【最新版本】:" + gzsc); // System.out.println("出勤天数【最新版本】:" + cqts); // } // // //获取宜搭表单数据【餐费扣款】 // @Test // public void getYidaCanfei(){ // // //获取当前时间 // Date Date = new Date(System.currentTimeMillis()); // System.out.println("当前时间:" + Date); // //截取当天上月的年月 // Calendar calendar123 = Calendar.getInstance(); // calendar123.setTime(Date); // calendar123.add(Calendar.MONTH,-1); // String lastMonthNow = new SimpleDateFormat("yyyy-MM").format(calendar123.getTime()); // System.out.println("当天上月的日期,文本格式(月)" + lastMonthNow); // // // //封装根据项目id作为查询条件 // Map mapAll = new HashMap(); // //查询实际统计月份 // mapAll.put("textField_lfw815u7",lastMonthNow); // // String mapAllStr = JSON.toJSONString(mapAll); // System.out.println("封装修改的字段参数:" + mapAllStr); // // //list集合装载最终的集合 // List list = new ArrayList(); // // JSONObject jsonObject = null; // // int size = 100; // int page = 1; // // List listAll = new ArrayList(); // // do { // // //【斯曼尔架构】 // try { // com.aliyun.dingtalkyida_1_0.Client client = createClient(); // com.aliyun.dingtalkyida_1_0.models.SearchFormDatasHeaders searchFormDatasHeaders = new com.aliyun.dingtalkyida_1_0.models.SearchFormDatasHeaders(); // searchFormDatasHeaders.xAcsDingtalkAccessToken = accessTokenService.getAccessToken(); // com.aliyun.dingtalkyida_1_0.models.SearchFormDatasRequest searchFormDatasRequest = new com.aliyun.dingtalkyida_1_0.models.SearchFormDatasRequest() // .setSystemToken("IC766WA1MLVCU5DX9L6VY8HI3X0D39K6BVLKL0") // .setSearchFieldJson(mapAllStr) // .setCurrentPage(page) // .setPageSize(size) // .setFormUuid("FORM-RK966E7175LD660Z5QWAF4YO2Q2W3WW00RLLL0") // .setUserId("yida_pub_account") // .setAppType("APP_OVZ4YE0AZPWIHDYPIB2Y"); // // SearchFormDatasResponse searchFormDatasResponse = client.searchFormDatasWithOptions(searchFormDatasRequest, searchFormDatasHeaders, new RuntimeOptions()); // System.out.println(JSON.toJSONString(searchFormDatasResponse.getBody())); // String s = JSON.toJSONString(searchFormDatasResponse.getBody()); // jsonObject = JSON.parseObject(s); // System.out.println("钉钉差旅补贴数据高级条件查询【餐费扣款】接口object对象:" + jsonObject); // } catch (TeaException err) { // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } catch (Exception _err) { // TeaException err = new TeaException(_err.getMessage(), _err); // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } // // JSONArray data = jsonObject.getJSONArray("data"); // System.out.println("返回的宜搭data:" + data); // // // // if (data.isEmpty()) { // System.out.println("查询当月【餐费扣款】返回数据为空!"); // } else { // for (int i = 0; i < data.size(); i++) { // JSONObject formData = data.getJSONObject(i).getJSONObject("formData"); // JSONArray tableField_lfw7ctif = formData.getJSONArray("tableField_lkkfs5p2"); // for (int j = 0; j < tableField_lfw7ctif.size(); j++) { // JSONObject jsonObject1 = tableField_lfw7ctif.getJSONObject(j); // listAll.add(jsonObject1); // } // } // } // // if (jsonObject.getFloat("totalCount") / 100 > jsonObject.getInteger("currentPage")){ // page += page; // } // // }while (jsonObject.getFloat("totalCount") / 100 > jsonObject.getInteger("currentPage")); // // JSONArray jsonArray = JSON.parseArray(listAll.toString()); // System.out.println("封装【餐费扣款】明细jsonArray:" + jsonArray); // } // // //获取宜搭表单数据【机加工计件单】 // @Test // public void getYidaJijiandan(){ // // String userID = "014000073221556459"; // // //获取当前时间 // Date Date = new Date(System.currentTimeMillis()); // System.out.println("当前时间:" + Date); // //截取当天上月的年月 // Calendar calendar123 = Calendar.getInstance(); // calendar123.setTime(Date); // calendar123.add(Calendar.MONTH,-1); // String lastMonthNow = new SimpleDateFormat("yyyy-MM").format(calendar123.getTime()); // System.out.println("当天上月的日期,文本格式(月)" + lastMonthNow); // // // //封装根据项目id作为查询条件 // Map mapAll = new HashMap(); // //查询实际统计月份 // mapAll.put("textField_lltuatw2",lastMonthNow); // //人员ID // mapAll.put("textField_llq7e7e0",userID); // // String mapAllStr = JSON.toJSONString(mapAll); // System.out.println("封装修改的字段参数:" + mapAllStr); // // //list集合装载最终的集合 // List list = new ArrayList(); // // JSONObject jsonObject = null; // // int size = 100; // int page = 1; // // List listAll = new ArrayList(); // // do { // // //【斯曼尔架构】 // try { // com.aliyun.dingtalkyida_1_0.Client client = createClient(); // com.aliyun.dingtalkyida_1_0.models.SearchFormDatasHeaders searchFormDatasHeaders = new com.aliyun.dingtalkyida_1_0.models.SearchFormDatasHeaders(); // searchFormDatasHeaders.xAcsDingtalkAccessToken = accessTokenService.getAccessToken(); // com.aliyun.dingtalkyida_1_0.models.SearchFormDatasRequest searchFormDatasRequest = new com.aliyun.dingtalkyida_1_0.models.SearchFormDatasRequest() // .setSystemToken("IC766WA1MLVCU5DX9L6VY8HI3X0D39K6BVLKL0") // .setSearchFieldJson(mapAllStr) // .setCurrentPage(page) // .setPageSize(size) // .setFormUuid("FORM-0A966I81OCKDWQO07SBXYCKC6BN033LQDULLL2") // .setUserId("yida_pub_account") // .setAppType("APP_OVZ4YE0AZPWIHDYPIB2Y"); // // SearchFormDatasResponse searchFormDatasResponse = client.searchFormDatasWithOptions(searchFormDatasRequest, searchFormDatasHeaders, new RuntimeOptions()); // System.out.println(JSON.toJSONString(searchFormDatasResponse.getBody())); // String s = JSON.toJSONString(searchFormDatasResponse.getBody()); // jsonObject = JSON.parseObject(s); // System.out.println("钉钉差旅补贴数据高级条件查询【机加工计件单】接口object对象:" + jsonObject); // } catch (TeaException err) { // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } catch (Exception _err) { // TeaException err = new TeaException(_err.getMessage(), _err); // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } // // JSONArray data = jsonObject.getJSONArray("data"); // System.out.println("返回的宜搭data:" + data); // // // // if (data.isEmpty()) { // System.out.println("查询当月【机加工计件单】返回数据为空!"); // } else { // for (int i = 0; i < data.size(); i++) { // JSONObject formData = data.getJSONObject(i).getJSONObject("formData"); // Map map = new HashMap<>(); // // //钉钉userid // String userid = formData.getString("textField_llq7e7e0"); // System.out.println("钉钉userid===>" + userid); // //人员姓名 // String username = formData.getString("textField_llq7e7e1"); // System.out.println("人员姓名===>" + username); // //计件工时(分钟)折算时长 // String jijiangongshi = formData.getString("numberField_lllv8q6d"); // System.out.println("计件工时(分钟)折算时长===>" + jijiangongshi); // //工位补贴 // String gongweibutie = formData.getString("numberField_lllv8q6l"); // System.out.println("工位补贴===>" + gongweibutie); // //机床 // String jichuangStr = formData.getString("textField_llttf90g"); // String jichuang = jichuangStr.substring(0, 3); // System.out.println("机床===>" + jichuang); // if (gongweibutie == null){ // gongweibutie = "0"; // } // if (jijiangongshi == null){ // jijiangongshi = "0"; // } // // // map.put("userid",userid); // map.put("username",username); // map.put("jijiangongshi",jijiangongshi); // map.put("gongweibutie",gongweibutie); // map.put("jichuang",jichuang); // // listAll.add(map); // } // } // // if (jsonObject.getFloat("totalCount") / 100 > jsonObject.getInteger("currentPage")){ // page += page; // } // // }while (jsonObject.getFloat("totalCount") / 100 > jsonObject.getInteger("currentPage")); // // JSONArray yidaJijiandan = JSON.parseArray(JSON.toJSONString(listAll)); // System.out.println("封装【机加工计件单】明细jsonArray:" + yidaJijiandan); // // //计件工时(主机床) // float jijiangongshi = 0; // //超产工时(副机床) // float chaochangongshi = 0; // //工位补贴 // float gongweibutie = 0; // // // /*通过封装接口获取【机加工计件单】*/ // for (int j = 0; j < yidaJijiandan.size(); j++) { // log.info("循环第" + j + "次!"); // //机床 // String jichuang = yidaJijiandan.getJSONObject(j).getString("jichuang"); // System.out.println("机床===》" + jichuang); // // //计件工时(折算时长) // float jijiangongshiOne = yidaJijiandan.getJSONObject(j).getFloat("jijiangongshi"); // System.out.println("计件工时===》" + jijiangongshiOne); // // if (jichuang.equals("主机床")) { // jijiangongshi = jijiangongshi + jijiangongshiOne; // } else { // chaochangongshi = chaochangongshi + jijiangongshiOne; // } // //工位补贴 // float gongweibutieFloat = yidaJijiandan.getJSONObject(j).getFloat("gongweibutie"); // System.out.println("工位补贴===》" + gongweibutieFloat); // gongweibutie = gongweibutie + gongweibutieFloat; // } // jijiangongshi = jijiangongshi / 60 / 8; // chaochangongshi = chaochangongshi / 60 / 8; // // System.out.println("计件工时(主机床)" + jijiangongshi); // System.out.println("超产工时(副机床)" + chaochangongshi); // System.out.println("工位补贴" + gongweibutie); // } // // //获取宜搭表单数据【人员信息底表】 // @Test // public void getYidaRenyuanxinxidibiao(){ // // JSONObject jsonObject = null; // // int size = 100; // int page = 1; // // List listAll = new ArrayList(); // // do { // // //【斯曼尔架构】 // try { // com.aliyun.dingtalkyida_1_0.Client client = createClient(); // com.aliyun.dingtalkyida_1_0.models.SearchFormDatasHeaders searchFormDatasHeaders = new com.aliyun.dingtalkyida_1_0.models.SearchFormDatasHeaders(); // searchFormDatasHeaders.xAcsDingtalkAccessToken = accessTokenService.getAccessToken(); // com.aliyun.dingtalkyida_1_0.models.SearchFormDatasRequest searchFormDatasRequest = new com.aliyun.dingtalkyida_1_0.models.SearchFormDatasRequest() // .setSystemToken("J0A6698165EFMED0AHIG76FW7C6Q3ON1PG5OL482") //// .setSearchFieldJson(mapAllStr) // .setCurrentPage(page) // .setPageSize(size) // .setFormUuid("FORM-5Q966D91G96F0WI8D98Q27NSBGUR3OV02H5OL21") // .setUserId("yida_pub_account") // .setAppType("APP_QHPV3T4ZU2Y88Q4U0UDA"); // // SearchFormDatasResponse searchFormDatasResponse = client.searchFormDatasWithOptions(searchFormDatasRequest, searchFormDatasHeaders, new RuntimeOptions()); //// System.out.println(JSON.toJSONString(searchFormDatasResponse.getBody())); // String s = JSON.toJSONString(searchFormDatasResponse.getBody()); // jsonObject = JSON.parseObject(s); // System.out.println("宜搭数据高级条件查询【人员信息底表】接口object对象:" + jsonObject); // } catch (TeaException err) { // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } catch (Exception _err) { // TeaException err = new TeaException(_err.getMessage(), _err); // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } // // JSONArray data = jsonObject.getJSONArray("data"); //// System.out.println("返回的宜搭data:" + data); // // // float gudinggongzi = 0; // float quanqinbutie = 0; // float kaohejishu = 0; // float xiaoshigongzi = 0; // int paixu = 0; // String suanxinleixing = null; // // if (data.isEmpty()) { // System.out.println("查询当月【人员信息底表】返回数据为空!"); // } else { // for (int i = 0; i < data.size(); i++) { // JSONObject formData = data.getJSONObject(i).getJSONObject("formData"); //// System.out.println("循环返回的宜搭formData:" + formData); // Map map = new HashMap<>(); // // //实例ID // String shiliID = data.getJSONObject(i).getString("formInstanceId"); // System.out.println("实例ID===>" + shiliID); // // //钉钉userid // String userid = formData.getString("textField_lo5h5imc"); // System.out.println("钉钉userid===>" + userid); // //人员姓名 // String username = formData.getString("textField_lo5h5ime"); // System.out.println("人员姓名===>" + username); // //主部门 // String zhubumen = formData.getString("textField_lo5h5imj"); // System.out.println("主部门===>" + zhubumen); // // //职位 // String zhiwei = formData.getString("textField_los37klu"); // System.out.println("职位===>" + username); // //邮箱 // String youoxiang = formData.getString("textField_los37klv"); // System.out.println("邮箱===>" + zhubumen); // // // try { //// //固定工资(日工资) //// gudinggongzi = formData.getFloat("numberField_ljm75t26"); //// System.out.println("固定工资(日工资)===>" + gudinggongzi); //// //小时工资(日工资/8) //// xiaoshigongzi = formData.getFloat("numberField_lkrn1v2h"); //// System.out.println("小时工资(日工资/8)===>" + xiaoshigongzi); //// //加班小时工资(前期定义为全勤补贴) //// quanqinbutie = formData.getFloat("numberField_lkkg5ay6"); //// System.out.println("全勤补贴===>" + quanqinbutie); //// //考核基数 //// kaohejishu = formData.getFloat("numberField_ljm8j49p"); //// System.out.println("考核基数===>" + kaohejishu); //// //// //算薪类型(普通、计件) //// suanxinleixing = formData.getString("selectField_lme9gohy"); //// System.out.println("算薪类型(普通、计件)===>" + suanxinleixing); //// //排序 //// paixu = formData.getInteger("numberField_llxdipxq"); //// System.out.println("排序===>" + paixu); // // }catch (Exception e){ // e.printStackTrace(); // } // // map.put("shiliID",shiliID); // // map.put("userid",userid); // map.put("username",username); // map.put("zhubumen",zhubumen); // // map.put("zhiwei",zhiwei); // map.put("youxiang",youoxiang); // // System.out.println("每次封装人员信息的map:" + map); // // listAll.add(map); // } // } // // if (jsonObject.getFloat("totalCount") / 100 > jsonObject.getFloat("currentPage")){ // page = page + 1; // System.out.println("下一次待查询分页:" + page); // } // // }while (jsonObject.getFloat("totalCount") / 100 > jsonObject.getFloat("currentPage")); // // JSONArray jsonArray = JSON.parseArray(JSON.toJSONString(listAll)); // System.out.println("封装【人员信息底表】明细jsonArray:" + jsonArray); // //// return jsonArray; // } // // //更新表单数据【最新版本更新】 //// @Test //// public void updateBiaodan(){ //// //// JSONArray yidaRenyuanxinxidibiao = getYidaRenyuanxinxidibiao(); //// //// for (int i = 0; i < yidaRenyuanxinxidibiao.size(); i++) { //// //实例ID //// String shiliID = yidaRenyuanxinxidibiao.getJSONObject(i).getString("shiliID"); //// System.out.println("实例ID:" + shiliID); //// //人员id //// String userid = yidaRenyuanxinxidibiao.getJSONObject(i).getString("userid"); //// System.out.println("人员id:" + userid); //// //// /*---获取花名册数据---*/ //// String huamingce1 = null; //// try { //// DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/smartwork/hrm/employee/list"); //// OapiSmartworkHrmEmployeeListRequest request = new OapiSmartworkHrmEmployeeListRequest(); //// //// request.setUseridList(userid); //// //// //需要获取的花名册字段信息 //// //request.setFieldFilterList("sys00-name,sys02-sexType,sys01-employeeStatus,sys00-email,sys03-graduateSchool,sys03-highestEdu,sys00-dept,e3d6dbbd-9265-4f1e-8c58-ac3602e83960,sys03-graduationTime,sys00-mobile,sys02-address,sys02-marriage,sys00-confirmJoinTime,sys00-workPlace,sys00-position,sys01-positionLevel,sys02-politicalStatus,sys03-major,sys02-certNo,sys02-birthTime,sys02-certAddress,sys02-certEndTime,sys02-residenceType,sys01-employeeType,sys04-bankAccountNo,sys04-accountBank,sys09-personalHf,sys05-contractType,sys05-contractCompanyName,ff63191a-45cf-4106-ade0-54f1def7cc55"); //// //// OapiSmartworkHrmEmployeeListResponse response = client.execute(request, accessTokenService.getAccessToken()); //// huamingce1 = response.getBody(); //// System.out.println(response.getBody()); //// }catch (ApiException e){ //// e.printStackTrace(); //// } //// //// //通过fastjson工具转换成json对象,逐层解析 //// //将String类型的花名册json数据转换为Object数据对象 //// JSONObject jsonObject = JSON.parseObject(huamingce1); //// //// //直接将花名册对象通过Object转换成Array数组格式 //// JSONArray resultArray = jsonObject.getJSONArray("result"); //// System.out.println("Array===>" + resultArray); //// /*---获取花名册数据---*/ //// //// JSONArray fieldListArray = resultArray.getJSONObject(0).getJSONArray("field_list"); //// //// String userName = null; //// String zhubumen = null; //// //// for (int a = 0; a" + fieldListArray.getJSONObject(a).getString("value")); //// //// userName = fieldListArray.getJSONObject(a).getString("value"); //// } //// break; //// //主部门 //// case "sys00-mainDept": //// if (fieldListArray.getJSONObject(a).getString("value") != null){ //// System.out.println("***主部门***-->" + fieldListArray.getJSONObject(a).getString("value")); //// //// zhubumen = fieldListArray.getJSONObject(a).getString("value"); //// } //// break; //// } //// } //// //// Map map = new HashMap(); //// //// //主部门 //// map.put("textField_lm64k9gb", zhubumen); //// //// String mapJson = JSON.toJSONString(map); //// System.out.println("mapJson:" + mapJson); //// //// //更新表单数据【最新版本更新内容】 //// try { //// com.aliyun.dingtalkyida_1_0.Client client = createClient(); //// com.aliyun.dingtalkyida_1_0.models.UpdateFormDataHeaders updateFormDataHeaders = new com.aliyun.dingtalkyida_1_0.models.UpdateFormDataHeaders(); //// updateFormDataHeaders.xAcsDingtalkAccessToken = accessTokenService.getAccessToken(); //// com.aliyun.dingtalkyida_1_0.models.UpdateFormDataRequest updateFormDataRequest = new com.aliyun.dingtalkyida_1_0.models.UpdateFormDataRequest() //// .setSystemToken("IC766WA1MLVCU5DX9L6VY8HI3X0D39K6BVLKL0") //// .setFormInstanceId(shiliID) //// .setUserId("yida_pub_account") //// .setUseLatestVersion(true) //// .setAppType("APP_OVZ4YE0AZPWIHDYPIB2Y") //// .setUpdateFormDataJson(mapJson); //// //// client.updateFormDataWithOptions(updateFormDataRequest, updateFormDataHeaders, new com.aliyun.teautil.models.RuntimeOptions()); //// } catch (TeaException err) { //// if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { //// // err 中含有 code 和 message 属性,可帮助开发定位问题 //// } //// //// } catch (Exception _err) { //// TeaException err = new TeaException(_err.getMessage(), _err); //// if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { //// // err 中含有 code 和 message 属性,可帮助开发定位问题 //// } //// //// } //// } //// //// //// } // // @Test // public void getSuanxin(){ // //封装查询条件【数组】 // List search = new ArrayList(); // // //封装根据项目id作为查询条件 // Map mapAll = new HashMap(); // //查询字段编号 // mapAll.put("key","textField_ll67cnfu"); // //查询钉钉userid // mapAll.put("value","026534042237650981"); // //查询字段类型 // mapAll.put("type","TEXT"); // //查询匹配方式:like(匹配)、eq(等于) // mapAll.put("operator","eq"); // //查询字段标识 // mapAll.put("componentName","textField"); // search.add(mapAll); // String mapAllStr = JSON.toJSONString(search); // System.out.println("封装修改的字段参数:" + mapAllStr); // // JSONObject jsonObject = null; // // int size = 100; // int page = 1; // // try { // com.aliyun.dingtalkyida_1_0.Client client = createClient(); // com.aliyun.dingtalkyida_1_0.models.SearchFormDataSecondGenerationNoTableFieldHeaders searchFormDataSecondGenerationNoTableFieldHeaders = new com.aliyun.dingtalkyida_1_0.models.SearchFormDataSecondGenerationNoTableFieldHeaders(); // searchFormDataSecondGenerationNoTableFieldHeaders.xAcsDingtalkAccessToken = accessTokenService.getAccessToken(); // com.aliyun.dingtalkyida_1_0.models.SearchFormDataSecondGenerationNoTableFieldRequest searchFormDataSecondGenerationNoTableFieldRequest = new com.aliyun.dingtalkyida_1_0.models.SearchFormDataSecondGenerationNoTableFieldRequest() //// //当前分页 //// .setPageNumber(page) //// //每页查询数量 //// .setPageSize(size) // //宜搭表单ID // .setFormUuid("FORM-PR8667D1V09DOA2JAJOD94P8QCLJ3HIJ376LL1") // //TODO 查询条件内容 // .setSearchCondition(mapAllStr) //// //宜搭应用编码 // .setAppType("APP_OVZ4YE0AZPWIHDYPIB2Y") // //宜搭应用秘钥 // .setSystemToken("IC766WA1MLVCU5DX9L6VY8HI3X0D39K6BVLKL0") // //TODO 系统管理员id // .setUserId("yida_pub_account"); // // SearchFormDataSecondGenerationNoTableFieldResponse searchFormDataSecondGenerationNoTableFieldResponse = client.searchFormDataSecondGenerationNoTableFieldWithOptions(searchFormDataSecondGenerationNoTableFieldRequest, searchFormDataSecondGenerationNoTableFieldHeaders, new RuntimeOptions()); // System.out.println(JSON.toJSONString(searchFormDataSecondGenerationNoTableFieldResponse.getBody())); // String s = JSON.toJSONString(searchFormDataSecondGenerationNoTableFieldResponse.getBody()); // jsonObject = JSON.parseObject(s); // System.out.println("高级条件查询【算薪权限表】接口object对象:" + jsonObject); // } catch (TeaException err) { // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } catch (Exception _err) { // TeaException err = new TeaException(_err.getMessage(), _err); // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } // // JSONArray data = jsonObject.getJSONArray("data"); // // String suanxinfuzerenId = null; // List list = new ArrayList<>(); // if (data.isEmpty()){ // System.out.println("查询宜搭算薪权限表返回数据为空!"); // }else { // //循环获取多个算薪负责人 // for (int i = 0; i < data.size(); i++) { // JSONObject formData = data.getJSONObject(i).getJSONObject("formData"); // try { // //被算薪人员Id // suanxinfuzerenId = formData.getString("textField_ll67cnft"); // list.add(suanxinfuzerenId); // }catch (Exception e){ // e.printStackTrace(); // } // } // } // String jsonString = JSON.toJSONString(list); // System.out.println("算薪负责人Id数组:" + jsonString); // } // // //特殊加班单 // @Test // public void getTeshujiaban(){ // /** // * type = 0 上月数据 // * type = 1 本月数据 // * */ // // int type = 0; // // //获取当前时间 // Date Date = new Date(System.currentTimeMillis()); // System.out.println("当前时间:" + Date); // // String lastMonthNow = null; // if (type == 0){//上月 // //截取当天上月的年月 // Calendar calendar123 = Calendar.getInstance(); // calendar123.setTime(Date); // calendar123.add(Calendar.MONTH,-1); // lastMonthNow = new SimpleDateFormat("yyyy-MM").format(calendar123.getTime()); // System.out.println("当天上月的日期,文本格式(月)" + lastMonthNow); // }else {//本月 // //截取当天本月的年月 // Calendar calendar123 = Calendar.getInstance(); // calendar123.setTime(Date); // calendar123.add(Calendar.MONTH,0); // lastMonthNow = new SimpleDateFormat("yyyy-MM").format(calendar123.getTime()); // System.out.println("当天本月的日期,文本格式(月)" + lastMonthNow); // } // // // // //封装根据项目id作为查询条件 // Map mapAll = new HashMap(); // //查询实际统计月份 // mapAll.put("textField_lfw815u7",lastMonthNow); // // String mapAllStr = JSON.toJSONString(mapAll); // System.out.println("封装修改的字段参数:" + mapAllStr); // // //list集合装载最终的集合 // List list = new ArrayList(); // // JSONObject jsonObject = null; // // int size = 100; // int page = 1; // // List listAll = new ArrayList(); // // do { // //【斯曼尔架构】 // try { // com.aliyun.dingtalkyida_1_0.Client client = createClient(); // com.aliyun.dingtalkyida_1_0.models.SearchFormDatasHeaders searchFormDatasHeaders = new com.aliyun.dingtalkyida_1_0.models.SearchFormDatasHeaders(); // searchFormDatasHeaders.xAcsDingtalkAccessToken = accessTokenService.getAccessToken(); // com.aliyun.dingtalkyida_1_0.models.SearchFormDatasRequest searchFormDatasRequest = new com.aliyun.dingtalkyida_1_0.models.SearchFormDatasRequest() // .setSystemToken("IC766WA1MLVCU5DX9L6VY8HI3X0D39K6BVLKL0") // .setSearchFieldJson(mapAllStr) // .setCurrentPage(page) // .setPageSize(size) // .setFormUuid("FORM-HT866U91HLKFLTYH9AZEIB9E4LXZ22WVUHEOL51") // .setUserId("yida_pub_account") // .setAppType("APP_OVZ4YE0AZPWIHDYPIB2Y"); // // SearchFormDatasResponse searchFormDatasResponse = client.searchFormDatasWithOptions(searchFormDatasRequest, searchFormDatasHeaders, new RuntimeOptions()); // System.out.println(JSON.toJSONString(searchFormDatasResponse.getBody())); // String s = JSON.toJSONString(searchFormDatasResponse.getBody()); // jsonObject = JSON.parseObject(s); // System.out.println("宜搭数据高级条件查询【特殊加班单】接口object对象:" + jsonObject); // } catch (TeaException err) { // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } catch (Exception _err) { // TeaException err = new TeaException(_err.getMessage(), _err); // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } // // JSONArray data = jsonObject.getJSONArray("data"); // System.out.println("返回的宜搭data:" + data); // // // // if (data.isEmpty()) { // System.out.println("查询当月【特殊加班单】返回数据为空!"); // } else { // for (int i = 0; i < data.size(); i++) { // JSONObject formData = data.getJSONObject(i).getJSONObject("formData"); // JSONArray tableField_lofdxd54 = formData.getJSONArray("tableField_lofdxd54"); // for (int j = 0; j < tableField_lofdxd54.size(); j++) { // JSONObject jsonObject1 = tableField_lofdxd54.getJSONObject(j); // listAll.add(jsonObject1); // } // } // } // // if (jsonObject.getFloat("totalCount") / 100 > jsonObject.getInteger("currentPage")){ // page += page; // } // // }while (jsonObject.getFloat("totalCount") / 100 > jsonObject.getInteger("currentPage")); // // JSONArray jsonArray = JSON.parseArray(listAll.toString()); // System.out.println("封装【特殊加班单】明细jsonArray:" + jsonArray); // } // // //根据部门id获取下级部门列表 // @Test // public JSONArray getBumenList(long bumenID){ // //// long bumenID = 541945265l; // // //获取部门列表 // String bumenStr = null; // try { // DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/v2/department/listsub"); // OapiV2DepartmentListsubRequest req = new OapiV2DepartmentListsubRequest(); // req.setDeptId(bumenID); // OapiV2DepartmentListsubResponse rsp = client.execute(req, accessTokenService.getAccessToken()); // System.out.println(rsp.getBody()); // bumenStr = rsp.getBody(); // } catch (ApiException e) { // e.printStackTrace(); // } // // JSONObject jsonObject = JSON.parseObject(bumenStr); // JSONArray result = jsonObject.getJSONArray("result"); // System.out.println("部门列表返回结果:" + result); // // return result; // } // // @Test // public void getBumen(){ // // //固定部门:【技术部】、【产品部】 // String bumenIdStr = "[\"480288770\",\"831620159\"]"; // // JSONArray bumenIdArray = JSON.parseArray(bumenIdStr); // // for (int i = 0; i < bumenIdArray.size(); i++) { // long bumenID = bumenIdArray.getLong(i); // System.out.println("循环第" + i + "次部门id~~~"); // // //获取部门列表 // JSONArray bumenList1 = getBumenList(bumenID); // // if (bumenList1.isEmpty()) { // System.out.println("第一层部门列表为空!"); // } else { // for (int j = 0; j < bumenList1.size(); j++) { // log.info("循环第一层部门列表。。。"); // JSONObject jsonObject1 = bumenList1.getJSONObject(j); // System.out.println("第一层部门列表:" + jsonObject1); // // //第一层部门id // long dept_id1 = jsonObject1.getLong("dept_id"); // System.out.println("第一层部门id:" + dept_id1); // // JSONArray bumenList2 = getBumenList(dept_id1); // // if (bumenList2.isEmpty()) { // System.out.println("第二层部门列表为空!"); // } else { // for (int k = 0; k < bumenList2.size(); k++) { // log.info("循环第二层部门列表。。。"); // // JSONObject jsonObject2 = bumenList2.getJSONObject(j); // System.out.println("第二层部门列表:" + jsonObject2); // } // } // } // } // } // } // // // //环世TB企业ID(tbOrganizationId) // public static String tbOrganizationId = "61318dae53bac9ea1baf7d9d"; // // @Test // public void getTBuserId(){ // // String youxiang = "hongd@olymtech.com"; // // int code = 0; // JSONArray result = null; // try { // OkHttpClient client = new OkHttpClient().newBuilder() // .build(); // MediaType mediaType = MediaType.parse("text/plain"); // RequestBody body = RequestBody.create(mediaType, ""); // Request request = new Request.Builder() // .url("https://open.teambition.com/api/org/member/search?orgId=" + tbOrganizationId + "&query=" + youxiang) // .method("GET", null) // .addHeader("Authorization", "Bearer " + accessTokenService.getAppToken()) // .addHeader("X-Tenant-Id", tbOrganizationId) // .addHeader("X-Tenant-Type", "organization") // .build(); // Response response = client.newCall(request).execute(); // // String bodyStr = response.body().string(); // JSONObject jsonObject = JSON.parseObject(bodyStr); //// System.out.println("返回体body:" + jsonObject); // code = jsonObject.getInteger("code"); // System.out.println("TB获取人员接口返回状态码:" + code); // // result = jsonObject.getJSONArray("result"); // System.out.println("TB获取人员接口返回result:" + result); // }catch (IOException e){ // e.printStackTrace(); // } // // String TBuserId = result.getJSONObject(0).getString("userId"); // System.out.println("根据邮箱匹配的TBuserId:" + TBuserId); // } // // @Test // public void getTEST(){ // String aaa = "[{\"shiliID\":\"FINST-QC766EC1L3UFMWJ56OPWECOBKSH62WS7X3SOL8Z3\",\"zhubumen\":\"跨境电商组\",\"zhiwei\":\"后端开发工程师\",\"userid\":\"2055054927907044\",\"username\":\"洪鼎\",\"youxiang\":\"hongd@olymtech.com\"}]"; // JSONArray yidaRenyuanxinxidibiao = JSON.parseArray(aaa); // log.info("【TEST】通过封装接口获取【人员信息底表】:" + yidaRenyuanxinxidibiao); // // for (int i = 0; i < yidaRenyuanxinxidibiao.size(); i++) { // //员工id // String userId = yidaRenyuanxinxidibiao.getJSONObject(i).getString("userid"); // System.out.println("员工id:" + userId); // } // } // // //根据任务ID获取任务详情 // @Test // public void getRenwuxiangqing(){ // // String renwuId = "65698c723718c3e0586686bf"; // // int code = 0; // JSONArray result = null; // JSONArray renwuxiangqing = null; // try { // OkHttpClient client = new OkHttpClient().newBuilder() // .build(); // MediaType mediaType = MediaType.parse("text/plain"); // RequestBody body = RequestBody.create(mediaType, ""); // Request request = new Request.Builder() // .url("https://open.teambition.com/api/v3/task/query?taskId=" + renwuId) // .method("GET", null) // .addHeader("Authorization", "Bearer " + accessTokenService.getAppToken()) // .addHeader("X-Tenant-Id", tbOrganizationId) // .addHeader("X-Tenant-Type", "organization") // .build(); // Response response = client.newCall(request).execute(); // // String bodyStr = response.body().string(); // JSONObject jsonObject = JSON.parseObject(bodyStr); //// System.out.println("返回体body:" + jsonObject); // code = jsonObject.getInteger("code"); // System.out.println("TB获取任务详情接口返回状态码:" + code); // // result = jsonObject.getJSONArray("result"); // System.out.println("TB获取任务详情接口返回result:" + result); // // renwuxiangqing = JSON.parseArray(result.toJSONString()); // System.out.println("接口返回任务详情数组:" + renwuxiangqing); // }catch (IOException e){ // e.printStackTrace(); // } // // JSONObject jsonObject = renwuxiangqing.getJSONObject(0); // // //是否放入回收站 // String isArchived = jsonObject.getString("isArchived"); // System.out.println("是否放入回收站:" + isArchived); // // String content = ""; // String yewuleixing = ""; // String tBxaingmuName = ""; // // if (renwuxiangqing == null){ // log.info("该任务不存在!"); // } else if (isArchived.equals("true")) { // log.info("该任务已放入回收站,不统计!"); // } else { // log.info("该任务没有放入回收站,正常统计!"); // } //// if (renwuxiangqing == null){ //// log.info("该任务不存在!"); //// }else { //// //// //任务标题 //// content = jsonObject.getString("content"); //// System.out.println("任务标题:" + content); //// //// /*调用封装接口获取自定义字段【业务类型】选项值集合*/ //// log.info("调用封装接口获取自定义字段【业务类型】选项值集合。"); //// JSONArray tBzidingyi = getTBzidingyi(); //// for (int i = 0; i < tBzidingyi.size(); i++) { //// JSONObject jsonObject1 = tBzidingyi.getJSONObject(i); //// //自定义字段id //// String zidingyiID = jsonObject1.getString("id"); //// System.out.println("自定义字段【业务类型】id:" + zidingyiID); //// //自定义字段名称 //// String zidingyiName = jsonObject1.getString("value"); //// System.out.println("自定义字段【业务类型】名称:" + zidingyiName); //// //// //业务类型 //// JSONArray yewuleixingjsonArray = renwuxiangqing.getJSONObject(0).getJSONArray("customfields"); //// for (int j = 0; j < yewuleixingjsonArray.size(); j++) { //// JSONArray yewuleixingjsonArray1 = yewuleixingjsonArray.getJSONObject(j).getJSONArray("value"); //// if (yewuleixingjsonArray1.isEmpty()){ //// log.info("任务字段没有内容,跳过~"); //// }else { //// String ziduanName = yewuleixingjsonArray1.getJSONObject(0).getString("title"); //// System.out.println("任务中包含的字段内容:" + ziduanName); //// //判断当前循环到的字段内容是否属于自定义字段【业务类型】中的某个值,如果符合其中一个则取该值 //// if (ziduanName.equals(zidingyiName)) { //// yewuleixing = ziduanName; //// } //// } //// } //// } //// System.out.println("【匹配】业务类型:" + yewuleixing); //// //// //// //// //项目ID //// String projectId = jsonObject.getString("projectId"); //// System.out.println("项目ID:" + projectId); //// //// } // //// return resultArray; // } // // //根据TB人员userId获取工时 // @Test // public void getTBgongshi(){ // // String TBuserId = "61336e4f4c42b6c212f358f1"; // // //TODO 需要做成动态的 // String startDate = "2023-11-01"; // String endDate = "2023-11-30"; // // int code = 0; // JSONArray result = null; // try { // OkHttpClient client = new OkHttpClient().newBuilder() // .build(); // MediaType mediaType = MediaType.parse("text/plain"); // RequestBody body = RequestBody.create(mediaType, ""); // Request request = new Request.Builder() // .url("https://open.teambition.com/api/worktime/query?userId=" + TBuserId + "&pageSize=1000&pageToken=&startDate="+ startDate +"&endDate="+ endDate) // .method("GET", null) // .addHeader("Authorization", "Bearer " + accessTokenService.getAppToken()) // .addHeader("X-Tenant-Id", tbOrganizationId) // .addHeader("X-Tenant-Type", "organization") // .build(); // Response response = client.newCall(request).execute(); // // String bodyStr = response.body().string(); // JSONObject jsonObject = JSON.parseObject(bodyStr); //// System.out.println("返回体body:" + jsonObject); // code = jsonObject.getInteger("code"); // System.out.println("TB获取人员实际工时接口返回状态码:" + code); // // result = jsonObject.getJSONArray("result"); // System.out.println("TB获取人员实际工时接口返回result:" + result); // }catch (IOException e){ // e.printStackTrace(); // } // // double gongshiAll = 0; // // if (result.isEmpty()){ // log.info("未获取到!"); // }else { // log.info("获取到!"); // // // for (int i = 0; i < result.size(); i++) { // //工时关联的task ID // String objectId = result.getJSONObject(i).getString("objectId"); // System.out.println("工时关联的task ID:" + objectId); // //工时(毫秒:转换成天) // long plantime = result.getJSONObject(i).getLong("worktime"); // System.out.println("工时(毫秒):" + plantime); // double gongshi = (double) plantime / 3600000 / 8; // BigDecimal gongshiTwo = new BigDecimal(gongshi); // double gs = gongshiTwo.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); // System.out.println("工时(毫秒转换成天):" + gs); // // gongshiAll = gongshiAll + gs; // //// //根据任务ID获取任务详情,解析得到任务标题和项目ID //// JSONArray renwuxiangqing = getRenwuxiangqing(objectId); //// JSONObject jsonObject = renwuxiangqing.getJSONObject(0); //// //任务标题 //// String content = jsonObject.getString("content"); //// System.out.println("任务标题:" + content); //// //// //项目ID //// String projectId = jsonObject.getString("projectId"); //// System.out.println("项目ID:" + projectId); //// /*根据项目ID获取项目详情*/ // } // } // // System.out.println("该人员计划工时为:" + gongshiAll); // } // // public JSONArray getTBxiangmufenzu(String fenzuId){ // //根据项目分组id获取其中的项目id // int code = 0; // JSONArray result = null; // try { // OkHttpClient client = new OkHttpClient().newBuilder() // .build(); // MediaType mediaType = MediaType.parse("text/plain"); // RequestBody body = RequestBody.create(mediaType, ""); // Request request = new Request.Builder() // .url("https://open.teambition.com/api/v3/project-tag/"+ fenzuId +"/project/query") // .method("GET", null) // .addHeader("Authorization", "Bearer " + accessTokenService.getAppToken()) // .addHeader("X-Tenant-Id", tbOrganizationId) // .addHeader("X-Tenant-Type", "organization") // .build(); // Response response = client.newCall(request).execute(); // String bodyStr = response.body().string(); // JSONObject jsonObject = JSON.parseObject(bodyStr); // System.out.println("返回体body:" + jsonObject); // code = jsonObject.getInteger("code"); // // result = jsonObject.getJSONArray("result"); // }catch (IOException e){ // e.printStackTrace(); // } // System.out.println("查询【项目分组】下面的项目id,接口返回的状态码(200成功,400异常):" + code); // System.out.println("每一个项目分组下面的项目id列表返回值:" + result); // // return result; // } // // //获取项目信息 // @Test // public void getTBxaingmu(){ // // String xiangmuID = "652e28f8d74c5cc851b1a732"; // // int code = 0; // JSONArray result = null; // try { // OkHttpClient client = new OkHttpClient().newBuilder() // .build(); // Request request = new Request.Builder() // .url("https://open.teambition.com/api/v3/project/query?projectIds=" + xiangmuID) // .method("GET", null) // .addHeader("Authorization", "Bearer " + accessTokenService.getAppToken()) // .addHeader("X-Tenant-Id", tbOrganizationId) // .addHeader("X-Tenant-Type", "organization") // .build(); // // Response response = client.newCall(request).execute(); // String bodyStr = response.body().string(); // JSONObject jsonObject = JSON.parseObject(bodyStr); // System.out.println("返回体body:" + jsonObject); // code = jsonObject.getInteger("code"); // System.out.println("查询【项目信息】接口返回的状态码(200成功,400异常):" + code); // // result = jsonObject.getJSONArray("result"); // }catch (IOException e){ // e.printStackTrace(); // } // // String xiangmuName = result.getJSONObject(0).getString("name"); // System.out.println("项目名称:" + xiangmuName); // } // // //根据项目ID获取项目分组ID // @Test // public void getXiangmufenzuID(){ // // //项目ID // String xiangmuID = "65489aef757f53d1f80dfaa6"; // // int code = 0; // JSONArray result = null; // String xiangmufenzuID = ""; // try { // OkHttpClient client = new OkHttpClient().newBuilder() // .build(); // MediaType mediaType = MediaType.parse("text/plain"); // RequestBody body = RequestBody.create(mediaType, ""); // Request request = new Request.Builder() // .url("https://open.teambition.com/api/v3/project/"+ xiangmuID +"/project-tag") // .method("GET", null) // .addHeader("Authorization", "Bearer " + accessTokenService.getAppToken()) // .addHeader("X-Tenant-Id", tbOrganizationId) // .addHeader("X-Tenant-Type", "organization") // .build(); // Response response = client.newCall(request).execute(); // // String bodyStr = response.body().string(); // JSONObject jsonObject = JSON.parseObject(bodyStr); // System.out.println("返回体body:" + jsonObject); // code = jsonObject.getInteger("code"); // System.out.println("查询【项目分组】接口返回的状态码(200成功,400异常):" + code); // // result = jsonObject.getJSONArray("result"); // xiangmufenzuID = result.getString(0); // }catch (IOException e){ // e.printStackTrace(); // } // // System.out.println("项目分组ID:" + xiangmufenzuID); // // } // // //根据项目分组ID获取项目分组名称 // @Test // public void getXiangmufenzuName(){ // // //项目分组ID // String xiangmufenzuID = "6459ffcafe95850316b2c2dc"; // // int code = 0; // JSONArray result = null; // String xiangmufenzuName = ""; // try { // OkHttpClient client = new OkHttpClient().newBuilder() // .build(); // MediaType mediaType = MediaType.parse("text/plain"); // RequestBody body = RequestBody.create(mediaType, ""); // Request request = new Request.Builder() // .url("https://open.teambition.com/api/v3/project-tag/query?ids="+ xiangmufenzuID) // .method("GET", null) // .addHeader("Authorization", "Bearer " + accessTokenService.getAppToken()) // .addHeader("X-Tenant-Id", tbOrganizationId) // .addHeader("X-Tenant-Type", "organization") // .build(); // Response response = client.newCall(request).execute(); // // String bodyStr = response.body().string(); // JSONObject jsonObject = JSON.parseObject(bodyStr); // System.out.println("返回体body:" + jsonObject); // code = jsonObject.getInteger("code"); // System.out.println("查询【项目分组名称】接口返回的状态码(200成功,400异常):" + code); // // result = jsonObject.getJSONArray("result"); // JSONObject jsonObject1 = result.getJSONObject(0); // xiangmufenzuName = jsonObject1.getString("name"); // }catch (IOException e){ // e.printStackTrace(); // } // // System.out.println("项目分组名称:" + xiangmufenzuName); // // } // // @Test // public void getTB(){ // /*根据人员信息底表获取【TB项目/任务工时】数据*/ // //获取项目分组【IDX项目】下面的分组 // String IDXxiangmufenzuID = "645def56443fd5770693c3f8"; // // int code = 0; // JSONArray result = null; // try { // OkHttpClient client = new OkHttpClient().newBuilder() // .build(); // MediaType mediaType = MediaType.parse("text/plain"); // RequestBody body = RequestBody.create(mediaType, ""); // Request request = new Request.Builder() // .url("https://open.teambition.com/api/v3/project-tag/query?parentProjectTagId=" + IDXxiangmufenzuID) // .method("GET", null) // .addHeader("Authorization", "Bearer " + accessTokenService.getAppToken()) // .addHeader("X-Tenant-Id", tbOrganizationId) // .addHeader("X-Tenant-Type", "organization") // .build(); // Response response = client.newCall(request).execute(); // String bodyStr = response.body().string(); // JSONObject jsonObject = JSON.parseObject(bodyStr); // System.out.println("返回体body:" + jsonObject); // code = jsonObject.getInteger("code"); // // result = jsonObject.getJSONArray("result"); // }catch (IOException e){ // e.printStackTrace(); // } // System.out.println("查询【IDX分组】下面的分组,接口返回的状态码(200成功,400异常):" + code); // // for (int i = 0; i < result.size(); i++) { // String fenzuId = result.getJSONObject(i).getString("id"); // System.out.println("分组id:" + fenzuId); // String fenzuName = result.getJSONObject(i).getString("name"); // System.out.println("分组名称:" + fenzuName); // } // // // // // //// try { //// OkHttpClient client = new OkHttpClient().newBuilder() //// .build(); //// Request request = new Request.Builder() //// .url("https://open.teambition.com/api/v3/project/query?pageSize=1000") //// .method("GET", null) //// .addHeader("Authorization", "Bearer " + accessTokenService.getAppToken()) //// .addHeader("X-Tenant-Id", tbOrganizationId) //// .addHeader("X-Tenant-Type", "organization") //// .build(); //// //// Response response = client.newCall(request).execute(); //// String bodyStr = response.body().string(); //// JSONObject jsonObject = JSON.parseObject(bodyStr); //// System.out.println("返回体body:" + jsonObject); //// code = jsonObject.getInteger("code"); //// //// result = jsonObject.getJSONArray("result"); //// }catch (IOException e){ //// e.printStackTrace(); //// } //// System.out.println("查询【项目信息】接口返回的状态码(200成功,400异常):" + code); // // } // // //获取IDX分组下的目录名称 // public JSONArray getIDXfenzu(){ // /*根据人员信息底表获取【TB项目/任务工时】数据*/ // //获取项目分组【IDX项目】下面的分组 // String IDXxiangmufenzuID = "645def56443fd5770693c3f8"; // // int code = 0; // JSONArray result = null; // try { // OkHttpClient client = new OkHttpClient().newBuilder() // .build(); // MediaType mediaType = MediaType.parse("text/plain"); // RequestBody body = RequestBody.create(mediaType, ""); // Request request = new Request.Builder() // .url("https://open.teambition.com/api/v3/project-tag/query?parentProjectTagId=" + IDXxiangmufenzuID) // .method("GET", null) // .addHeader("Authorization", "Bearer " + accessTokenService.getAppToken()) // .addHeader("X-Tenant-Id", tbOrganizationId) // .addHeader("X-Tenant-Type", "organization") // .build(); // Response response = client.newCall(request).execute(); // String bodyStr = response.body().string(); // JSONObject jsonObject = JSON.parseObject(bodyStr); // System.out.println("返回体body:" + jsonObject); // code = jsonObject.getInteger("code"); // // result = jsonObject.getJSONArray("result"); // }catch (IOException e){ // e.printStackTrace(); // } // System.out.println("查询【IDX分组】下面的分组,接口返回的状态码(200成功,400异常):" + code); // // return result; // } // // //测试业务类型--分组目录获取 // @Test // public void getFenzu(){ // // String xiangmufenzuName = "船东"; // int flag = 0; // String XXX = ""; // // //调用接口获取IDX分组下的目录名称,匹配逻辑下最终的业务类型名称 // log.info("调用接口获取IDX分组下的目录名称==="); // JSONArray IDXfenzu = getIDXfenzu(); // for (int f = 0; f < IDXfenzu.size(); f++) { // String fenzuId = IDXfenzu.getJSONObject(f).getString("id"); // System.out.println("分组id:" + fenzuId); // String fenzuName = IDXfenzu.getJSONObject(f).getString("name"); // System.out.println("分组名称:" + fenzuName); // // if (flag == 0){ // if (xiangmufenzuName.equals(fenzuName)){ // log.info("匹配到IDX分组名称,去取该IDX分组下的目录名称。"); // XXX = fenzuName; // //添加标识,说明已经匹配到了 // flag = flag + 1; // }else { // log.info("匹配不到IDX分组名称,继续匹配下一个IDX分组。"); // } // } // } // System.out.println("获取的IDX分组下的目录名称用作最终的【业务类型】:" + XXX); // } // // // //根据自定义字段ID【业务类型】获取自定义字段内容 // @Test // public void getTBzidingyi() { // // //业务类型 // String zidingyiID = "642a8ff24ed7d8c44b469ced"; // // int code = 0; // JSONArray result = null; // try { // OkHttpClient client = new OkHttpClient().newBuilder() // .build(); // MediaType mediaType = MediaType.parse("text/plain"); // RequestBody body = RequestBody.create(mediaType, ""); // Request request = new Request.Builder() // .url("https://open.teambition.com/api/v3/customfield/search?cfIds=" + zidingyiID) // .method("GET", null) // .addHeader("Authorization", "Bearer " + accessTokenService.getAppToken()) // .addHeader("X-Tenant-Id", tbOrganizationId) // .addHeader("X-Tenant-Type", "organization") // .build(); // Response response = client.newCall(request).execute(); // // String bodyStr = response.body().string(); // JSONObject jsonObject = JSON.parseObject(bodyStr); // System.out.println("返回体body:" + jsonObject); // code = jsonObject.getInteger("code"); // System.out.println("查询【自定义字段:业务类型】接口返回的状态码(200成功,400异常):" + code); // // result = jsonObject.getJSONArray("result"); // System.out.println("result:" + result); // // }catch (IOException e){ // e.printStackTrace(); // } // // JSONArray yewuleixingArray = result.getJSONObject(0).getJSONArray("choices"); // System.out.println("【业务类型】值:" + yewuleixingArray); // //// return yewuleixingArray; // } // // //获取迭代类型 // @Test // public void getDiedai(){ // // String xmid = "6476b93d344ff5c76845eb8d"; // String ddid = "6528b83315680fd221e3c1b6"; // // int code = 0; // JSONArray result = null; // String diedaiName = ""; // try { // OkHttpClient client = new OkHttpClient().newBuilder() // .build(); // MediaType mediaType = MediaType.parse("text/plain"); // RequestBody body = RequestBody.create(mediaType, ""); // Request request = new Request.Builder() // .url("https://open.teambition.com/api/v3/project/" + xmid + "/sprint/search?sprintIds=" + ddid) // .method("GET", null) // .addHeader("Authorization", "Bearer " + accessTokenService.getAppToken()) // .addHeader("X-Tenant-Id", tbOrganizationId) // .addHeader("X-Tenant-Type", "organization") // .build(); // Response response = client.newCall(request).execute(); // // String bodyStr = response.body().string(); // JSONObject jsonObject = JSON.parseObject(bodyStr); // System.out.println("返回体body:" + jsonObject); // code = jsonObject.getInteger("code"); // System.out.println("查询【迭代名称】接口返回的状态码(200成功,400异常):" + code); // // result = jsonObject.getJSONArray("result"); // System.out.println("result:" + result); // // if (!result.isEmpty()){ // diedaiName = result.getJSONObject(0).getString("name"); // } // }catch (IOException e){ // e.printStackTrace(); // } // System.out.println("迭代名称:" + diedaiName); // } // // // //删除宜搭表单数据【工时数据汇总表】 // @Test // public void delGongshitongji(){ // // JSONObject jsonObject = null; // // int size = 100; // int page = 1; // // List listAll = new ArrayList(); // // do { // // //【环世架构】 // try { // com.aliyun.dingtalkyida_1_0.Client client = createClient(); // com.aliyun.dingtalkyida_1_0.models.SearchFormDatasHeaders searchFormDatasHeaders = new com.aliyun.dingtalkyida_1_0.models.SearchFormDatasHeaders(); // searchFormDatasHeaders.xAcsDingtalkAccessToken = accessTokenService.getAccessToken(); // com.aliyun.dingtalkyida_1_0.models.SearchFormDatasRequest searchFormDatasRequest = new com.aliyun.dingtalkyida_1_0.models.SearchFormDatasRequest() // .setSystemToken("J0A6698165EFMED0AHIG76FW7C6Q3ON1PG5OL482") //// .setSearchFieldJson(mapAllStr) // .setCurrentPage(page) // .setPageSize(size) // .setFormUuid("FORM-BH766Y61W4CFWBS0869YFBF8COTE2QEHIH5OLM") // .setUserId("yida_pub_account") // .setAppType("APP_QHPV3T4ZU2Y88Q4U0UDA"); // // SearchFormDatasResponse searchFormDatasResponse = client.searchFormDatasWithOptions(searchFormDatasRequest, searchFormDatasHeaders, new RuntimeOptions()); //// System.out.println(JSON.toJSONString(searchFormDatasResponse.getBody())); // String s = JSON.toJSONString(searchFormDatasResponse.getBody()); // jsonObject = JSON.parseObject(s); // System.out.println("宜搭数据高级条件查询【工时数据汇总表】接口object对象:" + jsonObject); // } catch (TeaException err) { // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } catch (Exception _err) { // TeaException err = new TeaException(_err.getMessage(), _err); // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } // // JSONArray data = jsonObject.getJSONArray("data"); //// System.out.println("返回的宜搭data:" + data); // // // if (data.isEmpty()) { // System.out.println("查询当月【工时数据汇总表】返回数据为空!"); // } else { // for (int i = 0; i < data.size(); i++) { // JSONObject formData = data.getJSONObject(i).getJSONObject("formData"); //// System.out.println("循环返回的宜搭formData:" + formData); // // //实例ID // String shiliID = data.getJSONObject(i).getString("formInstanceId"); // System.out.println("实例ID===>" + shiliID); // // try { // com.aliyun.dingtalkyida_1_0.Client client = createClient(); // DeleteFormDataHeaders deleteFormDataHeaders = new DeleteFormDataHeaders(); // deleteFormDataHeaders.xAcsDingtalkAccessToken = accessTokenService.getAccessToken(); // DeleteFormDataRequest deleteFormDataRequest = new DeleteFormDataRequest() // .setAppType("APP_QHPV3T4ZU2Y88Q4U0UDA") // .setSystemToken("J0A6698165EFMED0AHIG76FW7C6Q3ON1PG5OL482") // .setUserId("yida_pub_account") // .setFormInstanceId(shiliID); // // client.deleteFormDataWithOptions(deleteFormDataRequest, deleteFormDataHeaders, new RuntimeOptions()); // } catch (TeaException err) { // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } catch (Exception _err) { // TeaException err = new TeaException(_err.getMessage(), _err); // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } // } // } // // if (jsonObject.getFloat("totalCount") / 100 > jsonObject.getFloat("currentPage")){ // page = page + 1; // System.out.println("下一次待查询分页:" + page); // } // // }while (jsonObject.getFloat("totalCount") / 100 > jsonObject.getFloat("currentPage")); // // System.out.println("删除【工时数据统计表】完成!"); // } // // //多线程执行for循环 // @Test // public void testFor() throws InterruptedException{ // //创建一个线程池,最大线程为10 //// ExecutorService executorService = Executors.newFixedThreadPool(10); // // //定义循环此时 // int size = 100; // // for (int i = 0; i < size; i++) { // ThreadUtil.execAsync(() -> { // try { // Thread.sleep(3000); // } catch (InterruptedException e) { // e.printStackTrace(); // } // System.out.println("线程" + Thread.currentThread().getName() + "执行完"); // }); // System.out.println("第" + i + "个线程"); // } // System.out.println("完成"); // //// for (int i = 0; i < size; i++) { //// // 任务逻辑代码 //// System.out.println("任务执行中:" + i); //// //// try { //// Thread.sleep(2000); //// }catch (Exception e){ //// e.printStackTrace(); //// } //// } // //// // 定义任务 //// Runnable task = () -> { //// // 循环逻辑 //// for (int i = 0; i < size; i++) { //// // 任务逻辑代码 //// System.out.println("任务执行中:" + i); //// //// try { //// Thread.sleep(2000); //// }catch (Exception e){ //// e.printStackTrace(); //// } //// //// } //// }; //// //// // 提交任务给线程池 //// executorService.execute(task); //// //// // 关闭线程池 //// executorService.shutdown(); //// //// // 等待任务完成 //// executorService.awaitTermination(Long.MAX_VALUE, TimeUnit.NANOSECONDS); //// //// System.out.println("任务执行完成"); // } // // // //通过IDMap查询TBuserId // @Test // public void getDingdingToTBuserId(){ // // String userid = "3242531728350746"; // // String dingCorpId = "ding8f59ac9a4a00de1635c2f4657eb6378f"; // // int code = 0; // JSONArray result = null; // try { // OkHttpClient client = new OkHttpClient().newBuilder() // .build(); // MediaType mediaType = MediaType.parse("text/plain"); // RequestBody body = RequestBody.create(mediaType, ""); // Request request = new Request.Builder() // .url("https://open.teambition.com/api/idmap/query?refId="+ dingCorpId +"&refer=dingTalk-user&extraUserId="+ userid) // .method("GET", null) // .addHeader("Authorization", "Bearer " + accessTokenService.getAppToken()) // .addHeader("X-Tenant-Id", tbOrganizationId) // .addHeader("X-Tenant-Type", "organization") // .build(); // Response response = client.newCall(request).execute(); // // String bodyStr = response.body().string(); // JSONObject jsonObject = JSON.parseObject(bodyStr); //// System.out.println("返回体body:" + jsonObject); // code = jsonObject.getInteger("code"); // System.out.println("TB获取人员接口返回状态码:" + code); // // result = jsonObject.getJSONArray("result"); // System.out.println("TB获取人员接口返回result:" + result); // }catch (IOException e){ // e.printStackTrace(); // } // // String tbId = result.getJSONObject(0).getString("tbId"); // System.out.println("根据钉钉userid匹配的TBuserId:" + tbId); // } // // //宜搭接口调用 // public static com.aliyun.dingtalkyida_1_0.Client createClient2() throws Exception { // com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config(); // config.protocol = "https"; // config.regionId = "central"; // return new com.aliyun.dingtalkyida_1_0.Client(config); // } // // //查询宜搭中是否有该任务的工时 // @Test // public void getYida(){ // //// {"textField_lqn3tjjv":"2024-01-22T00:00:00.000Z","textField_losayxi8":"2024-01","textField_los8y15p":"061141054827422143","textField_lp8ihks3":"65ba02f66f5ee01eee0cf59b"} // // //{"textField_lqn3tjjv":"2024-03-15T00:00:00.000Z","textField_losayxi8":"2024-03", // // "textField_los8y15p":"010447236935176207","textField_lp8ihks3":"65befa3e8b441c8a0e5df178"} // // String sjtjyf = "2024-04"; // String userid = "085953146222434489"; // String tbrwid = "656071b6f06c9997edf0f984"; // String rwgsssrq = "2024-04-30T00:00:00.000Z"; // String panduan = "判断实际工时是否存在"; // // //封装根据当前年份作为查询条件 // Map mapAll = new HashMap(); //// //查询实际统计月份 //// mapAll.put("textField_losayxi8",sjtjyf); //// //人员userid //// mapAll.put("textField_los8y15p",userid); //// //TB任务id //// mapAll.put("textField_lp8ihks3",tbrwid); //// //任务工时所属日期 //// mapAll.put("textField_lqn3tjjv",rwgsssrq); // // if (panduan.equals("实际工时")){ // //查询实际统计月份 // mapAll.put("textField_losayxi8",sjtjyf); // //人员userid // mapAll.put("textField_los8y15p",userid); // //TB任务id // mapAll.put("textField_lp8ihks3",tbrwid); // //任务工时所属日期 // mapAll.put("textField_lqn3tjjv",rwgsssrq); // }else { // //查询实际统计月份 // mapAll.put("textField_losayxi8",sjtjyf); // //人员userid // mapAll.put("textField_los8y15p",userid); // //TB任务id // mapAll.put("textField_lp8ihks3",tbrwid); // //任务工时所属日期 // mapAll.put("textField_lqn3tjjv",rwgsssrq); // //工时类型 // mapAll.put("textField_lrq4uku2","实际工时"); // } // // String mapAllStr = JSON.toJSONString(mapAll); // System.out.println("封装查询宜搭中是否有该任务工时的字段参数:" + mapAllStr); // // JSONObject jsonObject = null; // JSONArray data = null; // // int size = 100; // int page = 1; // // //【环世架构】 // try { // com.aliyun.dingtalkyida_1_0.Client client = createClient(); // com.aliyun.dingtalkyida_1_0.models.SearchFormDatasHeaders searchFormDatasHeaders = new com.aliyun.dingtalkyida_1_0.models.SearchFormDatasHeaders(); // searchFormDatasHeaders.xAcsDingtalkAccessToken = accessTokenService.getAccessToken(); // com.aliyun.dingtalkyida_1_0.models.SearchFormDatasRequest searchFormDatasRequest = new com.aliyun.dingtalkyida_1_0.models.SearchFormDatasRequest() // .setSystemToken("J0A6698165EFMED0AHIG76FW7C6Q3ON1PG5OL482") // .setSearchFieldJson(mapAllStr) // .setCurrentPage(page) // .setPageSize(size) // .setFormUuid("FORM-BH766Y61W4CFWBS0869YFBF8COTE2QEHIH5OLM") // .setUserId("yida_pub_account") // .setAppType("APP_QHPV3T4ZU2Y88Q4U0UDA"); // // SearchFormDatasResponse searchFormDatasResponse = client.searchFormDatasWithOptions(searchFormDatasRequest, searchFormDatasHeaders, new RuntimeOptions()); //// System.out.println(JSON.toJSONString(searchFormDatasResponse.getBody())); // String s = JSON.toJSONString(searchFormDatasResponse.getBody()); // jsonObject = JSON.parseObject(s); //// System.out.println("钉钉宜搭数据高级条件查询【宜搭工时统计表】接口object对象:" + jsonObject); // // data = jsonObject.getJSONArray("data"); // System.out.println("返回的宜搭data:" + data); // } catch (TeaException err) { // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } catch (Exception _err) { // TeaException err = new TeaException(_err.getMessage(), _err); // if (!com.aliyun.teautil.Common.empty(err.code) && !com.aliyun.teautil.Common.empty(err.message)) { // // err 中含有 code 和 message 属性,可帮助开发定位问题 // } // // } // // String flag = null; // if (data == null || data.isEmpty()) { // System.out.println("查询【宜搭工时统计表】返回数据为空!"); // flag = "不存在"; // } else { // flag = "已存在"; // } // System.out.println("查询返回结果标识:" + flag); // //// return ""; // } // // // public static final Long EXPIRES_IN = 1 * 3600 * 1000L; // public static final String TOKEN_APPID = "_appId"; // // public static String appId = "65e56669046a09f810102606"; // public static String appSecret = "tWxECRxFHG8SYnBxPNz6gyDRCAew7CjR"; // //获取access_token的方法(TB应用)【测试】 // @Test // public void getAppToken() { // if (org.springframework.util.StringUtils.isEmpty(appId) || org.springframework.util.StringUtils.isEmpty(appSecret)) { //// return null; // } // // Algorithm algorithm = Algorithm.HMAC256(appSecret); // long timestamp = System.currentTimeMillis(); // Date issuedAt = new Date(timestamp); // Date expiresAt = new Date(timestamp + EXPIRES_IN); // //// return JWT.create() //// .withClaim(TOKEN_APPID, appId) //// .withIssuedAt(issuedAt) //// .withExpiresAt(expiresAt) //// .sign(algorithm); // // String sign = JWT.create() // .withClaim(TOKEN_APPID, appId) // .withIssuedAt(issuedAt) // .withExpiresAt(expiresAt) // .sign(algorithm); // System.out.println("TB应用的AccessToken:" + sign); // //// return sign; // // } //}