package com.web.jhsop.websocket.service.internal;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
import com.app.base.data.ApiResponseResult;
|
import com.app.base.service.FtpClientService;
|
import com.web.ftp.service.FileCheckService;
|
import com.web.jhsop.service.JhSopDataService;
|
|
import com.web.jhsop.websocket.dao.SopDeviceDao;
|
import com.web.jhsop.websocket.dao.SopFileDao;
|
import com.web.jhsop.websocket.entity.SopDevice;
|
import com.web.jhsop.websocket.entity.SopFile;
|
import com.web.jhsop.websocket.service.SopSendService;
|
import com.web.jhsop.websocket.util.WebSocketUtil;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Propagation;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.servlet.http.HttpServletResponse;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
@Service
|
@Transactional(propagation = Propagation.REQUIRED)
|
public class SopSendServiceImpl implements SopSendService {
|
|
@Autowired
|
private WebSocketUtil webSocketUtil;
|
|
@Autowired
|
private FtpClientService ftpClientService;
|
|
@Autowired
|
private FileCheckService fileCheckService;
|
|
@Autowired
|
private SopDeviceDao sopDeviceDao;
|
|
@Autowired
|
private SopFileDao sopFileDao;
|
|
@Autowired
|
private JhSopDataService jhSopDataService;
|
|
@Override
|
public ApiResponseResult sendSop(String deviceCode, String url, String account, String password, String path, String root, String fileName, String workOrder, String processLine, Integer page) throws Exception {
|
//接收设备id 文件ip地址 返回文件url地址和文件流
|
// ApiResponseResult download = ftpClientService.download(url, 21, account, password, path, fileName, root);
|
// Object data = download.getData();
|
StringBuilder sb = new StringBuilder();
|
sb.append("sop/getFtpFile?");
|
sb.append("deviceCode="+(deviceCode==null?"":deviceCode));
|
sb.append("&url="+(url==null?"":url));
|
sb.append("&account="+(account==null?"":account));
|
sb.append("&password="+(password==null?"":password));
|
sb.append("&path="+(path==null?"":path));
|
sb.append("&root="+(root==null?"":root));
|
sb.append("&fileName="+(fileName==null?"":fileName));
|
String ftpFilePath = sb.toString();
|
Map<String,Object> resMap = new HashMap<>();
|
String[] split = deviceCode.split(",");
|
|
// ApiResponseResult result = jhSopDataService.getProcessLine(workOrder);
|
// Object orderData = result.getData();
|
|
resMap.put("ftpFilePath",ftpFilePath);
|
resMap.put("workOrder",workOrder);
|
resMap.put("processLine",processLine);
|
resMap.put("fileName",fileName);
|
resMap.put("page",page);
|
String res = JSONObject.toJSONString(resMap);
|
webSocketUtil.sendMoreMessage(split,res);
|
return ApiResponseResult.success().data(resMap);
|
}
|
|
@Override
|
public ApiResponseResult getFtpFile(String deviceCode, String url, String account, String password, String path, String root, String fileName, HttpServletResponse response) throws Exception {
|
fileCheckService.onlineViewPdf(url,21,account,password,path,fileName,root,response);
|
return null;
|
}
|
|
@Override
|
public ApiResponseResult sendAllSop(String url, String account, String password, String path, String root, String fileName, String workOrder, String processLine, Integer page) {
|
StringBuilder sb = new StringBuilder();
|
sb.append("sop/getFtpFile?");
|
sb.append("&url="+(url==null?"":url));
|
sb.append("&account="+(account==null?"":account));
|
sb.append("&password="+(password==null?"":password));
|
sb.append("&path="+(path==null?"":path));
|
sb.append("&root="+(root==null?"":root));
|
sb.append("&fileName="+(fileName==null?"":fileName));
|
String ftpFilePath = sb.toString();
|
// webSocketUtil.sendAllMessage(ftpFilePath);
|
Map<String,Object> resMap = new HashMap<>();
|
resMap.put("ftpFilePath",ftpFilePath);
|
resMap.put("workOrder",workOrder);
|
resMap.put("processLine",processLine);
|
resMap.put("fileName",fileName);
|
resMap.put("page",page);
|
String res = JSONObject.toJSONString(resMap);
|
webSocketUtil.sendAllMessage(res);
|
return null;
|
}
|
|
@Override
|
public ApiResponseResult toSheetByPage(String deviceId, String page) {
|
webSocketUtil.sendOneMessage(deviceId,page);
|
return ApiResponseResult.success();
|
}
|
|
@Override
|
public ApiResponseResult getAllDevice() {
|
List<SopDevice> list = sopDeviceDao.findByIsDel(0);
|
return ApiResponseResult.success().data(list);
|
}
|
|
@Override
|
public ApiResponseResult distributeFile(String deviceId, SopFile sopFile, String order) throws Exception {
|
return sendSop(deviceId,sopFile.getBsUrl(),sopFile.getBsAccount(),sopFile.getBsPassword(),sopFile.getBsPath(),sopFile.getBsRoot(),sopFile.getBsName(),order,"",1);
|
}
|
|
@Override
|
public ApiResponseResult getSopFile() {
|
List<SopFile> list = sopFileDao.findByIsDel(0);
|
return ApiResponseResult.success().data(list);
|
}
|
}
|