|
@@ -43,7 +43,7 @@ public class GSImplClient implements GSClient {
|
|
|
List<Map> dataList = ydService.queryAllFormData(YDParam.builder()
|
|
List<Map> dataList = ydService.queryAllFormData(YDParam.builder()
|
|
|
.formUuid("FORM-L8966281J9RDFKMOEEUDP92ITHFF3YL1JCULL0")
|
|
.formUuid("FORM-L8966281J9RDFKMOEEUDP92ITHFF3YL1JCULL0")
|
|
|
.searchFieldJson(JSON.toJSONString(UtilMap.map("dateField_llucjaqc", Arrays.asList(sStart, sEnd))))
|
|
.searchFieldJson(JSON.toJSONString(UtilMap.map("dateField_llucjaqc", Arrays.asList(sStart, sEnd))))
|
|
|
- .build())
|
|
|
|
|
|
|
+ .build(), false)
|
|
|
.stream().map(item -> (Map) item.get("formData")).collect(Collectors.toList());
|
|
.stream().map(item -> (Map) item.get("formData")).collect(Collectors.toList());
|
|
|
// 按照人员拼装数据, 人员ID唯一性过滤
|
|
// 按照人员拼装数据, 人员ID唯一性过滤
|
|
|
List<Map> formList = dataList.stream().filter(UtilMc.distinctByKey(item -> item.get("textField_lm4nch8r"))).collect(Collectors.toList());
|
|
List<Map> formList = dataList.stream().filter(UtilMc.distinctByKey(item -> item.get("textField_lm4nch8r"))).collect(Collectors.toList());
|
|
@@ -96,7 +96,7 @@ public class GSImplClient implements GSClient {
|
|
|
List<Map> dataList_xz = ydService.queryAllFormData(YDParam.builder()
|
|
List<Map> dataList_xz = ydService.queryAllFormData(YDParam.builder()
|
|
|
.formUuid("FORM-3J866L81SSMDFKAGDVFJRDUK3TUW37K70MOLL9")
|
|
.formUuid("FORM-3J866L81SSMDFKAGDVFJRDUK3TUW37K70MOLL9")
|
|
|
.searchFieldJson(JSON.toJSONString(UtilMap.map("dateField_lluli8zb", Arrays.asList(sStart, sEnd))))
|
|
.searchFieldJson(JSON.toJSONString(UtilMap.map("dateField_lluli8zb", Arrays.asList(sStart, sEnd))))
|
|
|
- .build())
|
|
|
|
|
|
|
+ .build(), false)
|
|
|
.stream().map(item -> (Map) item.get("formData")).collect(Collectors.toList());
|
|
.stream().map(item -> (Map) item.get("formData")).collect(Collectors.toList());
|
|
|
// 无固定ip, 轮询机制
|
|
// 无固定ip, 轮询机制
|
|
|
if (dataList_xz.size() == 0) {
|
|
if (dataList_xz.size() == 0) {
|
|
@@ -106,9 +106,9 @@ public class GSImplClient implements GSClient {
|
|
|
List<Map> dataList_hz = ydService.queryAllFormData(YDParam.builder()
|
|
List<Map> dataList_hz = ydService.queryAllFormData(YDParam.builder()
|
|
|
.formUuid("FORM-TD966Z81I9ODTCY66GH345S03VW03JJF6EQLL5")
|
|
.formUuid("FORM-TD966Z81I9ODTCY66GH345S03VW03JJF6EQLL5")
|
|
|
.searchFieldJson(JSON.toJSONString(UtilMap.map("dateField_llqe7fg9", Arrays.asList(sStart, sEnd))))
|
|
.searchFieldJson(JSON.toJSONString(UtilMap.map("dateField_llqe7fg9", Arrays.asList(sStart, sEnd))))
|
|
|
- .build())
|
|
|
|
|
|
|
+ .build(), true)
|
|
|
.stream().map(item -> {
|
|
.stream().map(item -> {
|
|
|
- item.putAll((Map) item.get("formData"));
|
|
|
|
|
|
|
+ item.putAll((Map) item.get("data"));
|
|
|
return item; // 保留 formInstanceId
|
|
return item; // 保留 formInstanceId
|
|
|
}).collect(Collectors.toList());
|
|
}).collect(Collectors.toList());
|
|
|
for (Map data : dataList_xz) {
|
|
for (Map data : dataList_xz) {
|
|
@@ -117,6 +117,10 @@ public class GSImplClient implements GSClient {
|
|
|
Optional optional = dataList_hz.stream().filter(item -> userId.equals(item.get("textField_lm5pchfd"))).findAny();
|
|
Optional optional = dataList_hz.stream().filter(item -> userId.equals(item.get("textField_lm5pchfd"))).findAny();
|
|
|
if (optional.isPresent()) {
|
|
if (optional.isPresent()) {
|
|
|
Map form = (Map) optional.get();
|
|
Map form = (Map) optional.get();
|
|
|
|
|
+ // 未审批通过, 先过滤, 避免修改冲突 [拒绝已关闭]
|
|
|
|
|
+ if (!"agree".equals(form.get("approvedResult"))) {
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
// 考勤工时不等于上报工时, 触发异常
|
|
// 考勤工时不等于上报工时, 触发异常
|
|
|
if (attendanceHour != UtilMap.getFloat(form, "numberField_lm5pnmvg")) {
|
|
if (attendanceHour != UtilMap.getFloat(form, "numberField_lm5pnmvg")) {
|
|
|
long total = ydClient.queryData(YDParam.builder()
|
|
long total = ydClient.queryData(YDParam.builder()
|
|
@@ -129,11 +133,12 @@ public class GSImplClient implements GSClient {
|
|
|
}
|
|
}
|
|
|
Map formData = UtilMap.map("dateField_llu8im27, employeeField_llu8im2a, textField_llujr4wm, textField_llujr4wn, numberField_lm5qn2sf, textField_lm5n9tjp, textField_lm5pchfd, numberField_lm5ntjsu", "dateField_llqe7fg9, employeeField_llqe7fgd_id, textField_llugjn6g, textField_llugjn6i, numberField_lm5qn2sf, textField_lm5n9tjp, textField_lm5pchfd, numberField_lm5pnmvg", form);
|
|
Map formData = UtilMap.map("dateField_llu8im27, employeeField_llu8im2a, textField_llujr4wm, textField_llujr4wn, numberField_lm5qn2sf, textField_lm5n9tjp, textField_lm5pchfd, numberField_lm5ntjsu", "dateField_llqe7fg9, employeeField_llqe7fgd_id, textField_llugjn6g, textField_llugjn6i, numberField_lm5qn2sf, textField_lm5n9tjp, textField_lm5pchfd, numberField_lm5pnmvg", form);
|
|
|
formData.put("numberField_llu8im2e", attendanceHour);
|
|
formData.put("numberField_llu8im2e", attendanceHour);
|
|
|
|
|
+ log.info("异常记录, {}", JSON.toJSONString(formData));
|
|
|
List<Map> details = (List<Map>) form.get("tableField_llqe7fgb");
|
|
List<Map> details = (List<Map>) form.get("tableField_llqe7fgb");
|
|
|
if (details.size() == 50) {
|
|
if (details.size() == 50) {
|
|
|
details = ydService.queryDetails(YDParam.builder()
|
|
details = ydService.queryDetails(YDParam.builder()
|
|
|
.formUuid("FORM-TD966Z81I9ODTCY66GH345S03VW03JJF6EQLL5")
|
|
.formUuid("FORM-TD966Z81I9ODTCY66GH345S03VW03JJF6EQLL5")
|
|
|
- .formInstanceId(form.get("formInstanceId").toString())
|
|
|
|
|
|
|
+ .formInstanceId(form.get("processInstanceId").toString())
|
|
|
.tableFieldId("tableField_llqe7fgb")
|
|
.tableFieldId("tableField_llqe7fgb")
|
|
|
.build());
|
|
.build());
|
|
|
}
|
|
}
|
|
@@ -148,6 +153,26 @@ public class GSImplClient implements GSClient {
|
|
|
.build();
|
|
.build();
|
|
|
ydClient.operateData(ydParam, YDConf.FORM_OPERATION.start);
|
|
ydClient.operateData(ydParam, YDConf.FORM_OPERATION.start);
|
|
|
}
|
|
}
|
|
|
|
|
+ } else {
|
|
|
|
|
+ String ymDate = UtilDateTime.format(new Date(UtilMap.getLong(data, "dateField_lluli8zb")), "yyyy-MM");
|
|
|
|
|
+ String tUserId = ((List<String>) data.get("employeeField_llpxvy5d_id")).get(0);
|
|
|
|
|
+ long total = ydClient.queryData(YDParam.builder()
|
|
|
|
|
+ .formUuid("FORM-8Y866XB1G4NDRF8RCHWJRB5EQPI13TD3I8ULLT")
|
|
|
|
|
+ .searchFieldJson(JSON.toJSONString(UtilMap.map("textField_lm5n9tjp, textField_lm5pchfd", ymDate, userId)))
|
|
|
|
|
+ .build(), YDConf.FORM_QUERY.retrieve_search_form).getTotalCount();
|
|
|
|
|
+ // 重复发起过滤
|
|
|
|
|
+ if (total > 0) {
|
|
|
|
|
+ continue;
|
|
|
|
|
+ }
|
|
|
|
|
+ // 若未填报工时 - 直接发起异常
|
|
|
|
|
+ Map formData = UtilMap.map("dateField_llu8im27, employeeField_llu8im2a, textField_llujr4wm, textField_llujr4wn, numberField_llu8im2e", "dateField_lluli8zb, employeeField_llpxvy5d_id, textField_llpxvy5k, textField_llpxvy5l, numberField_llpxvy5i", data);
|
|
|
|
|
+ formData.putAll(UtilMap.map("textField_lm5n9tjp, textField_lm5pchfd, numberField_lm5ntjsu", ymDate, tUserId, ""));
|
|
|
|
|
+ YDParam ydParam = YDParam.builder()
|
|
|
|
|
+ .formUuid("FORM-8Y866XB1G4NDRF8RCHWJRB5EQPI13TD3I8ULLT")
|
|
|
|
|
+ .processCode("TPROC--8Y866XB1G4NDRF8RCHWJRB5EQPI13UD3I8ULLU")
|
|
|
|
|
+ .formDataJson(JSON.toJSONString(formData))
|
|
|
|
|
+ .build();
|
|
|
|
|
+ ydClient.operateData(ydParam, YDConf.FORM_OPERATION.start);
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
return true;
|
|
return true;
|
|
@@ -164,7 +189,7 @@ public class GSImplClient implements GSClient {
|
|
|
List<Map> dataList = ydService.queryAllFormData(YDParam.builder()
|
|
List<Map> dataList = ydService.queryAllFormData(YDParam.builder()
|
|
|
.formUuid("FORM-L8966281J9RDFKMOEEUDP92ITHFF3YL1JCULL0")
|
|
.formUuid("FORM-L8966281J9RDFKMOEEUDP92ITHFF3YL1JCULL0")
|
|
|
.searchFieldJson(JSON.toJSONString(UtilMap.map("textField_lm4nch8r, textField_lm7cfak9", userId, date)))
|
|
.searchFieldJson(JSON.toJSONString(UtilMap.map("textField_lm4nch8r, textField_lm7cfak9", userId, date)))
|
|
|
- .build())
|
|
|
|
|
|
|
+ .build(), false)
|
|
|
.stream().map(item -> (Map) item.get("formData")).collect(Collectors.toList());
|
|
.stream().map(item -> (Map) item.get("formData")).collect(Collectors.toList());
|
|
|
if (dataList.size() == 0) {
|
|
if (dataList.size() == 0) {
|
|
|
continue;
|
|
continue;
|
|
@@ -190,7 +215,7 @@ public class GSImplClient implements GSClient {
|
|
|
List<Map> dataList = ydService.queryAllFormData(YDParam.builder()
|
|
List<Map> dataList = ydService.queryAllFormData(YDParam.builder()
|
|
|
.formUuid("FORM-IH966T61S6ND3ZHX6WEK2DFHHWLD3W44DMOLL0")
|
|
.formUuid("FORM-IH966T61S6ND3ZHX6WEK2DFHHWLD3W44DMOLL0")
|
|
|
.searchFieldJson(JSON.toJSONString(conditions))
|
|
.searchFieldJson(JSON.toJSONString(conditions))
|
|
|
- .build());
|
|
|
|
|
|
|
+ .build(), false);
|
|
|
// 推送内容
|
|
// 推送内容
|
|
|
long timestamp = new Date().getTime();
|
|
long timestamp = new Date().getTime();
|
|
|
String type = isAdmin ? "异常完成提醒" : "工时填报提醒";
|
|
String type = isAdmin ? "异常完成提醒" : "工时填报提醒";
|