Commit b39ef2e8 authored by 赵啸非's avatar 赵啸非

Merge remote-tracking branch 'origin/master'

parents bec7bf24 1bc52764
...@@ -5,13 +5,13 @@ ...@@ -5,13 +5,13 @@
:visible.sync="open" :visible.sync="open"
:direction="direction" :direction="direction"
:destroy-on-close="true" :destroy-on-close="true"
size="50%" size="53%"
> >
<div class="content_box"> <div class="content_box">
<div class="text_line"> <div class="text_line">
<div class="text_box"> <div class="text_box">
<span>窗口负责人:</span> <span>窗口负责人:</span>
<span>{{ form.ownerName }}</span> <span>{{ form.ownerName || '--'}}</span>
</div> </div>
<div class="text_box"> <div class="text_box">
<span>登记年月:</span> <span>登记年月:</span>
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
</div> </div>
<div class="text_line"> <div class="text_line">
<div class="text_box"> <div class="text_box">
<span style="width: 920px;" <span style="width: 100%;"
><el-table :data="tableData" border style="width: 100%"> ><el-table :data="tableData" border style="width: 100%">
<el-table-column type="index" label="序号" width="50"> <el-table-column type="index" label="序号" width="50">
</el-table-column> </el-table-column>
...@@ -87,19 +87,19 @@ ...@@ -87,19 +87,19 @@
<div class="text_line"> <div class="text_line">
<div class="text_box"> <div class="text_box">
<span>备注:</span> <span>备注:</span>
<span>{{ form.remark }}</span> <span>{{ form.remark || '--' }}</span>
</div> </div>
</div> </div>
<div class="text_line"> <div class="text_line">
<div class="text_box"> <div class="text_box">
<span>附件材料:</span> <span>附件材料:</span>
<span>{{ form.annex }}</span> <span>{{ form.annex || '--' }}</span>
</div> </div>
</div> </div>
<div class="hecha_box"> <div class="hecha_box">
<div class="hecha_title"> <div class="hecha_title">
<span class="line"></span> <span class="line"></span>
<span>核查情况</span> <span style="font-size: 18px;font: bold;margin-bottom: 20px;color: #409eff;">核查情况</span>
</div> </div>
<div class="hecha_content"> <div class="hecha_content">
<el-form ref="form" :model="form" :rules="rules" label-width="180px"> <el-form ref="form" :model="form" :rules="rules" label-width="180px">
......
...@@ -6,50 +6,126 @@ ...@@ -6,50 +6,126 @@
:direction="direction" :direction="direction"
size="50%" size="50%"
> >
<el-form ref="form" :model="form" :rules="rules" label-width="120px"> <el-form ref="form" :model="form" :rules="rules" label-width="100px" style="padding: 20px;">
<el-row> <el-row>
<Field <Field
label="部门"
prop="deptId"
type="select" type="select"
v-model="form.deptId" label="负责人姓名"
placeholder="请输入部门id号"
/>
<Field
label="姓名"
prop="name" prop="name"
filterable
v-model="form.name" v-model="form.name"
placeholder="请输入姓名" :enumData="userList"
placeholder="请输入负责人姓名"
/> />
<Field <Field
label="联系电话"
prop="phone"
v-model="form.phone"
placeholder="请输入联系电话"
/>
<!-- <Field
label="大厅"
prop="deptId"
type="select"
v-model="form.deptId"
placeholder="请选择大厅"
/> -->
<el-col :span="12">
<el-form-item label="大厅/部门" prop="deptId">
<el-cascader
v-model="form.deptId"
style="width:100%"
@change="cascaderChange"
:options="dict.deptId"
clearable
:props="{ label: 'label', value: 'id' }"
>
</el-cascader>
</el-form-item>
</el-col>
<!-- <Field
label="部门"
prop="deptId"
type="select"
v-model="form.deptId"
placeholder="请选择部门"
/> -->
<!-- <Field
label="工号" label="工号"
prop="number" prop="number"
v-model="form.number" v-model="form.number"
placeholder="请输入工号" placeholder="请输入工号"
/> /> -->
<Field
label="电话号码" <!-- <Field
prop="phone"
v-model="form.phone"
placeholder="请输入电话号码"
/>
<Field
label="负责窗口数量" label="负责窗口数量"
prop="windowCount" prop="windowCount"
v-model="form.windowCount" v-model="form.windowCount"
placeholder="请输入负责窗口数量" placeholder="请输入负责窗口数量"
/> /> -->
<Field <!-- <Field
label="备注" label="备注"
prop="remark" prop="remark"
v-model="form.remark" v-model="form.remark"
type="textarea" type="textarea"
placeholder="请输入备注" placeholder="请输入备注"
/> /> -->
</el-row> </el-row>
<div style="background-color: rgba(242, 246, 252, 1);padding: 20px;">
<div style="display: flex;align-items: center;margin-bottom: 20px;">
<div style="flex: 1;">请选择窗口</div>
<div>
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item >
<el-input v-model="formInline.user" placeholder="请输入窗口名称或编号"></el-input>
</el-form-item>
<el-form-item >
<el-select v-model="formInline.region" placeholder="请选择大厅">
<el-option label="区域一" value="shanghai"></el-option>
<el-option label="区域二" value="beijing"></el-option>
</el-select>
</el-form-item>
<el-form-item>
<el-button type="primary" @click="onSubmitSearch">查询</el-button>
</el-form-item>
</el-form>
<form-buttons @submit="submitForm" noCancelBtn /> </div>
</div>
<el-table
:data="tableData"
border
style="width: 100%">
<el-table-column
prop="date"
label="序号">
</el-table-column>
<el-table-column
prop="date"
label="窗口名称">
</el-table-column>
<el-table-column
prop="name"
label="编号">
</el-table-column>
<el-table-column
prop="address"
label="所属楼栋">
</el-table-column>
<el-table-column
prop="address"
label="所属楼层">
</el-table-column>
<el-table-column
prop="address"
label="操作">
</el-table-column>
</el-table>
</div>
<div style="padding: 20px;">
<el-button type="primary" @click="submitForm" >提交</el-button>
</div>
</el-form> </el-form>
</el-drawer> </el-drawer>
</template> </template>
...@@ -62,9 +138,18 @@ export default { ...@@ -62,9 +138,18 @@ export default {
components: {}, components: {},
created() { created() {
this.changePath("window/owner"); this.changePath("window/owner");
this.getUser()
}, },
data() { data() {
return { return {
//搜索表单
formInline:{
},
// 大厅
options:[],
//窗口
tableData:[],
// 遮罩层 // 遮罩层
loading: true, loading: true,
// 弹出层标题 // 弹出层标题
...@@ -75,11 +160,46 @@ export default { ...@@ -75,11 +160,46 @@ export default {
toString: [], toString: [],
toDate: [], toDate: [],
// 表单校验 // 表单校验
rules: {}, rules: {
name: [
{ required: true, message: "请输入姓名", trigger: "blur" },
{ max: 20, message: "最多只能录入20个字符", trigger: "blur" },
]
},
userList:{},
}; };
}, },
methods: { methods: {
cascaderChange(val) {
if (this.deptList.length > 0) {
this.form.deptId = this.deptList[this.deptList.length - 1];
} else {
this.form.deptId = "";
}
console.log(this.form.deptId, "当前选择");
},
// 查询人员
getUser(){
this.$post("/staff/list",{page:1,size:-1}).then(res=>{
console.log(res)
const {code,data} = res
if(code == 1){
const userList = data.data
const arr = {}
data.data.forEach(element => {
arr[element.id] = element.name
// arr.push({label:element.name,value:element.id})
});
this.userList = arr
console.log(arr,"@@@")
}
})
},
onSubmitSearch(){
},
/** 编辑 */ /** 编辑 */
edit(row) { edit(row) {
this.reset(); this.reset();
......
...@@ -35,7 +35,14 @@ export default { ...@@ -35,7 +35,14 @@ export default {
return { return {
config: { config: {
isshowTabPane: true, isshowTabPane: true,
search: [], search: [
{
name: "name",
type: "text",
label: "姓名",
fuzzy: true,
},
],
columns: [ columns: [
{ type: "selection", width: 60 }, { type: "selection", width: 60 },
{ type: "index", label: "序号", width: 50 }, { type: "index", label: "序号", width: 50 },
......
...@@ -78,13 +78,16 @@ public interface IDingPersonService extends IDingTalkService { ...@@ -78,13 +78,16 @@ public interface IDingPersonService extends IDingTalkService {
/** /**
* 根据系统电话查询指定时间的审批表单 * 根据系统电话查询指定时间的审批表单
* @param processCode 审批流的唯一码。 * @param processCode 审批流的唯一码(详见doc下 审批表单列表.txt)。
* 请假:PROC-2E5C0DFF-3615-4409-A614-A2011FED5D38
* 外出:PROC-56D3ADEE-45A4-47BC-931A-2A0DC067DE32
* 出差:PROC-578CBDDF-B768-496D-9918-44A3F1D9CAE7
* @param startTime 审批实例开始时间,Unix时间戳,单位毫秒 * @param startTime 审批实例开始时间,Unix时间戳,单位毫秒
* @param endTime 审批实例结束时间,Unix时间戳,单位毫秒。 * @param endTime 审批实例结束时间,Unix时间戳,单位毫秒。
* @param nextToken 分页游标。如果是非首次调用,该参数传上次调用时返回的nextToken。 * @param nextToken 分页游标。如果是非首次调用,该参数传上次调用时返回的nextToken。
* @param maxResults 分页参数,每页大小,最多传20。 * @param maxResults 分页参数,每页大小,最多传20。
* @param phones 发起人电话列表 最大列表长度为10 * @param userIds 发起人id列表 最大列表长度为10
*/ */
Rest<ListProcessInstanceIdsResponse> getProcessInstanceIdByPhone(String processCode, long startTime, long endTime, long nextToken, long maxResults, String phones) throws Exception; Rest<ListProcessInstanceIdsResponse> getProcessInstanceIdByUserIds(String processCode,long startTime,long endTime,long nextToken,long maxResults,String userIds) throws Exception;
} }
...@@ -16,6 +16,10 @@ import com.dingtalk.api.DefaultDingTalkClient; ...@@ -16,6 +16,10 @@ import com.dingtalk.api.DefaultDingTalkClient;
import com.dingtalk.api.DingTalkClient; import com.dingtalk.api.DingTalkClient;
import com.dingtalk.api.request.*; import com.dingtalk.api.request.*;
import com.dingtalk.api.response.*; import com.dingtalk.api.response.*;
import com.google.gson.Gson;
import com.google.gson.JsonArray;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
import com.mortals.framework.common.Rest; import com.mortals.framework.common.Rest;
import com.mortals.xhx.common.code.AppealResultEnum; import com.mortals.xhx.common.code.AppealResultEnum;
import com.mortals.xhx.common.code.LeaveRulesEnum; import com.mortals.xhx.common.code.LeaveRulesEnum;
...@@ -191,12 +195,15 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID ...@@ -191,12 +195,15 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID
/** /**
* 根据系统电话查询指定时间的审批表单 * 根据系统电话查询指定时间的审批表单
* @param processCode 审批流的唯一码(详见doc下 审批表单列表.txt)。 请假:PROC-2E5C0DFF-3615-4409-A614-A2011FED5D38 外出:PROC-56D3ADEE-45A4-47BC-931A-2A0DC067DE32 出差 :PROC-578CBDDF-B768-496D-9918-44A3F1D9CAE7 * @param processCode 审批流的唯一码(详见doc下 审批表单列表.txt)。
* 请假:PROC-2E5C0DFF-3615-4409-A614-A2011FED5D38
* 外出:PROC-56D3ADEE-45A4-47BC-931A-2A0DC067DE32
* 出差:PROC-578CBDDF-B768-496D-9918-44A3F1D9CAE7
* @param startTime 审批实例开始时间,Unix时间戳,单位毫秒 * @param startTime 审批实例开始时间,Unix时间戳,单位毫秒
* @param endTime 审批实例结束时间,Unix时间戳,单位毫秒。 * @param endTime 审批实例结束时间,Unix时间戳,单位毫秒。
* @param nextToken 分页游标。如果是非首次调用,该参数传上次调用时返回的nextToken。 * @param nextToken 分页游标。如果是非首次调用,该参数传上次调用时返回的nextToken。
* @param maxResults 分页参数,每页大小,最多传20。 * @param maxResults 分页参数,每页大小,最多传20。
* @param phones 发起人电话列表 最大列表长度为10 * @param userIds 发起人id列表 最大列表长度为10
* *
* @return 返回示例 { * @return 返回示例 {
* "result" : { * "result" : {
...@@ -206,26 +213,7 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID ...@@ -206,26 +213,7 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID
* "success" : true * "success" : true
* } * }
*/ */
public Rest<ListProcessInstanceIdsResponse> getProcessInstanceIdByPhone(String processCode,long startTime,long endTime,long nextToken,long maxResults,String phones) throws Exception{ public Rest<ListProcessInstanceIdsResponse> getProcessInstanceIdByUserIds(String processCode,long startTime,long endTime,long nextToken,long maxResults,String userIds) throws Exception{
String userIds = "";
if(!phones.isEmpty()){
List<String> phonesList = Arrays.asList(phones);
for(String phone : phonesList){
Rest<String> mobileRest = getPersonByMobile(phone);
if(mobileRest.getCode() == Rest.SUCCESS){
userIds += mobileRest.getData()+",";
}
}
}
//去掉末尾的逗号
if(userIds.endsWith(",")){
userIds = userIds.substring(0,userIds.lastIndexOf(","));
}
if (!userIds.equals("")) { if (!userIds.equals("")) {
com.aliyun.dingtalkworkflow_1_0.Client client = new com.aliyun.dingtalkworkflow_1_0.Client(setConfig()); com.aliyun.dingtalkworkflow_1_0.Client client = new com.aliyun.dingtalkworkflow_1_0.Client(setConfig());
com.aliyun.dingtalkworkflow_1_0.models.ListProcessInstanceIdsHeaders listProcessInstanceIdsHeaders = new com.aliyun.dingtalkworkflow_1_0.models.ListProcessInstanceIdsHeaders(); com.aliyun.dingtalkworkflow_1_0.models.ListProcessInstanceIdsHeaders listProcessInstanceIdsHeaders = new com.aliyun.dingtalkworkflow_1_0.models.ListProcessInstanceIdsHeaders();
...@@ -252,9 +240,11 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID ...@@ -252,9 +240,11 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID
} }
return Rest.fail("获取审批实例列表失败:"+com.aliyun.teautil.Common.empty(err.message)); return Rest.fail("获取审批实例列表失败:"+com.aliyun.teautil.Common.empty(err.message));
} }
}else {
return Rest.fail("userid为空");
} }
return Rest.fail("根据手机号: "+phones+" 未查询到钉钉userid");
} }
...@@ -352,7 +342,6 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID ...@@ -352,7 +342,6 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID
String leave_code = LeaveRulesEnum.事假.getLeave_code(); String leave_code = LeaveRulesEnum.事假.getLeave_code();
String leave_name = "事假"; String leave_name = "事假";
if(result.getTitle().contains("请假")){ if(result.getTitle().contains("请假")){
leave_code = LeaveRulesEnum.事假.getLeave_code();
leave_name = "事假"; leave_name = "事假";
if (result.getFormComponentValues().size() > 0) { if (result.getFormComponentValues().size() > 0) {
JSONArray jsonArray = JSONArray.parseArray(result.getFormComponentValues().get(0).getValue()); JSONArray jsonArray = JSONArray.parseArray(result.getFormComponentValues().get(0).getValue());
...@@ -478,7 +467,6 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID ...@@ -478,7 +467,6 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID
} }
} }
}else if(result.getTitle().contains("外出")){ }else if(result.getTitle().contains("外出")){
leave_code = LeaveRulesEnum.事假.getLeave_code();
leave_name = "因公外出"; leave_name = "因公外出";
leaveRecordEntity.setLeaveType(17); leaveRecordEntity.setLeaveType(17);
List<GetProcessInstanceResponseBody.GetProcessInstanceResponseBodyResultFormComponentValues> comList = result.getFormComponentValues(); List<GetProcessInstanceResponseBody.GetProcessInstanceResponseBodyResultFormComponentValues> comList = result.getFormComponentValues();
...@@ -506,6 +494,48 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID ...@@ -506,6 +494,48 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID
} }
} }
} }
}else if(result.getTitle().contains("出差")){
leave_name = "因公外出";
leaveRecordEntity.setLeaveType(17);
List<GetProcessInstanceResponseBody.GetProcessInstanceResponseBodyResultFormComponentValues> comList = result.getFormComponentValues();
if(!comList.isEmpty()){
for (GetProcessInstanceResponseBody.GetProcessInstanceResponseBodyResultFormComponentValues componentValues : comList){
switch (componentValues.name){
case "行程":
Gson gson = new Gson();
JsonArray jsonArray = gson.fromJson(componentValues.getValue(), JsonArray.class);
JsonObject jsonObject = jsonArray.get(0).getAsJsonObject(); // 获取第一个对象
JsonElement rowValueElement = jsonObject.get("rowValue"); // 获取rowValue字段的值
JsonArray rowValueArray = rowValueElement.getAsJsonArray(); // 获取数组
for (JsonElement element : rowValueArray) { // 遍历数组中的每个元素
JsonObject jsonObject1 = element.getAsJsonObject(); // 获取每个元素作为对象
String label = jsonObject1.get("label").getAsString(); // 获取label字段的值
String value = jsonObject1.get("value").getAsString();
if(label.contains("开始时间")){
Date startTime1 = dateFormat(value, "yyyy-MM-dd HH:mm", true);
leaveRecordEntity.setStartTime(startTime1);
}
if(label.contains("结束时间")){
Date endTime1 = dateFormat(value, "yyyy-MM-dd HH:mm", false);
leaveRecordEntity.setEndTime(endTime1);
}
}
break;
case "出差天数":
leaveRecordEntity.setDuration(Integer.parseInt(componentValues.getValue()) * 60 * 60 * 8); //天转换成秒 一天工作时间9小时
leaveRecordEntity.setSourceDingTime(Integer.parseInt(componentValues.getValue()) + "天");
break;
case "出差事由":
leaveRecordEntity.setReason(componentValues.getValue());
break;
case "图片":
leaveRecordEntity.setAttachmentPath(componentValues.getValue());
break;
}
}
}
} }
...@@ -898,6 +928,23 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID ...@@ -898,6 +928,23 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID
dateString = dateString.replace("下午", "18:00"); dateString = dateString.replace("下午", "18:00");
} }
} }
//只有日期的字符串要处理加上时间 否则会转换出错
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
try {
sdf.parse(dateString);
if(tag){
dateString += " 09:00";
}else {
dateString += " 18:00";
}
//该日期字符串只包含日期部分!
} catch (ParseException e) {
//该日期字符串不合法或者包含时间部分!不作处理
}
SimpleDateFormat dateFormat_ = new SimpleDateFormat(format); SimpleDateFormat dateFormat_ = new SimpleDateFormat(format);
Date t; Date t;
...@@ -909,5 +956,78 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID ...@@ -909,5 +956,78 @@ public class DingPersonServiceImpl extends AbstractDingTalkService implements ID
} }
} }
// public static void main(String[] args) {
// String result = "{\"attachedProcessInstanceIds\":[],\"bizAction\":\"NONE\",\"businessId\":\"202401161705000413779\",\"ccUserIds\":[\"2359336301844466\",\"2352352656711393\",\"254868153920685466\"],\"createTime\":\"2024-01-16T17:05Z\",\"finishTime\":\"2024-01-17T10:15Z\",\"formComponentValues\":[{\"bizAlias\":\"type\",\"componentType\":\"DDSelectField\",\"id\":\"DDSelectField-K2BJK0RV\",\"name\":\"外出类型\"},{\"bizAlias\":\"startTime\",\"componentType\":\"DDDateField\",\"id\":\"DDDateField-K2BJK0RW\",\"name\":\"开始时间\",\"value\":\"2024-01-17\"},{\"bizAlias\":\"finishTime\",\"componentType\":\"DDDateField\",\"id\":\"DDDateField-K2BJK0RX\",\"name\":\"结束时间\",\"value\":\"2024-01-17\"},{\"bizAlias\":\"duration\",\"componentType\":\"NumberField\",\"extValue\":\"{\\\"compressedValue\\\":\\\"1f8b08000000000000009550cb4ec33010fc973d1b94422222df2a2244257a81704088c3ca76a9851b475e1b5445f977d669a141ea05dfe6a1d9f10ca0d0a9e4309ab5d706e442803611ad7bb01441be0ea053c0687db7ea1adcb3e1b228c48cbcf72980ac27766330a66008e400d8f76e7f17fcaeb5bb9c7b535465b5288bfcc4416dfd4cabafeba3a61c123d1995f3e94f85b5cd4455b2c9747aa98227c60774368a228638f34df84ca1f14d80a54793bfbc414746c0a709c4274102ff1846015ba4dbdcecd7d13bec561ae4056ff6e5c347c3231e73af8a9f0659c807b97a8a7999b29eaefd63d5133b0f39f1cf9de5dad02c5f804b25dab6f8ce18c66f8db64c7edd010000\\\",\\\"extension\\\":\\\"{\\\\\\\"tag\\\\\\\":\\\\\\\"\\\\\\\"}\\\",\\\"unit\\\":\\\"DAY\\\",\\\"_from\\\":\\\"2024-01-17\\\",\\\"_overTimeApplyUserId\\\":\\\"01575932040926359398\\\",\\\"pushTag\\\":\\\"\\\",\\\"detailList\\\":[{\\\"classInfo\\\":{\\\"restSections\\\":[],\\\"hasClass\\\":false,\\\"sections\\\":[{\\\"endAcross\\\":0,\\\"startTime\\\":1705451400000,\\\"endTime\\\":1705483800000,\\\"startAcross\\\":0}]},\\\"workDate\\\":1705420800000,\\\"isRest\\\":false,\\\"workTimeMinutes\\\":480,\\\"approveInfo\\\":{\\\"fromAcross\\\":0,\\\"toAcross\\\":0,\\\"fromTime\\\":1705451400000,\\\"durationInDay\\\":1,\\\"durationInHour\\\":8,\\\"toTime\\\":1705483800000}}],\\\"durationInDay\\\":1,\\\"_to\\\":\\\"2024-01-17\\\",\\\"isModifiable\\\":true,\\\"durationInHour\\\":8}\",\"id\":\"NumberField-K2BJK0RY\",\"name\":\"时长\",\"value\":\"1\"},{\"componentType\":\"TextareaField\",\"id\":\"外出事由\",\"name\":\"外出事由\",\"value\":\"市局有事\"},{\"componentType\":\"DDPhotoField\",\"id\":\"图片\",\"name\":\"图片\"}],\"operationRecords\":[{\"date\":\"2024-01-16T17:05Z\",\"result\":\"NONE\",\"type\":\"START_PROCESS_INSTANCE\",\"userId\":\"01575932040926359398\"},{\"date\":\"2024-01-17T09:24Z\",\"result\":\"AGREE\",\"type\":\"EXECUTE_TASK_NORMAL\",\"userId\":\"0355254921955583\"},{\"date\":\"2024-01-17T10:15Z\",\"result\":\"AGREE\",\"type\":\"EXECUTE_TASK_NORMAL\",\"userId\":\"31102532391173290\"},{\"ccUserIds\":[\"2352352656711393\",\"2359336301844466\"],\"date\":\"2024-01-17T10:15Z\",\"remark\":\"\",\"result\":\"NONE\",\"type\":\"PROCESS_CC\",\"userId\":\"01575932040926359398\"},{\"ccUserIds\":[\"254868153920685466\"],\"date\":\"2024-01-17T10:15Z\",\"remark\":\"\",\"result\":\"NONE\",\"type\":\"PROCESS_CC\",\"userId\":\"01575932040926359398\"}],\"originatorDeptId\":\"895306500\",\"originatorDeptName\":\"2B税务大厅-劳务外包人员咨询组\",\"originatorUserId\":\"01575932040926359398\",\"result\":\"agree\",\"status\":\"COMPLETED\",\"tasks\":[{\"activityId\":\"1ebf_7ae5\",\"createTime\":\"2024-01-16T17:05Z\",\"finishTime\":\"2024-01-17T09:24Z\",\"mobileUrl\":\"aflow.dingtalk.com?procInsId=9HLoKgFLTNiz1KO08qc85A07481705395941&taskId=84557347599&businessId=202401161705000413779\",\"pcUrl\":\"aflow.dingtalk.com?procInsId=9HLoKgFLTNiz1KO08qc85A07481705395941&taskId=84557347599&businessId=202401161705000413779\",\"result\":\"AGREE\",\"status\":\"COMPLETED\",\"taskId\":84557347599,\"userId\":\"0355254921955583\"},{\"activityId\":\"075a_e01a\",\"createTime\":\"2024-01-17T09:24Z\",\"finishTime\":\"2024-01-17T10:15Z\",\"mobileUrl\":\"aflow.dingtalk.com?procInsId=9HLoKgFLTNiz1KO08qc85A07481705395941&taskId=84566067197&businessId=202401161705000413779\",\"pcUrl\":\"aflow.dingtalk.com?procInsId=9HLoKgFLTNiz1KO08qc85A07481705395941&taskId=84566067197&businessId=202401161705000413779\",\"result\":\"AGREE\",\"status\":\"COMPLETED\",\"taskId\":84566067197,\"userId\":\"31102532391173290\"}],\"title\":\"李玉洁提交的外出\"}";
// new DingPersonServiceImpl().test(result);
// }
//
//
// private void test(String resultString){
// GetProcessInstanceResponseBody.GetProcessInstanceResponseBodyResult result = JSONObject.parseObject(resultString,GetProcessInstanceResponseBody.GetProcessInstanceResponseBodyResult.class);
// if(result.getTitle().contains("外出")){
// List<GetProcessInstanceResponseBody.GetProcessInstanceResponseBodyResultFormComponentValues> comList = result.getFormComponentValues();
// if(!comList.isEmpty()){
// for (GetProcessInstanceResponseBody.GetProcessInstanceResponseBodyResultFormComponentValues componentValues : comList){
// switch (componentValues.name){
// case "开始时间":
// Date startTime1 = dateFormat(componentValues.getValue(), "yyyy-MM-dd HH:mm", true);
// log.info("开始时间:"+startTime1);
// break;
// case "结束时间":
// Date endTime1 = dateFormat(componentValues.getValue(), "yyyy-MM-dd HH:mm", false);
// log.info("结束时间:"+endTime1);
// break;
// case "时长":
// log.info("时长:"+Integer.parseInt(componentValues.getValue()) + "天");
// break;
// case "外出事由":
// log.info("外出事由:"+componentValues.getValue());
// break;
// case "图片":
// log.info("图片:"+componentValues.getValue());
// break;
// }
// }
// }
// }else if(result.getTitle().contains("出差")) {
// List<GetProcessInstanceResponseBody.GetProcessInstanceResponseBodyResultFormComponentValues> comList = result.getFormComponentValues();
// if (!comList.isEmpty()) {
// for (GetProcessInstanceResponseBody.GetProcessInstanceResponseBodyResultFormComponentValues componentValues : comList) {
// switch (componentValues.name) {
// case "行程":
// Gson gson = new Gson();
// JsonArray jsonArray = gson.fromJson(componentValues.getValue(), JsonArray.class);
// JsonObject jsonObject = jsonArray.get(0).getAsJsonObject(); // 获取第一个对象
// JsonElement rowValueElement = jsonObject.get("rowValue"); // 获取rowValue字段的值
// JsonArray rowValueArray = rowValueElement.getAsJsonArray(); // 获取数组
// for (JsonElement element : rowValueArray) { // 遍历数组中的每个元素
// JsonObject jsonObject1 = element.getAsJsonObject(); // 获取每个元素作为对象
// String label = jsonObject1.get("label").getAsString(); // 获取label字段的值
// String value = jsonObject1.get("value").getAsString();
// if (label.contains("开始时间")) {
// Date startTime1 = dateFormat(value, "yyyy-MM-dd HH:mm", true);
// log.info("开始时间:"+startTime1);
// }
// if (label.contains("结束时间")) {
// Date endTime1 = dateFormat(value, "yyyy-MM-dd HH:mm", false);
// log.info("结束时间:"+endTime1);
// }
// }
//
//
// break;
// case "出差天数":
// log.info("出差天数:"+Integer.parseInt(componentValues.getValue()) + "天");
// break;
// case "出差事由":
// log.info("出差事由:"+componentValues.getValue());
// break;
// case "图片":
// log.info("图片:"+componentValues.getValue());
// break;
// }
// }
// }
// }
// }
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment