123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- package com.zskk.task;
- import java.io.File;
- import java.io.FileOutputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Date;
- import java.util.List;
- import com.jfinal.plugin.activerecord.Db;
- import com.jfinal.plugin.activerecord.Record;
- import com.jfinal.plugin.cron4j.ITask;
- import okhttp3.OkHttpClient;
- import okhttp3.Request;
- import okhttp3.Response;
- public class CheckTask implements ITask {
- private static final OkHttpClient OKHTTP_CLIENT = new OkHttpClient();
- @Override
- public void run() {
- // TODO Auto-generated method stub
- List<Record> record = Db.use("connectedtemp").find("select * from study where status>=3 and imageNum is not null order by createAt desc limit 15");
- if (record == null) {
- return;
- }
- for (Record record3 : record) {
- int i = record3.getInt("imageNum");
- List<Record> recordList = Db.use("connected").find("select * from tjpacs.V_ZSKK_WEBPACS_IMAGE where STUDYID=?",record3.getStr("studyid"));
- if (recordList.size()<=i) {
- continue;
- }else {
- record3.set("status", 4);
- Db.use("connectedtemp").update("study", record3);
- for (Record record2 : recordList) {
- Request request = new Request.Builder()
- .url(record2.getStr("HTTP_URL"))
- .build();
- String fileName = record2.getStr("INSUID");
- try (Response response = OKHTTP_CLIENT.newCall(request).execute()) {
- if (!response.isSuccessful())
- throw new IOException("Unexpected code " + response);
- String dirName = "/home/zskk/桌面/DICOM_URL";
- File file = new File(dirName);
- if (!file.exists()) {
- file.mkdir();
- }
- if (response != null) {
- InputStream is = response.body().byteStream();
- FileOutputStream fos = new FileOutputStream(new File(dirName + "/" + fileName));
- int len = 0;
- byte[] buffer = new byte[2048];
- while (-1 != (len = is.read(buffer))) {
- fos.write(buffer, 0, len);
- }
-
- fos.flush();
- fos.close();
- is.close();
- File filen2 = new File(dirName + "/" + fileName);
- File filen = new File(dirName + "/" + fileName+".dcm");
- filen2.renameTo(filen);
- }
-
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- }
- }
- record3.set("imageNum", recordList.size());
- record3.set("status", 5);
- Db.use("connectedtemp").update("study", record3);
- }
- }
- @Override
- public void stop() {
- // TODO Auto-generated method stub
- }
- /**
- * 日期字符串格式转换
- * @param dateStr
- * @return
- */
- private String parseStringToDate() {
- SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- Date date = new Date();
- long dInteger =date.getTime()-65000;
- String daString = sdf.format(new Date(dInteger));
- return daString;
-
- }
- }
|