Kaynağa Gözat

医保局接口取消多线程配置

fyz 7 ay önce
ebeveyn
işleme
11dabbaa00

+ 54 - 20
mjava-yibaoju/src/main/java/com/malk/yibaoju/controller/YBJController.java

@@ -2,8 +2,6 @@ package com.malk.yibaoju.controller;
 
 
 import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 import com.malk.server.aliwork.YDConf;
 import com.malk.server.aliwork.YDParam;
 import com.malk.server.common.McException;
@@ -11,21 +9,24 @@ import com.malk.server.common.McR;
 import com.malk.service.aliwork.YDClient;
 import com.malk.service.aliwork.YDService;
 import com.malk.service.dingtalk.DDService;
-import com.malk.utils.UtilDateTime;
 import com.malk.utils.UtilMap;
 import com.malk.utils.UtilServlet;
 import com.malk.yibaoju.service.YBJService;
 import lombok.SneakyThrows;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletRequest;
+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.stream.Collectors;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 
 /**
  * 错误抛出与拦截详见 CatchException
@@ -34,6 +35,17 @@ import java.util.stream.Collectors;
 @RestController
 @RequestMapping()
 public class YBJController {
+    @Value("${spring.datasource.username}")
+    private String username;
+
+    @Value("${spring.datasource.password}")
+    private String password;
+
+    @Value("${spring.datasource.url}")
+    private String url;
+
+    @Value("${spring.datasource.driver-class-name}")
+    private String driver;
 
     @Autowired
     private YBJService ybjService;
@@ -57,23 +69,22 @@ public class YBJController {
      */
     @SneakyThrows
     @PostMapping("createPlan")
-    McR createPlan(HttpServletRequest request){
+    McR createPlan(@RequestBody Map data){
 
-        Map data = UtilServlet.getParamMap(request);
         log.info("createPlan 护理计划{}",data);
         LocalDate currentDate = LocalDate.now();
         //获取当前日期是本月几号
         int dayOfMonth = currentDate.getDayOfMonth();
-        if ("1".equals(data.get("status"))){
-            ybjService.creatInfo(data.get("formInstId").toString());
-            if (dayOfMonth>24){
-                Thread.sleep(2000);
-                ybjService.creatNextInfo(data.get("formInstId").toString());
-            }
-        }else{
-            //编辑只做删除数据操作。新增在页面保存完之后操作。
+        if ("2".equals(data.get("status"))){
             ybjService.updateInfo(data.get("formInstId").toString());
         }
+        //编辑只做删除数据操作。新增在页面保存完之后操作。
+        //获取当前日期是本月几号
+        ybjService.creatInfo(data.get("formInstId").toString());
+        if (dayOfMonth>24){
+            Thread.sleep(2000);
+            ybjService.creatNextInfo(data.get("formInstId").toString());
+        }
         return McR.success();
     }
 
@@ -83,15 +94,15 @@ public class YBJController {
      * @return
      */
     @SneakyThrows
-    @PostMapping("createPlanInfo")
+    @PostMapping(value = "createPlanInfo" )
     McR createPlanInfo(@RequestBody Map data) {
-        Thread.sleep(5000);
+        Thread.sleep(500);
         LocalDate currentDate = LocalDate.now();
         //获取当前日期是本月几号
         int dayOfMonth = currentDate.getDayOfMonth();
         ybjService.creatInfo(data.get("formInstId").toString());
         if (dayOfMonth>24){
-            Thread.sleep(2000);
+            Thread.sleep(200);
             ybjService.creatNextInfo(data.get("formInstId").toString());
         }
         return McR.success();
@@ -298,5 +309,28 @@ public class YBJController {
         return McR.success();
     }
 
+    @PostMapping("test1")
+    McR test1(@RequestBody Map data) {
+        try {
+            String insertSql = "INSERT INTO `error_insts`(`form_inst_id`) VALUES ('123123');";
+            Class.forName(driver);
+            Connection connection = DriverManager.getConnection(url, username, password);
+            // 创建Statement对象,用于执行SQL语句
+            PreparedStatement preparedStatement = connection.prepareStatement(insertSql);
+//            preparedStatement.setString("123123");
+            // 执行SQL查询
+            int resultSet = preparedStatement.executeUpdate();
+//            if (resultSet > 0) {
+//                log.info("插入一条数据实例id为:{}",dataList.get(j).get("formInstanceId"));
+//            }
+            // 关闭资源
+            preparedStatement.close();
+            connection.close();
+        } catch (Exception ex) {
+//            log.info("插入失败,数据实例id为:{}",dataList.get(j).get("formInstanceId"));
+            ex.printStackTrace();
+        }
+        return McR.success();
+    }
 
 }

+ 165 - 106
mjava-yibaoju/src/main/java/com/malk/yibaoju/service/impl/YBJServiceImpl.java

@@ -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);
         });
-
     }
 
     /**

+ 2 - 2
mjava-yibaoju/src/main/resources/application-dev.yml

@@ -16,8 +16,8 @@ spring:
       connection-init-sql: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci           # SqlServer, Oracle 无需设置类型
     driver-class-name: com.mysql.cj.jdbc.Driver
     username: root
-    password: mu123
-    url: jdbc:mysql://127.0.0.1:3306/mjava?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
+    password: cp-root@2022++
+    url: jdbc:mysql://47.97.181.40:3306/yibaoju?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
   jpa:
     database: MYSQL
     database-platform: org.hibernate.dialect.MySQL57Dialect

+ 2 - 2
mjava-yibaoju/src/main/resources/application-prod.yml

@@ -16,8 +16,8 @@ spring:
       connection-init-sql: SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci           # SqlServer, Oracle 无需设置类型
     driver-class-name: com.mysql.cj.jdbc.Driver
     username: root
-    password: mu123
-    url: jdbc:mysql://127.0.0.1:3306/mjava?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
+    password: cp-root@2022++
+    url: jdbc:mysql://47.97.181.40:3306/yibaoju?serverTimezone=Asia/Shanghai&useUnicode=yes&characterEncoding=UTF-8&useSSL=true
   jpa:
     database: MYSQL
     database-platform: org.hibernate.dialect.MySQL57Dialect