|
|
@@ -1,5 +1,6 @@
|
|
|
-package com.uas.main;
|
|
|
+package com.uas.service.Impl;
|
|
|
|
|
|
+import com.uas.service.DownloadService;
|
|
|
import com.uas.util.BaseUtil;
|
|
|
import com.uas.util.SFTPUtil;
|
|
|
import org.apache.commons.net.ftp.FTPClient;
|
|
|
@@ -7,6 +8,8 @@ import org.codehaus.jackson.map.ObjectMapper;
|
|
|
import org.dom4j.Document;
|
|
|
import org.dom4j.Element;
|
|
|
import org.dom4j.io.SAXReader;
|
|
|
+import org.springframework.scheduling.annotation.Async;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
|
|
|
import java.io.File;
|
|
|
import java.io.FileInputStream;
|
|
|
@@ -24,7 +27,40 @@ import java.util.Map;
|
|
|
import static com.uas.util.FtpUtil.*;
|
|
|
import static com.uas.util.JdbcUtil.*;
|
|
|
|
|
|
-public class Download{
|
|
|
+@Service
|
|
|
+public class DownloadServiceImpl implements DownloadService {
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public void downloadRun(){
|
|
|
+ //香港华商龙-富森
|
|
|
+ downloadByDepotAndSob("N_HUASL-FS","N_HUASL","香港华商龙");
|
|
|
+ //威尔电子-富森
|
|
|
+ downloadByDepotAndSob("N_WILICHK-FS","N_WILICHK","(华商龙)威尔电子");
|
|
|
+ //柏建控股-富森
|
|
|
+ downloadByDepotAndSob("N_BJKG-FS","N_BJKG","柏建控股");
|
|
|
+ //深圳华商龙-准时达
|
|
|
+ downloadByDepotAndSob("N_HUASL_SZ-DRD","N_HUASL_SZ","深圳华商龙");
|
|
|
+ //上海宇声-准时达
|
|
|
+ downloadByDepotAndSob("N_E_SHINE_SH-DRD","N_E_SHINE_SH","上海宇声");
|
|
|
+ //重庆华商龙-准时达
|
|
|
+ downloadByDepotAndSob("HSL_CQ-DRD","HSL_CQ","重庆华商龙");
|
|
|
+ //北京华商龙-准时达
|
|
|
+ downloadByDepotAndSob("HSL_BJ-DRD","HSL_BJ","北京华商龙");
|
|
|
+ //青岛华商龙-准时达
|
|
|
+ downloadByDepotAndSob("N_HUASL_QD-DRD","N_HUASL_QD","青岛华商龙");
|
|
|
+ //香港华商龙-新宁
|
|
|
+ //downloadByDepotAndSob("N_HUASL-XN","N_HUASL","香港华商龙");
|
|
|
+
|
|
|
+ //downloadByDepotAndSob("N_BJKG-QF","N_BJKG","柏建控股");//柏建控股-旗丰
|
|
|
+ //downloadByDepotAndSob("N_WILICHK-QF","N_WILICHK","(华商龙)威尔电子");//威尔电子-旗丰
|
|
|
+ //downloadByDepotAndSob("N_HUASL-QF","N_HUASL","香港华商龙");//华商龙-旗丰
|
|
|
+// downloadByDepotAndSob("N_HUASL-JS","N_HUASL"); //华商龙-嘉晟
|
|
|
+// downloadByDepotAndSob("N_WILICHK-JS","N_WILICHK"); //威尔电子-嘉晟
|
|
|
+// downloadByDepotAndSob("N_BJKG-JS","N_BJKG"); //柏建控股-嘉晟
|
|
|
+// downloadByDepotAndSob("USOFT_MALL_HK-JS","USOFT_MALL_HK"); //优软商城香港-嘉晟
|
|
|
+// downloadByDepotAndSob("t_n_huasl-QF","t_n_huasl");
|
|
|
+
|
|
|
+ }
|
|
|
|
|
|
public static Boolean checkXmlFileToSqlToEnterprise(File file,String enterprise){
|
|
|
String ent = null;
|
|
|
@@ -431,51 +467,21 @@ public class Download{
|
|
|
data.add(detail);
|
|
|
}
|
|
|
return data;
|
|
|
- }
|
|
|
- public static void downloadRun(){
|
|
|
- //香港华商龙-富森
|
|
|
- downloadByDepotAndSob("N_HUASL-FS","N_HUASL","香港华商龙");
|
|
|
- //香港华商龙-新宁
|
|
|
- downloadByDepotAndSob("N_HUASL-XN","N_HUASL","香港华商龙");
|
|
|
- //威尔电子-富森
|
|
|
- downloadByDepotAndSob("N_WILICHK-FS","N_WILICHK","(华商龙)威尔电子");
|
|
|
- //柏建控股-富森
|
|
|
- downloadByDepotAndSob("N_BJKG-FS","N_BJKG","柏建控股");
|
|
|
- //深圳华商龙-准时达
|
|
|
- downloadByDepotAndSob("N_HUASL_SZ-DRD","N_HUASL_SZ","深圳华商龙");
|
|
|
- //上海宇声-准时达
|
|
|
- downloadByDepotAndSob("N_E_SHINE_SH-DRD","N_E_SHINE_SH","上海宇声");
|
|
|
- //重庆华商龙-准时达
|
|
|
- downloadByDepotAndSob("HSL_CQ-DRD","HSL_CQ","重庆华商龙");
|
|
|
- //北京华商龙-准时达
|
|
|
- downloadByDepotAndSob("HSL_BJ-DRD","HSL_BJ","北京华商龙");
|
|
|
- //青岛华商龙-准时达
|
|
|
- downloadByDepotAndSob("N_HUASL_QD-DRD","N_HUASL_QD","青岛华商龙");
|
|
|
-
|
|
|
- //downloadByDepotAndSob("N_BJKG-QF","N_BJKG","柏建控股");//柏建控股-旗丰
|
|
|
- //downloadByDepotAndSob("N_WILICHK-QF","N_WILICHK","(华商龙)威尔电子");//威尔电子-旗丰
|
|
|
- //downloadByDepotAndSob("N_HUASL-QF","N_HUASL","香港华商龙");//华商龙-旗丰
|
|
|
-// downloadByDepotAndSob("N_HUASL-JS","N_HUASL"); //华商龙-嘉晟
|
|
|
-// downloadByDepotAndSob("N_WILICHK-JS","N_WILICHK"); //威尔电子-嘉晟
|
|
|
-// downloadByDepotAndSob("N_BJKG-JS","N_BJKG"); //柏建控股-嘉晟
|
|
|
-// downloadByDepotAndSob("USOFT_MALL_HK-JS","USOFT_MALL_HK"); //优软商城香港-嘉晟
|
|
|
-// downloadByDepotAndSob("t_n_huasl-QF","t_n_huasl");
|
|
|
-
|
|
|
}
|
|
|
|
|
|
@SuppressWarnings("unchecked")
|
|
|
- public static void downloadByDepotAndSob(String depot,String sob,String enterprise){
|
|
|
+ @Override
|
|
|
+ @Async("taskExecutor")
|
|
|
+ public void downloadByDepotAndSob(String depot,String sob,String enterprise){
|
|
|
FTPClient client = null;
|
|
|
- SFTPUtil sftp = null;
|
|
|
List<String> sqls = new ArrayList<String>();
|
|
|
boolean executeRes = false;
|
|
|
Connection connect = null;
|
|
|
-
|
|
|
try {
|
|
|
Map<String,Object> servMap = getFtpConfigs();
|
|
|
Map<String,Object> ftpMap = (Map<String,Object>)servMap.get(depot);
|
|
|
client = connect(ftpMap);
|
|
|
- if(client!=null||sftp!=null) {
|
|
|
+ if(client!=null) {
|
|
|
List<File> files = null;
|
|
|
files = downloadAllFileByType(client, "XML");
|
|
|
String fileName = "";
|
|
|
@@ -486,13 +492,14 @@ public class Download{
|
|
|
try {
|
|
|
fileName += "," + file.getName();
|
|
|
Statement statement = connect.createStatement();
|
|
|
- System.err.println(statement);
|
|
|
//判断当前帐套和文件是否一致
|
|
|
if (!checkXmlFileToSqlToEnterprise(file, enterprise)) {
|
|
|
continue;
|
|
|
}
|
|
|
sqls = parseXmlFileToSqls(file, statement);
|
|
|
if (sqls == null) {
|
|
|
+ //移动处理失败的文件到failed文件夹下
|
|
|
+ client.rename(file.getName(), "failed/" + file.getName());
|
|
|
continue;
|
|
|
}
|
|
|
|
|
|
@@ -501,6 +508,9 @@ public class Download{
|
|
|
if (executeRes) {
|
|
|
//移动处理完的文件到bak文件夹下
|
|
|
client.rename(file.getName(), "bak/" + file.getName());
|
|
|
+ }else {
|
|
|
+ //移动处理失败的文件到failed文件夹下
|
|
|
+ client.rename(file.getName(), "failed/" + file.getName());
|
|
|
}
|
|
|
statement.close();
|
|
|
} catch (Exception e) {
|
|
|
@@ -524,9 +534,6 @@ public class Download{
|
|
|
closeFtpClient(client);
|
|
|
client = null;
|
|
|
}
|
|
|
- if (sftp!=null){
|
|
|
- sftp.logout();
|
|
|
- }
|
|
|
//把当前的连接关闭
|
|
|
try {
|
|
|
if(connect!=null){
|