123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- package com.zskk.task;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import com.alibaba.fastjson.JSON;
- import com.alibaba.fastjson.JSONArray;
- import com.alibaba.fastjson.JSONObject;
- import com.jfinal.plugin.activerecord.Db;
- import com.jfinal.plugin.activerecord.Record;
- import com.jfinal.plugin.cron4j.ITask;
- import com.zskk.service.DataService;
- import com.zskk.service.ServiceFactory;
- import com.zskk.tools.ExecUtil;
- public class CMoveTask implements ITask {
- @Override
- public void run() {
- // TODO Auto-generated method stub
- //0wait1match2break
- int flag = 0;
- DataService dService = ServiceFactory.getService(DataService.class);
- JSONArray jsonArray = dService.getExamList(50);
- Record studyidfind = null;
- while (flag != 2) {
- studyidfind = Db.use("local").findFirst("select * from study where status =1 or status =2 order by createAt desc");
- if (studyidfind == null) {
- return;
- }
-
- // for (Object object : jsonArray) {
- // JSONObject jsonObject = JSON.parseObject(object.toString());
- // if (jsonObject.getString("studyuid").equals(studyidfind.getStr("STUDYUID"))) {
- // flag = 1;
- // }
- // }
- if (studyidfind.getStr("device")==null) {
- Record dRecord = Db.use("connected").findFirst("select * from reportinfo where STUDYUID = ?",
- studyidfind.getStr("STUDYUID"));
- String deviceString = "";
- if (dRecord != null && dRecord.getStr("DEVICE") != null) {
- deviceString = dRecord.getStr("DEVICE");
- }
- studyidfind.set("device", deviceString);
- studyidfind.set("updateAt", parseStringToDateTime());
- Db.use("local").update("study", studyidfind);
- }
- if (!studyidfind.getStr("device").equals("联影 40排CT") && !studyidfind.getStr("device").equals("Achieva 3.0T")) {
- studyidfind.set("status", 5);
- studyidfind.set("updateAt", parseStringToDateTime());
- Db.use("local").update("study", studyidfind);
- }else if(studyidfind.getStr("device").equals("联影 40排CT") || studyidfind.getStr("device").equals("Achieva 3.0T")){
- studyidfind.set("status", 4);
- studyidfind.set("updateAt", parseStringToDateTime());
- Db.use("local").update("study", studyidfind);
- String execCmd = ExecUtil.execCmd("/zskk_system/other/cmove.sh " + studyidfind.getStr("studyuid"));
- if (execCmd.contains("Connection refused") || execCmd.contains("Socket closed")) {
- studyidfind.set("status", 2);
- studyidfind.set("updateAt", parseStringToDateTime());
- Db.use("local").update("study", studyidfind);
- return;
- }
- studyidfind.set("status", 3);
- studyidfind.set("updateAt", parseStringToDateTime());
- Db.use("local").update("study", studyidfind);
- flag = 2;
- }
- }
-
- }
- @Override
- public void stop() {
- // TODO Auto-generated method stub
- }
-
- /**
- * 日期字符串格式转换年月日时分秒
- *
- * @param dateStr
- * @return
- */
- private String parseStringToDateTime() {
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Date date = new Date();
- String daString = sdf.format(date);
- return daString;
- }
- }
|