|
@@ -1,17 +1,24 @@
|
|
|
package com.zskk.task;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
import com.jfinal.plugin.activerecord.Db;
|
|
|
import com.jfinal.plugin.activerecord.Record;
|
|
|
import com.jfinal.plugin.cron4j.ITask;
|
|
|
-import com.zskk.model.*;
|
|
|
+import com.zskk.model.Doctors;
|
|
|
+import com.zskk.model.Exams;
|
|
|
+import com.zskk.model.PatientInfos;
|
|
|
+import com.zskk.model.Report;
|
|
|
import com.zskk.service.ServiceFactory;
|
|
|
import com.zskk.service.WeixinService;
|
|
|
+import org.apache.commons.codec.digest.DigestUtils;
|
|
|
|
|
|
+import java.io.UnsupportedEncodingException;
|
|
|
+import java.net.URLEncoder;
|
|
|
import java.text.ParseException;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-import java.util.UUID;
|
|
|
+import java.util.*;
|
|
|
+
|
|
|
+
|
|
|
|
|
|
public class DataTask implements ITask {
|
|
|
|
|
@@ -53,6 +60,65 @@ public class DataTask implements ITask {
|
|
|
exams2.setApplicationDoctor(record.getStr("clinicaldoctor"));
|
|
|
exams2.setClinDiag(record.getStr("diagnosis"));
|
|
|
exams2.update();
|
|
|
+ //传云医康 数据
|
|
|
+ Map<String, String> params = new HashMap<>(10);
|
|
|
+ Map<String, String> data = new HashMap<>(22);
|
|
|
+ //获取data数据
|
|
|
+ //医院id
|
|
|
+ data.put("hospital_id","15700002");
|
|
|
+ //影像所见
|
|
|
+ data.put("description",record.getStr("DESCRIPTION"));
|
|
|
+ //意见建议
|
|
|
+ data.put("impression",record.getStr("impression"));
|
|
|
+ //检查id
|
|
|
+ data.put("exam_id",exams2.getId());
|
|
|
+ //患者id
|
|
|
+ data.put("patient_id",exams2.getPatientId());
|
|
|
+ //患者姓名
|
|
|
+ data.put("patient_name",record.getStr("patientname"));
|
|
|
+ //患者性别
|
|
|
+ data.put("patient_sex",record.getStr("patientsex"));
|
|
|
+ //身份证号
|
|
|
+ data.put("card_num",record.getStr("idcard"));
|
|
|
+ //手机号
|
|
|
+ data.put("phone",record.getStr("phone"));
|
|
|
+ //患者生日
|
|
|
+ data.put("birthday",record.getStr("birthdate"));
|
|
|
+ //患者检查时年龄
|
|
|
+ data.put("patient_age",record.getStr("patientage"));
|
|
|
+ //阴阳性 1阴性 2阳性
|
|
|
+ //data.put("report_result","");
|
|
|
+ //报告时间 10位时间戳
|
|
|
+ data.put("report_datetime",returnSecondTimestamp(record.getStr("reportdate")));
|
|
|
+ //报告医生id
|
|
|
+ //data.put("report_doctor_id",);
|
|
|
+ //报告医生姓名
|
|
|
+ data.put("report_doctor_name",record.getStr("reportdoctor"));
|
|
|
+ //审核时间
|
|
|
+ data.put("review_datetime",returnSecondTimestamp(record.getStr("reportdate")));
|
|
|
+ //审核医生id
|
|
|
+ //data.put("review_doctor_id",);
|
|
|
+ //审核姓名
|
|
|
+ data.put("review_doctor_name",record.getStr("reviewdoctor"));
|
|
|
+ //确认时间
|
|
|
+ data.put("confirm_datetime", returnSecondTimestamp(record.getStr("reportdate")));
|
|
|
+ //确认医生id
|
|
|
+ //data.put("confirm_doctor_id", );
|
|
|
+ //确认医生姓名
|
|
|
+ data.put("confirm_doctor_name",record.getStr("clinicaldoctor"));
|
|
|
+ //时间戳
|
|
|
+ params.put("timestamp", String.valueOf(getSecondTimestamp(new Date())));
|
|
|
+ //signature
|
|
|
+ params.put("signature", getSign(data, "YgpxjVeIx0yoK6Atz413IAj7hU9dygH4"));
|
|
|
+ //datajson字符串
|
|
|
+ params.put("data", JSON.toJSONString(data));
|
|
|
+ System.out.println(params);
|
|
|
+ //sendPost(url, params);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
WeixinService wService = ServiceFactory.getService(WeixinService.class);
|
|
|
wService.requestWeixinQrcode(report.getId());;
|
|
|
}
|
|
@@ -62,8 +128,85 @@ public class DataTask implements ITask {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * 功能描述: 获取当前时间戳(秒)
|
|
|
+ *
|
|
|
+ * @param: [date]
|
|
|
+ * @return: int
|
|
|
+ * @auther: zzp
|
|
|
+ * @date: 2019/12/26 18:26
|
|
|
+ */
|
|
|
+ public String getSecondTimestamp(Date date) {
|
|
|
+ if (null == date) {
|
|
|
+ return "参数为空";
|
|
|
+ }
|
|
|
+ String timestamp = String.valueOf(date.getTime());
|
|
|
+ int length = timestamp.length();
|
|
|
+ if (length > 3) {
|
|
|
+ return String.valueOf(timestamp.substring(0, length - 3));
|
|
|
+ } else {
|
|
|
+ return "参数不足3位数";
|
|
|
+ }
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * 功能描述: 对数组的值按key排序,生成url的形式(http_build_query)
|
|
|
+ *
|
|
|
+ * @param: [map]
|
|
|
+ * @return: java.lang.String
|
|
|
+ * @auther: zzp
|
|
|
+ * @date: 2019/12/26 19:21
|
|
|
+ */
|
|
|
+ public String Ksort(Map<String, String> map) {
|
|
|
+ String sb = "";
|
|
|
+ String[] key = new String[map.size()];
|
|
|
+ int index = 0;
|
|
|
+ for (String k : map.keySet()) {
|
|
|
+ key[index] = k;
|
|
|
+ index++;
|
|
|
+ }
|
|
|
+ Arrays.sort(key);
|
|
|
+ for (String s : key) {
|
|
|
+ sb += s + "=" + map.get(s) + "&";
|
|
|
+ }
|
|
|
+ sb = sb.substring(0, sb.length() - 1);
|
|
|
+ try {
|
|
|
+ sb = URLEncoder.encode(sb, "UTF-8");
|
|
|
+ } catch (UnsupportedEncodingException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }// 使用常见的UTF-8编码
|
|
|
+ return sb.replace("%3D", "=").replace("%26", "&");
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * 功能描述:生成signature
|
|
|
+ *
|
|
|
+ * @param: [param, key]
|
|
|
+ * @return: java.lang.String
|
|
|
+ * @auther: zzp
|
|
|
+ * @date: 2019/12/24 15:28
|
|
|
+ */
|
|
|
+ public String getSign(Map<String, String> param, String key) {
|
|
|
+ return DigestUtils.md5Hex(Ksort(param) + key);
|
|
|
+ }
|
|
|
+ /**
|
|
|
+ *
|
|
|
+ * 功能描述: 转时间戳(秒)
|
|
|
+ *
|
|
|
+ * @param:
|
|
|
+ * @return:
|
|
|
+ * @auther: zpp
|
|
|
+ * @date: 2019/12/26 18:26
|
|
|
+ */
|
|
|
+ public String returnSecondTimestamp(String data) throws ParseException {
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
|
|
|
|
|
- @Override
|
|
|
+ return String.valueOf(sdf.parse(data).getTime()/1000);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ @Override
|
|
|
public void stop() {
|
|
|
// TODO Auto-generated method stub
|
|
|
|