20,358
社区成员
发帖
与我相关
我的任务
分享
DefaultDingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/processinstance/create");
OapiProcessinstanceCreateRequest request = new OapiProcessinstanceCreateRequest();
request.setAgentId(41605932L);
request.setProcessCode("PROC-BY6LI83V-4R8T1CHNUX58O0Z6C55M3-DTQJJGEJ-1");
// 审批流表单参数,设置各表单项值
List<OapiProcessinstanceCreateRequest.FormComponentValueVo> formComponentValues = new ArrayList<OapiProcessinstanceCreateRequest.FormComponentValueVo>();
// 单行输入框
OapiProcessinstanceCreateRequest.FormComponentValueVo vo1 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
vo1.setName("单行输入框示例");
vo1.setValue("单行输入框value");
// 多行输入框
OapiProcessinstanceCreateRequest.FormComponentValueVo vo2 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
vo2.setName("多行输入框示例");
vo2.setValue("多行输入框value");
// 图片
OapiProcessinstanceCreateRequest.FormComponentValueVo vo3 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
vo3.setName("图片示例");
vo3.setValue("[\"http://xxxxx\"]");
// 明细包含控件
// 明细-单行输入框
OapiProcessinstanceCreateRequest.FormComponentValueVo ItemName1 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
ItemName1.setName("明细-单行输入框示例");
ItemName1.setValue("明细-单行输入框value");
// 明细-多行输入框
OapiProcessinstanceCreateRequest.FormComponentValueVo ItemName2 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
ItemName2.setName("明细-多行输入框示例");
ItemName2.setValue("明细-多行输入框value");
// 明细-照片
OapiProcessinstanceCreateRequest.FormComponentValueVo ItemName3 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
ItemName3.setName("明细-图片示例");
ItemName3.setValue("[\"http://xxxxx\"]");
// 明细
OapiProcessinstanceCreateRequest.FormComponentValueVo vo4 = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
vo4.setName("明细示例");
vo4.setValue(JSON.toJSONString(Arrays.asList(Arrays.asList(ItemName1, ItemName2, ItemName3))));
// 附件
OapiProcessinstanceCreateRequest.FormComponentValueVo attachmentComponent = new OapiProcessinstanceCreateRequest.FormComponentValueVo();
JSONObject attachmentJson = new JSONObject();
attachmentJson.put("fileId", "6433971140");
attachmentJson.put("fileName", "2644.JPG");
attachmentJson.put("fileType", "jpg");
attachmentJson.put("spaceId", "1635477658");
attachmentJson.put("fileSize", "333");
JSONArray array = new JSONArray();
array.add(attachmentJson);
attachmentComponent.setValue(array.toJSONString());
attachmentComponent.setName("附件");
// 添加单行输入框、多行输入框、图片、明细、附件到表单
formComponentValues.add(vo1);
formComponentValues.add(vo2);
formComponentValues.add(vo3);
formComponentValues.add(vo4);
formComponentValues.add(attachmentComponent);
request.setFormComponentValues(formComponentValues);
request.setApprovers("userid1,userid2");
request.setOriginatorUserId("userid1");
request.setDeptId(-1L);
request.setCcList("userid1,userid2");
request.setCcPosition("START_FINISH");
OapiProcessinstanceCreateResponse response = client.execute(request,accessToken);
$access_token = getAccessToken(APP_KEY, APP_SECRET);
//正常情况下access_token有效期为7200秒,有效期内重复获取返回相同结果,并自动续期。
$process_code = "PROC-EEEEDFF0-E81B-450B-A32E-0FE1CA6457C1";//服务监测计划
$originator_user_id ="053066671332391176"; //"originator_userid"
$dept_id ="123098269";//"originator_dept_id"
$form_component_values =array(array('name' => '级别', 'value' => '部门级'),array('name' => '["监测开始时间","监测结束时间"]', 'value' => '["2019-09-10 10:32","2019-10-10 10:36"]'));
//$process_code = "PROC-B4274CDB-743D-4001-B3AF-D7CA105EA44C";//服务监察记录
//$data = array("process_code" => $process_code, "start_time" => time());strtotime('2010-03-24 08:15:42')
$data = array("process_code" => $process_code, "originator_user_id" => $originator_user_id,"dept_id" => $dept_id,"form_component_values" => $form_component_values);
print_r($data);
$webhook = "https://oapi.dingtalk.com/topapi/processinstance/create?access_token=" . $access_token;
$result = request_by_curl($webhook, json_encode($data));