|
@@ -3,6 +3,7 @@ package com.malk.yibaoju.service.impl;
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
import com.malk.server.aliwork.YDConf;
|
|
|
import com.malk.server.aliwork.YDParam;
|
|
|
+import com.malk.server.dingtalk.DDR_New;
|
|
|
import com.malk.service.aliwork.YDClient;
|
|
|
import com.malk.service.aliwork.YDService;
|
|
|
import com.malk.utils.UtilDateTime;
|
|
@@ -11,14 +12,16 @@ import com.malk.yibaoju.service.YBJService;
|
|
|
import lombok.SneakyThrows;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
-import org.springframework.scheduling.annotation.Async;
|
|
|
+import org.springframework.beans.factory.annotation.Value;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
|
|
|
+import java.sql.Connection;
|
|
|
+import java.sql.DriverManager;
|
|
|
+import java.sql.PreparedStatement;
|
|
|
import java.time.LocalDate;
|
|
|
import java.time.format.TextStyle;
|
|
|
import java.time.temporal.TemporalAdjusters;
|
|
|
import java.util.*;
|
|
|
-import java.util.concurrent.ExecutionException;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
@@ -27,13 +30,21 @@ import java.util.stream.Collectors;
|
|
|
public class YBJServiceImpl implements YBJService {
|
|
|
|
|
|
|
|
|
-
|
|
|
@Autowired
|
|
|
private YDClient ydClient;
|
|
|
|
|
|
@Autowired
|
|
|
private YDService ydService;
|
|
|
|
|
|
+ @Value("${spring.datasource.username}")
|
|
|
+ private String username;
|
|
|
+
|
|
|
+ @Value("${spring.datasource.password}")
|
|
|
+ private String password;
|
|
|
+
|
|
|
+ @Value("${spring.datasource.url}")
|
|
|
+ private String url;
|
|
|
+
|
|
|
/**
|
|
|
* 每月创建护理计划
|
|
|
*/
|
|
@@ -42,11 +53,11 @@ public class YBJServiceImpl implements YBJService {
|
|
|
public void syncNursePlan() {
|
|
|
|
|
|
YDParam ydParam = new YDParam();
|
|
|
- log.info("创建护理计划定时任务Start",new Date());
|
|
|
+ log.info("创建护理计划定时任务Start", new Date());
|
|
|
|
|
|
ydParam = YDParam.builder()
|
|
|
.formUuid("FORM-RK966E7105DFD27FA7EQHAOH9IFS2RN6MP3OL2") //获取护理计划
|
|
|
- .searchFieldJson(JSON.toJSONString(UtilMap.map("selectField_lo2b6bvf","正常")))//护理对象暂停和正常、月度计划创建只查询正常的护理计划
|
|
|
+ .searchFieldJson(JSON.toJSONString(UtilMap.map("selectField_lo2b6bvf", "正常")))//护理对象暂停和正常、月度计划创建只查询正常的护理计划
|
|
|
.build();
|
|
|
//pagesize设为1获取总数
|
|
|
ydParam.setPageSize(1);
|
|
@@ -55,7 +66,7 @@ public class YBJServiceImpl implements YBJService {
|
|
|
ydParam.setCurrentPage(1);
|
|
|
ydParam.setPageSize((int) pageSize);
|
|
|
|
|
|
- log.info("totalCount:----{}----",totalCount);
|
|
|
+ log.info("totalCount:----{}----", totalCount);
|
|
|
|
|
|
List<Map> dataList = new ArrayList<>();
|
|
|
for (int page = 1; page <= Math.ceil(totalCount / pageSize); page++) {
|
|
@@ -63,7 +74,7 @@ public class YBJServiceImpl implements YBJService {
|
|
|
//创建护理计划 1次获取50条
|
|
|
dataList = (List<Map>) ydClient.queryData(ydParam, YDConf.FORM_QUERY.retrieve_search_form).getData();
|
|
|
|
|
|
- log.info("dataList:{}-----page:"+page+"---",dataList.size());
|
|
|
+ log.info("dataList:{}-----page:" + page + "---", dataList.size());
|
|
|
|
|
|
LocalDate currentDate = LocalDate.now();
|
|
|
//获取当前日期是本月几号
|
|
@@ -77,46 +88,46 @@ public class YBJServiceImpl implements YBJService {
|
|
|
|
|
|
List<Map> mapList = (List<Map>) formMap.get("tableField_lo3pmohx");
|
|
|
|
|
|
- for (int i =0 ; i <=(daysInMonth-dayOfMonth) ; i++) {
|
|
|
+ for (int i = 0; i <= (daysInMonth - dayOfMonth); i++) {
|
|
|
//获取当前日期是本月几号
|
|
|
LocalDate currentDay = LocalDate.now();
|
|
|
//获取是周几
|
|
|
String dayOfWeek = currentDay.plusDays(i).getDayOfWeek().getDisplayName(TextStyle.FULL, new Locale("zh", "CN"));
|
|
|
//获取循环每天的日期
|
|
|
LocalDate nextDay = currentDate.plusDays(i);
|
|
|
- List<Map> maps = mapList.stream().filter(items -> items.get("selectField_lo3pmohy").equals(dayOfWeek.replace("星期","周"))).collect(Collectors.toList());
|
|
|
+ List<Map> maps = mapList.stream().filter(items -> items.get("selectField_lo3pmohy").equals(dayOfWeek.replace("星期", "周"))).collect(Collectors.toList());
|
|
|
|
|
|
for (Map map : maps) {
|
|
|
Map hashMap = new HashMap();
|
|
|
|
|
|
- hashMap.put("associationFormField_lo3pmohz",JSON.parse(map.get("associationFormField_lo3pmohz_id").toString())); //护理人员名称
|
|
|
- hashMap.put("textField_lo3pmoi0",map.get("textField_lo3pmoi0")); //护理人员所属机构
|
|
|
- hashMap.put("textField_lombve2g",map.get("textField_lomchzi3")); //护理人员身份证
|
|
|
- hashMap.put("textField_lo3pmoi3",map.get("textField_lo3pmoi3")); //护理人员手机号
|
|
|
- hashMap.put("associationFormField_lo3pmohw",JSON.parse(formMap.get("associationFormField_lo3pmohw_id").toString())); //护理对象姓名
|
|
|
- hashMap.put("textField_lnyhv5tn",formMap.get("textField_lnyhv5tn")); //护理对象身份证
|
|
|
- hashMap.put("selectField_lnyhv5tp",formMap.get("selectField_lnyhv5tp")); //护理对象等级
|
|
|
- hashMap.put("textField_lnyhv5tr",formMap.get("textField_lnyhv5tr")); //护理对象住址
|
|
|
- hashMap.put("selectField_lo3pmohy",dayOfWeek.replace("星期","周")); //护理时间 (星期几)
|
|
|
- hashMap.put("dateField_lred6eoj", UtilDateTime.parse(String.valueOf(nextDay)+" "+map.get("selectField_lr1uxpu3"),"yyyy-MM-dd HH:mm")); //护理开始时间。 用当前日期+护理计划的 时分 转成时间戳
|
|
|
- hashMap.put("dateField_lred6eok", UtilDateTime.parse(String.valueOf(nextDay)+" "+map.get("selectField_lr1uxpu4"),"yyyy-MM-dd HH:mm")); //护理结束时间。 用当前日期+护理计划的 时分 转成时间戳
|
|
|
- hashMap.put("selectField_lqcgsbw2","未执行"); //执行情况
|
|
|
- hashMap.put("selectField_lo56u5fn","待上报"); //任务状态
|
|
|
-
|
|
|
- hashMap.put("textField_lvae7q5n",formMap.get("textField_lvae99fj")); //护理对象经度
|
|
|
- hashMap.put("textField_lvae7q5o",formMap.get("textField_lvae99fk")); //护理对象纬度
|
|
|
-
|
|
|
-
|
|
|
- hashMap.put("textField_lrx0r38x",String.valueOf(nextDay)); //护理日期-文本
|
|
|
- hashMap.put("selectField_lr36z6hd","是"); //任务状态
|
|
|
- hashMap.put("textField_lo55rupj",formMap.get("textField_lo55rupj")); //护理对象姓名-文本
|
|
|
- hashMap.put("textField_lo3pmoi4",map.get("textField_lo3pmoi4")); //护理证书类型
|
|
|
- hashMap.put("employeeField_lo3pmoi6",JSON.parse(map.get("employeeField_lo3pmoi6_id").toString())); //护理人员姓名-成员
|
|
|
- hashMap.put("textField_lpgi8scj",map.get("textField_lo701pwy")); //计划明细id
|
|
|
- hashMap.put("textField_lq9llmhl",formMap.get("textField_lop4v4qx")); //护理对象ID
|
|
|
-
|
|
|
- if (formMap.get("departmentSelectField_lxztlnnx_id")!=null){
|
|
|
- hashMap.put("departmentSelectField_lxzto1e1",String.valueOf(formMap.get("departmentSelectField_lxztlnnx_id"))); //部门
|
|
|
+ hashMap.put("associationFormField_lo3pmohz", JSON.parse(map.get("associationFormField_lo3pmohz_id").toString())); //护理人员名称
|
|
|
+ hashMap.put("textField_lo3pmoi0", map.get("textField_lo3pmoi0")); //护理人员所属机构
|
|
|
+ hashMap.put("textField_lombve2g", map.get("textField_lomchzi3")); //护理人员身份证
|
|
|
+ hashMap.put("textField_lo3pmoi3", map.get("textField_lo3pmoi3")); //护理人员手机号
|
|
|
+ hashMap.put("associationFormField_lo3pmohw", JSON.parse(formMap.get("associationFormField_lo3pmohw_id").toString())); //护理对象姓名
|
|
|
+ hashMap.put("textField_lnyhv5tn", formMap.get("textField_lnyhv5tn")); //护理对象身份证
|
|
|
+ hashMap.put("selectField_lnyhv5tp", formMap.get("selectField_lnyhv5tp")); //护理对象等级
|
|
|
+ hashMap.put("textField_lnyhv5tr", formMap.get("textField_lnyhv5tr")); //护理对象住址
|
|
|
+ hashMap.put("selectField_lo3pmohy", dayOfWeek.replace("星期", "周")); //护理时间 (星期几)
|
|
|
+ hashMap.put("dateField_lred6eoj", UtilDateTime.parse(String.valueOf(nextDay) + " " + map.get("selectField_lr1uxpu3"), "yyyy-MM-dd HH:mm")); //护理开始时间。 用当前日期+护理计划的 时分 转成时间戳
|
|
|
+ hashMap.put("dateField_lred6eok", UtilDateTime.parse(String.valueOf(nextDay) + " " + map.get("selectField_lr1uxpu4"), "yyyy-MM-dd HH:mm")); //护理结束时间。 用当前日期+护理计划的 时分 转成时间戳
|
|
|
+ hashMap.put("selectField_lqcgsbw2", "未执行"); //执行情况
|
|
|
+ hashMap.put("selectField_lo56u5fn", "待上报"); //任务状态
|
|
|
+
|
|
|
+ hashMap.put("textField_lvae7q5n", formMap.get("textField_lvae99fj")); //护理对象经度
|
|
|
+ hashMap.put("textField_lvae7q5o", formMap.get("textField_lvae99fk")); //护理对象纬度
|
|
|
+
|
|
|
+
|
|
|
+ hashMap.put("textField_lrx0r38x", String.valueOf(nextDay)); //护理日期-文本
|
|
|
+ hashMap.put("selectField_lr36z6hd", "是"); //任务状态
|
|
|
+ hashMap.put("textField_lo55rupj", formMap.get("textField_lo55rupj")); //护理对象姓名-文本
|
|
|
+ hashMap.put("textField_lo3pmoi4", map.get("textField_lo3pmoi4")); //护理证书类型
|
|
|
+ hashMap.put("employeeField_lo3pmoi6", JSON.parse(map.get("employeeField_lo3pmoi6_id").toString())); //护理人员姓名-成员
|
|
|
+ hashMap.put("textField_lpgi8scj", map.get("textField_lo701pwy")); //计划明细id
|
|
|
+ hashMap.put("textField_lq9llmhl", formMap.get("textField_lop4v4qx")); //护理对象ID
|
|
|
+
|
|
|
+ if (formMap.get("departmentSelectField_lxztlnnx_id") != null) {
|
|
|
+ hashMap.put("departmentSelectField_lxzto1e1", String.valueOf(formMap.get("departmentSelectField_lxztlnnx_id"))); //部门
|
|
|
}
|
|
|
try {
|
|
|
Thread.sleep(200);
|
|
@@ -126,11 +137,11 @@ public class YBJServiceImpl implements YBJService {
|
|
|
try {
|
|
|
ydClient.operateData(YDParam.builder()
|
|
|
.formUuid("FORM-IY966L71PJ8FV10D61M1HBHU6FB320M2765OLM")
|
|
|
- .searchCondition(JSON.toJSONString(UtilMap.map("dateField_lred6eoj, textField_lnyhv5tn, textField_lombve2g",Arrays.asList(UtilDateTime.parse( nextDay+ " 00:00:01","yyyy-MM-dd HH:mm:ss"),UtilDateTime.parse( nextDay+ " 23:59:59","yyyy-MM-dd HH:mm:ss")),formMap.get("textField_lnyhv5tn"),map.get("textField_lomchzi3"))))
|
|
|
+ .searchCondition(JSON.toJSONString(UtilMap.map("dateField_lred6eoj, textField_lnyhv5tn, textField_lombve2g", Arrays.asList(UtilDateTime.parse(nextDay + " 00:00:01", "yyyy-MM-dd HH:mm:ss"), UtilDateTime.parse(nextDay + " 23:59:59", "yyyy-MM-dd HH:mm:ss")), formMap.get("textField_lnyhv5tn"), map.get("textField_lomchzi3"))))
|
|
|
.formDataJson(JSON.toJSONString(hashMap))
|
|
|
.build(), YDConf.FORM_OPERATION.upsert);
|
|
|
} catch (Exception e) {
|
|
|
- log.info("异常数据{}",hashMap);
|
|
|
+ log.info("异常数据{}", hashMap);
|
|
|
}
|
|
|
|
|
|
}
|
|
@@ -139,23 +150,23 @@ public class YBJServiceImpl implements YBJService {
|
|
|
});
|
|
|
}
|
|
|
|
|
|
- log.info("创建护理计划定时任务end",new Date());
|
|
|
+ log.info("创建护理计划定时任务end", new Date());
|
|
|
}
|
|
|
|
|
|
|
|
|
/**
|
|
|
- *定时任务每月25号创建下月的数据
|
|
|
+ * 定时任务每月25号创建下月的数据
|
|
|
*/
|
|
|
@Override
|
|
|
@SneakyThrows
|
|
|
public void syncCreatePlan() {
|
|
|
|
|
|
YDParam ydParam = new YDParam();
|
|
|
- log.info("创建下月护理计划定时任务Start",new Date());
|
|
|
+ log.info("创建下月护理计划定时任务Start", new Date());
|
|
|
|
|
|
ydParam = YDParam.builder()
|
|
|
.formUuid("FORM-RK966E7105DFD27FA7EQHAOH9IFS2RN6MP3OL2") //获取护理计划
|
|
|
- .searchFieldJson(JSON.toJSONString(UtilMap.map("selectField_lo2b6bvf","正常")))//护理对象暂停和正常、月度计划创建只查询正常的护理计划
|
|
|
+ .searchFieldJson(JSON.toJSONString(UtilMap.map("selectField_lo2b6bvf", "正常")))//护理对象暂停和正常、月度计划创建只查询正常的护理计划
|
|
|
.build();
|
|
|
//pagesize设为1获取总数
|
|
|
ydParam.setPageSize(1);
|
|
@@ -167,9 +178,9 @@ public class YBJServiceImpl implements YBJService {
|
|
|
|
|
|
LocalDate currentDate = LocalDate.now();
|
|
|
//获取下月1号的日期
|
|
|
- LocalDate firstDayOfNextMonth = currentDate.plusMonths(1).with(TemporalAdjusters.firstDayOfMonth());
|
|
|
+ LocalDate firstDayOfNextMonth = currentDate.plusMonths(1).with(TemporalAdjusters.firstDayOfMonth());
|
|
|
//获取日期是几号
|
|
|
- int dayOfMonth = firstDayOfNextMonth .getDayOfMonth();
|
|
|
+ int dayOfMonth = firstDayOfNextMonth.getDayOfMonth();
|
|
|
//获取月天数
|
|
|
int daysInMonth = firstDayOfNextMonth.lengthOfMonth();
|
|
|
|
|
@@ -177,46 +188,46 @@ public class YBJServiceImpl implements YBJService {
|
|
|
ydParam.setCurrentPage(page);
|
|
|
//创建护理计划 1次获取50条
|
|
|
dataList = (List<Map>) ydClient.queryData(ydParam, YDConf.FORM_QUERY.retrieve_search_form).getData();
|
|
|
- log.info("dataList:{}-----page:"+page+"---",dataList.size());
|
|
|
+ log.info("dataList:{}-----page:" + page + "---", dataList.size());
|
|
|
|
|
|
dataList.forEach(dataItem -> {
|
|
|
Map formMap = (Map) dataItem.get("formData");
|
|
|
List<Map> mapList = (List<Map>) formMap.get("tableField_lo3pmohx");
|
|
|
- for (int i =0 ; i <=(daysInMonth-dayOfMonth) ; i++) {
|
|
|
+ for (int i = 0; i <= (daysInMonth - dayOfMonth); i++) {
|
|
|
//获取是周几
|
|
|
String dayOfWeek = firstDayOfNextMonth.plusDays(i).getDayOfWeek().getDisplayName(TextStyle.FULL, new Locale("zh", "CN"));
|
|
|
//获取循环每天的日期
|
|
|
LocalDate nextDay = firstDayOfNextMonth.plusDays(i);
|
|
|
- List<Map> maps = mapList.stream().filter(items -> items.get("selectField_lo3pmohy").equals(dayOfWeek.replace("星期","周"))).collect(Collectors.toList());
|
|
|
+ List<Map> maps = mapList.stream().filter(items -> items.get("selectField_lo3pmohy").equals(dayOfWeek.replace("星期", "周"))).collect(Collectors.toList());
|
|
|
for (Map map : maps) {
|
|
|
Map hashMap = new HashMap();
|
|
|
|
|
|
- hashMap.put("associationFormField_lo3pmohz",JSON.parse(map.get("associationFormField_lo3pmohz_id").toString())); //护理人员名称
|
|
|
- hashMap.put("textField_lo3pmoi0",map.get("textField_lo3pmoi0")); //护理人员所属机构
|
|
|
- hashMap.put("textField_lombve2g",map.get("textField_lomchzi3")); //护理人员身份证
|
|
|
- hashMap.put("textField_lo3pmoi3",map.get("textField_lo3pmoi3")); //护理人员手机号
|
|
|
- hashMap.put("associationFormField_lo3pmohw",JSON.parse(formMap.get("associationFormField_lo3pmohw_id").toString())); //护理对象姓名
|
|
|
- hashMap.put("textField_lnyhv5tn",formMap.get("textField_lnyhv5tn")); //护理对象身份证
|
|
|
- hashMap.put("selectField_lnyhv5tp",formMap.get("selectField_lnyhv5tp")); //护理对象等级
|
|
|
- hashMap.put("textField_lnyhv5tr",formMap.get("textField_lnyhv5tr")); //护理对象住址
|
|
|
- hashMap.put("selectField_lo3pmohy",dayOfWeek.replace("星期","周")); //护理时间 (星期几)
|
|
|
- hashMap.put("dateField_lred6eoj", UtilDateTime.parse(String.valueOf(nextDay)+" "+map.get("selectField_lr1uxpu3"),"yyyy-MM-dd HH:mm")); //护理开始时间。 用当前日期+护理计划的 时分 转成时间戳
|
|
|
- hashMap.put("dateField_lred6eok", UtilDateTime.parse(String.valueOf(nextDay)+" "+map.get("selectField_lr1uxpu4"),"yyyy-MM-dd HH:mm")); //护理结束时间。 用当前日期+护理计划的 时分 转成时间戳
|
|
|
- hashMap.put("selectField_lqcgsbw2","未执行"); //执行情况
|
|
|
- hashMap.put("selectField_lo56u5fn","待上报"); //任务状态
|
|
|
-
|
|
|
- hashMap.put("textField_lvae7q5n",formMap.get("textField_lvae99fj")); //护理对象经度
|
|
|
- hashMap.put("textField_lvae7q5o",formMap.get("textField_lvae99fk")); //护理对象纬度
|
|
|
-
|
|
|
- hashMap.put("textField_lrx0r38x",String.valueOf(nextDay)); //护理日期-文本
|
|
|
- hashMap.put("selectField_lr36z6hd","是"); //任务状态
|
|
|
- hashMap.put("textField_lo55rupj",formMap.get("textField_lo55rupj")); //护理对象姓名-文本
|
|
|
- hashMap.put("textField_lo3pmoi4",map.get("textField_lo3pmoi4")); //护理证书类型
|
|
|
- hashMap.put("employeeField_lo3pmoi6",JSON.parse(map.get("employeeField_lo3pmoi6_id").toString())); //护理人员姓名-成员
|
|
|
- hashMap.put("textField_lpgi8scj",map.get("textField_lo701pwy")); //计划明细id
|
|
|
- hashMap.put("textField_lq9llmhl",formMap.get("textField_lop4v4qx")); //护理对象ID
|
|
|
- if (formMap.get("departmentSelectField_lxztlnnx_id")!=null){
|
|
|
- hashMap.put("departmentSelectField_lxzto1e1",String.valueOf(formMap.get("departmentSelectField_lxztlnnx_id"))); //部门
|
|
|
+ hashMap.put("associationFormField_lo3pmohz", JSON.parse(map.get("associationFormField_lo3pmohz_id").toString())); //护理人员名称
|
|
|
+ hashMap.put("textField_lo3pmoi0", map.get("textField_lo3pmoi0")); //护理人员所属机构
|
|
|
+ hashMap.put("textField_lombve2g", map.get("textField_lomchzi3")); //护理人员身份证
|
|
|
+ hashMap.put("textField_lo3pmoi3", map.get("textField_lo3pmoi3")); //护理人员手机号
|
|
|
+ hashMap.put("associationFormField_lo3pmohw", JSON.parse(formMap.get("associationFormField_lo3pmohw_id").toString())); //护理对象姓名
|
|
|
+ hashMap.put("textField_lnyhv5tn", formMap.get("textField_lnyhv5tn")); //护理对象身份证
|
|
|
+ hashMap.put("selectField_lnyhv5tp", formMap.get("selectField_lnyhv5tp")); //护理对象等级
|
|
|
+ hashMap.put("textField_lnyhv5tr", formMap.get("textField_lnyhv5tr")); //护理对象住址
|
|
|
+ hashMap.put("selectField_lo3pmohy", dayOfWeek.replace("星期", "周")); //护理时间 (星期几)
|
|
|
+ hashMap.put("dateField_lred6eoj", UtilDateTime.parse(String.valueOf(nextDay) + " " + map.get("selectField_lr1uxpu3"), "yyyy-MM-dd HH:mm")); //护理开始时间。 用当前日期+护理计划的 时分 转成时间戳
|
|
|
+ hashMap.put("dateField_lred6eok", UtilDateTime.parse(String.valueOf(nextDay) + " " + map.get("selectField_lr1uxpu4"), "yyyy-MM-dd HH:mm")); //护理结束时间。 用当前日期+护理计划的 时分 转成时间戳
|
|
|
+ hashMap.put("selectField_lqcgsbw2", "未执行"); //执行情况
|
|
|
+ hashMap.put("selectField_lo56u5fn", "待上报"); //任务状态
|
|
|
+
|
|
|
+ hashMap.put("textField_lvae7q5n", formMap.get("textField_lvae99fj")); //护理对象经度
|
|
|
+ hashMap.put("textField_lvae7q5o", formMap.get("textField_lvae99fk")); //护理对象纬度
|
|
|
+
|
|
|
+ hashMap.put("textField_lrx0r38x", String.valueOf(nextDay)); //护理日期-文本
|
|
|
+ hashMap.put("selectField_lr36z6hd", "是"); //任务状态
|
|
|
+ hashMap.put("textField_lo55rupj", formMap.get("textField_lo55rupj")); //护理对象姓名-文本
|
|
|
+ hashMap.put("textField_lo3pmoi4", map.get("textField_lo3pmoi4")); //护理证书类型
|
|
|
+ hashMap.put("employeeField_lo3pmoi6", JSON.parse(map.get("employeeField_lo3pmoi6_id").toString())); //护理人员姓名-成员
|
|
|
+ hashMap.put("textField_lpgi8scj", map.get("textField_lo701pwy")); //计划明细id
|
|
|
+ hashMap.put("textField_lq9llmhl", formMap.get("textField_lop4v4qx")); //护理对象ID
|
|
|
+ if (formMap.get("departmentSelectField_lxztlnnx_id") != null) {
|
|
|
+ hashMap.put("departmentSelectField_lxzto1e1", String.valueOf(formMap.get("departmentSelectField_lxztlnnx_id"))); //部门
|
|
|
}
|
|
|
try {
|
|
|
Thread.sleep(200);
|
|
@@ -230,28 +241,24 @@ public class YBJServiceImpl implements YBJService {
|
|
|
.formDataJson(JSON.toJSONString(hashMap))
|
|
|
.build(), YDConf.FORM_OPERATION.create);
|
|
|
} catch (Exception e) {
|
|
|
- log.info("异常数据{}",hashMap);
|
|
|
+ log.info("异常数据{}", hashMap);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
- log.info("创建下月护理计划定时任务end",new Date());
|
|
|
+ log.info("创建下月护理计划定时任务end", new Date());
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
/**
|
|
|
- *每天同步护理状态
|
|
|
+ * 每天同步护理状态
|
|
|
*/
|
|
|
@Override
|
|
|
public void syncUpdatePlanStatus() {
|
|
|
- log.info("每天同步护理状态开始{}",new Date());
|
|
|
+ log.info("每天同步护理状态开始{}", new Date());
|
|
|
syncPlanStatus();
|
|
|
- log.info("每天同步护理状态结束{}",new Date());
|
|
|
+ log.info("每天同步护理状态结束{}", new Date());
|
|
|
}
|
|
|
|
|
|
|
|
@@ -272,29 +279,81 @@ public class YBJServiceImpl implements YBJService {
|
|
|
long totalCount = ydClient.queryData(ydParam, YDConf.FORM_QUERY.retrieve_search_form).getTotalCount();
|
|
|
log.info("totalCount{}",totalCount);
|
|
|
|
|
|
- //如果条数不为0 就一直递归
|
|
|
- if (totalCount>0){
|
|
|
- ydParam.setPageSize(50);
|
|
|
- List<Map> dataList = new ArrayList<>();
|
|
|
- dataList = (List<Map>) ydClient.queryData(ydParam, YDConf.FORM_QUERY.retrieve_search_form).getData();
|
|
|
- log.info("dataList:{}",dataList.size());
|
|
|
- //循环处理修改状态为已上报
|
|
|
- dataList.forEach(item -> {
|
|
|
- //修改状态为已上报
|
|
|
- try {
|
|
|
- ydClient.operateData(YDParam.builder()
|
|
|
- .formInstanceId(item.get("formInstanceId").toString())
|
|
|
- .updateFormDataJson(JSON.toJSONString(UtilMap.map("selectField_lo56u5fn","已上报")))
|
|
|
+ //如果条数不为0 就一直递归
|
|
|
+ if (totalCount>0){
|
|
|
+ ydParam.setPageSize(50);
|
|
|
+ List<Map> dataList = new ArrayList<>();
|
|
|
+ dataList = (List<Map>) ydClient.queryData(ydParam, YDConf.FORM_QUERY.retrieve_search_form).getData();
|
|
|
+ log.info("dataList:{}",dataList.size());
|
|
|
+ //循环处理修改状态为已上报
|
|
|
+ dataList.forEach(item -> {
|
|
|
+ //修改状态为已上报
|
|
|
+ try {
|
|
|
+ ydClient.operateData(YDParam.builder()
|
|
|
+ .formInstanceId(item.get("formInstanceId").toString())
|
|
|
+ .updateFormDataJson(JSON.toJSONString(UtilMap.map("selectField_lo56u5fn","已上报")))
|
|
|
+ .build(), YDConf.FORM_OPERATION.update);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.info("异常流程ID为:{}",item.get("formInstanceId").toString());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ Thread.sleep(5000);
|
|
|
+ syncUpdatePlanStatus();
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 不同上报状态(新) 定时任务每天执行
|
|
|
+ */
|
|
|
+ @SneakyThrows
|
|
|
+ public void newSyncPlanStatus() {
|
|
|
+ LocalDate currentDate = LocalDate.now();
|
|
|
+ //获取需要更新的护理任务 护理日期是当天 且状态为未上报
|
|
|
+ YDParam ydParam = YDParam.builder()
|
|
|
+ .appType("APP_YIDJ71B8QORD2YHNZ26Q")
|
|
|
+ .systemToken("RH766AC1707FCUZQAKET09YV8I8K3VZA1GVNLN2")
|
|
|
+ .formUuid("FORM-IY966L71PJ8FV10D61M1HBHU6FB320M2765OLM")
|
|
|
+ .searchFieldJson(JSON.toJSONString(UtilMap.map("selectField_lo56u5fn, dateField_lred6eoj", "待上报", Arrays.asList(UtilDateTime.parse(currentDate + " 00:00:59", "yyyy-MM-dd HH:mm:ss"), UtilDateTime.parse(currentDate + " 23:59:59", "yyyy-MM-dd HH:mm:ss")))))
|
|
|
+ .build();
|
|
|
+ //pagesize设为1获取总数
|
|
|
+ ydParam.setPageSize(1);
|
|
|
+ DDR_New ddr_new = ydClient.queryData(ydParam, YDConf.FORM_QUERY.retrieve_search_form);
|
|
|
+ long totalCount = ddr_new.getTotalCount();
|
|
|
+ List<Map> dataList = (List<Map>) ddr_new.getData();
|
|
|
+ log.info("totalCount{}", totalCount);
|
|
|
+ for (Map map : dataList) {
|
|
|
+ log.info(map.get("formInstanceId").toString());
|
|
|
+ //修改状态为已上报
|
|
|
+ try {
|
|
|
+ ydClient.operateData(YDParam.builder()
|
|
|
+ .formInstanceId(map.get("formInstanceId").toString())
|
|
|
+ .updateFormDataJson(JSON.toJSONString(UtilMap.map("selectField_lo56u5fn", "已上报")))
|
|
|
.build(), YDConf.FORM_OPERATION.update);
|
|
|
- } catch (Exception e) {
|
|
|
- log.info("异常流程ID为:{}",item.get("formInstanceId").toString());
|
|
|
- throw new RuntimeException(e);
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.info("异常流程ID为:{}", map.get("formInstanceId").toString());
|
|
|
+ try {
|
|
|
+ String insertSql = "INSERT INTO `error_insts`(`form_inst_id`) VALUES ('?');";
|
|
|
+ Class.forName("com.mysql.cj.jdbc.Driver");
|
|
|
+ Connection connection = DriverManager.getConnection(url, username, password);
|
|
|
+ // 创建Statement对象,用于执行SQL语句
|
|
|
+ PreparedStatement preparedStatement = connection.prepareStatement(insertSql);
|
|
|
+ preparedStatement.setString(1, map.get("formInstanceId").toString());
|
|
|
+ // 执行SQL查询
|
|
|
+ int resultSet = preparedStatement.executeUpdate();
|
|
|
+ if (resultSet > 0) {
|
|
|
+ log.info("插入一条数据实例id为:{}", map.get("formInstanceId"));
|
|
|
}
|
|
|
- });
|
|
|
- Thread.sleep(5000);
|
|
|
- syncUpdatePlanStatus();
|
|
|
+ // 关闭资源
|
|
|
+ preparedStatement.close();
|
|
|
+ connection.close();
|
|
|
+ } catch (Exception ex) {
|
|
|
+ log.info("插入失败,数据实例id为:{}", map.get("formInstanceId"));
|
|
|
+ ex.printStackTrace();
|
|
|
+ }
|
|
|
+ e.printStackTrace();
|
|
|
}
|
|
|
-
|
|
|
+ }
|
|
|
+ Thread.sleep(3000);
|
|
|
}
|
|
|
|
|
|
/**
|
|
@@ -302,7 +361,7 @@ public class YBJServiceImpl implements YBJService {
|
|
|
* @param formInstId
|
|
|
*/
|
|
|
@Override
|
|
|
- public void creatInfo(String formInstId) {
|
|
|
+ public void creatInfo(String formInstId){
|
|
|
log.info("新增护理计划",new Date());
|
|
|
//根据实例ID 查询护理计划
|
|
|
YDParam ydParam = YDParam.builder()
|
|
@@ -466,7 +525,7 @@ public class YBJServiceImpl implements YBJService {
|
|
|
*/
|
|
|
@SneakyThrows
|
|
|
@Override
|
|
|
- @Async
|
|
|
+// @Async
|
|
|
public void updateInfo(String formInstId) {
|
|
|
//根据实例ID 查询护理计划
|
|
|
YDParam ydParam = YDParam.builder()
|
|
@@ -486,12 +545,12 @@ public class YBJServiceImpl implements YBJService {
|
|
|
|
|
|
List<Map> queryAllFormData = ydService.queryAllFormData(ydParamDelete);
|
|
|
queryAllFormData.forEach(item -> {
|
|
|
+ log.info("删除",item.get("dateField_lred6eoj"));
|
|
|
//删除
|
|
|
ydClient.operateData(YDParam.builder()
|
|
|
.formInstanceId(item.get("formInstanceId").toString())
|
|
|
.build(), YDConf.FORM_OPERATION.delete);
|
|
|
});
|
|
|
-
|
|
|
}
|
|
|
|
|
|
/**
|