Ver Fonte

dat文件生成和读取

zhouger há 7 meses atrás
pai
commit
ab1fca90ab

+ 16 - 16
src/main/java/sys/sc/formplugin/CreatDatPlugin.java

@@ -62,22 +62,22 @@ public class CreatDatPlugin extends AbstractListPlugin {
             if (nckd_url.equals("/var/appstatic/")) {
                 nckd_url="/home/kingdee/cosmic/nginx-appstatic/store/appstatic/";
             }
-            //生成文件的路径
-            String filePath=nckd_url+filename;
-            File dir=new File(filePath);
-            //不存在则创建文件夹
-            if (!dir.exists()) {
-                File parentDir = dir.getParentFile();
-                if (parentDir != null && !parentDir.exists()) {
-                    parentDir.mkdirs();
-                }
-                try {
-                    dir.createNewFile();
-                } catch (IOException e) {
-                    throw new RuntimeException(e);
-                }
-                this.getView().showMessage("创建成功"+filePath);
-            }
+//            //生成文件的路径
+////            String filePath=nckd_url+filename;
+////            File dir=new File(filePath);
+////            //不存在则创建文件夹
+////            if (!dir.exists()) {
+////                File parentDir = dir.getParentFile();
+////                if (parentDir != null && !parentDir.exists()) {
+////                    parentDir.mkdirs();
+////                }
+////                try {
+////                    dir.createNewFile();
+////                } catch (IOException e) {
+////                    throw new RuntimeException(e);
+////                }
+////                this.getView().showMessage("创建成功"+filePath);
+////            }
             //分割符号
             String spiltsign=jkdataDy.getString("nckd_split");
             //结束符号

+ 0 - 2
src/main/java/sys/sc/formplugin/TestPlugin.java

@@ -801,8 +801,6 @@ public class TestPlugin  extends AbstractListPlugin {
         if ("connect".equals(e.getOperateKey()))
         {
             InterFaceImgUtils interFaceImgUtils=new InterFaceImgUtils("produceurl");
-            interFaceImgUtils.getServerPassword();
-            interFaceImgUtils.getHost();
 
         }
 

+ 1 - 1
src/main/java/sys/sc/opplugin/utils/InterFaceImgUtils.java

@@ -23,7 +23,7 @@ public class InterFaceImgUtils {
                 .loadSingle(nckd_jkpzxx,new QFilter[]{new QFilter("number","=",URL)});
     }
     //端口号
-    public int getHost() {
+    public int getProt() {
         return jkpzxx.getInt("nckd_port");
     }
     //服务器地址

+ 4 - 1
src/main/java/sys/sc/opplugin/utils/SftpClient.java

@@ -51,8 +51,11 @@ public class SftpClient {
     public void fileCreat(String localFilePath,String remoteFilePath) throws SftpException {
         //本地服务器传到服务器文件
         sftpChannel.put(localFilePath,remoteFilePath);
+    }
 
-
+    //创建文件夹
+    public void creatDir(String path) throws SftpException {
+        sftpChannel.mkdir(path);
     }
 
     // 断开连接

+ 29 - 18
src/main/java/sys/sc/task/CreatDatDailyTask.java

@@ -15,11 +15,14 @@ import kd.bos.schedule.executor.AbstractTask;
 import kd.bos.servicehelper.BusinessDataServiceHelper;
 import scala.Dynamic;
 import sys.sc.opplugin.utils.DatFileCreatUtils;
+import sys.sc.opplugin.utils.InterFaceImgUtils;
 import sys.sc.opplugin.utils.SftpClient;
 
 import java.io.File;
 import java.io.IOException;
+import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 
@@ -66,45 +69,53 @@ public class CreatDatDailyTask extends AbstractTask {
             String bizappnum=item.getString("nckd_biazppnum");
             //接口配置信息获取
             //读取接口配置信息获取
-            QFilter qFilter=new QFilter("number",QCP.equals,"creatdat");
-            DynamicObject jkdataDy= BusinessDataServiceHelper.loadSingle(nckd_jkpzxx,
-                    "id,number,name,nckd_servername" +
-                            ",nckd_port,nckd_url,nckd_filename,nckd_user" +
-                            ",nckd_password,nckd_split,nckd_endsign",new QFilter[]{qFilter});
+            InterFaceImgUtils interFaceImgUtils=new InterFaceImgUtils("creatdat");
             //服务器路径
-            String nckd_url=jkdataDy.getString("nckd_url");
+            String nckd_url=interFaceImgUtils.getServerUrl();
             if (nckd_url.equals("/var/appstatic/")) {
                 nckd_url="/home/kingdee/cosmic/nginx-appstatic/store/appstatic/";
             }
             //分割符号
-            String spiltsign=jkdataDy.getString("nckd_split");
+            String spiltsign=interFaceImgUtils.getServerSplit();
             //结束符号
-            String endsign=jkdataDy.getString("nckd_endsign");
+            String endsign=interFaceImgUtils.getServerEndsign();
             //上传文件到服务器中
             //服务器端口
-            String host=jkdataDy.getString("nckd_servername");
+            String host=interFaceImgUtils.getServerName();
             //服务器用户名
-            String username=jkdataDy.getString("nckd_user");
+            String username=interFaceImgUtils.getServerUser();
             //服务器密码
-            String password=jkdataDy.getString("nckd_password");
+            String password=interFaceImgUtils.getServerPassword();
             //服务器路径
             //服务器端口号
-            int port=jkdataDy.getInt("nckd_port");
+            int port= interFaceImgUtils.getProt();
             try {
+                //上传文件到服务器中
+                SftpClient sftpClient=new SftpClient(host,username,password,port);
+                //获取服务器连接
+                sftpClient.connect();
+                //创建文件夹,为当天日期
+                Date currentDate=new Date();
+                //设置日期格式
+                SimpleDateFormat sf=new SimpleDateFormat("yyyyMMdd");
+                String dateStr=sf.format(currentDate);
+                String filePathWithDate=nckd_url+dateStr;
+                //创建文件夹,名为当前日期
+                sftpClient.creatDir(filePathWithDate);
                 //临时文件
                 File localFile = File.createTempFile(tablenumber, ".dat");
+                File dest=new File(localFile.getParent()+File.separator+tablenumber.toUpperCase()+".dat");
+                //重命名文件
+                localFile.renameTo(dest);
                 //文件写入
-                DatFileCreatUtils datFileCreatUtils=new DatFileCreatUtils(tablenumber,bizappnum,fileList,localFile.getAbsolutePath(),spiltsign,endsign);
+                DatFileCreatUtils datFileCreatUtils=new DatFileCreatUtils(tablenumber,bizappnum,fileList,dest.getAbsolutePath(),spiltsign,endsign);
                 //生成dat文件到本地
                 datFileCreatUtils.creatDatFile();
-                //上传文件到服务器中
-                SftpClient sftpClient=new SftpClient(host,username,password,port);
-                //获取服务器连接
-                sftpClient.connect();
                 //从本地传文件到服务器
-                sftpClient.fileCreat(localFile.getAbsolutePath(),nckd_url);
+                sftpClient.fileCreat(dest.getAbsolutePath(),filePathWithDate);
                 //上传后删除临时文件
                 localFile.delete();
+                dest.delete();
                 //关闭连接
                 sftpClient.disconnect();
             } catch (IOException e) {