using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Collections;
using System.Windows.Forms;
namespace CommonLib
{
///
/// 依据父目录最后一层id上传批量文件 ,依据父目录id批量下载,依据多个文件id下载
///
public enum fmUpdateDownloadType
{
upByParentId=0,
downByParentId=1,
downByFileIds=2
}
//自定义windows消息号
public struct LSCustomWinMsg
{
private const int CUSTOM_MESSAGE = 0X9000;
///
/// 客户端连接被关闭,正准备关闭窗体
///
public const int REV_CLIENT_SOCKET_CLOSED = CUSTOM_MESSAGE + 8;
///
/// 批量上传关闭窗体之前的通知消息
///
public const int BATCH_UPLOAD_COMPLETED = CUSTOM_MESSAGE + 9;
///
/// 下载完成
///
public const int DOWNLOADCOMPLETED = CUSTOM_MESSAGE + 10;
///
/// 下载失败
///
public const int DOWNLOADERROR = CUSTOM_MESSAGE + 11;
///
/// 下载文件完成后通知消息
///
public const int SUCCESS_MESSAGE = CUSTOM_MESSAGE + 1;
///
/// 接收到客户端发来的窗体句柄
///
public const int REV_CLIENT_WINDOW_HANDLE = PubUtil.WM_USER + 0x112;
///
/// 接收到客户端处理错误消息
///
public const int REV_CLIENT_DEAL_ERROR = PubUtil.WM_USER + 0x119;
///
/// 接收到客户端处理ok消息
///
public const int REV_CLIENT_DEAL_OK = PubUtil.WM_USER + 0x120;
}
public class TParamsData
{
private int _mainHandle;
private int _userId;
private fmUpdateDownloadType _type;
private int _left;
private int _top;
private int _width;
private int _height;
private int _directoryId;
private string _filePath;
private string _fileNumber;
private string _specieNo;
private List _fileIds;
public TParamsData(IntPtr mainHandle)
: this(fmUpdateDownloadType.upByParentId, mainHandle)
{
}
//用户id,操作类型
public TParamsData(fmUpdateDownloadType fmType, IntPtr mainHandle)
{
_mainHandle = (int)mainHandle;
_userId = ERPInfo.Instance.EmployeeId;
_type =fmType;
//初始化一些值
_left = -1;
_top = -1;
_width = -1;
_height = -1;
_directoryId = -1;
_fileIds = new List();
}
//设置位置
public void setLocation(int left, int top)
{
_left = left;
_top = top;
}
//设置宽度高度
public void setSize(int width, int height)
{
_width = width;
_height = height;
}
//设置父目录
public void setParent(int directoryId)
{
_directoryId = directoryId;
}
// 设置上传文件路径
public void setFilePath(string filepath)
{
_filePath = filepath;
}
//设置文件编码
public void SetfileNumber(String fileNumber)
{
_fileNumber= fileNumber;
}
//设置物料类别编号
public void SetspecieNo(String specieNo)
{
_specieNo=specieNo;
}
//添加文件id
public void addFileId(int fileId)
{
_fileIds.Add(fileId);
}
///
///
///
public string CallUpdateUI()
{
String exeFiles = PubUtil.LSTestFileName;
string fms = "paramsCount=9|userId={0}|type={1}|left={2}|top={3}|width={4}|height={5}|directoryId={6}|fileIds={7}|mainHandle={8}|";
String fileIds ="";
for(int i=0;i< _fileIds.Count;i++)
fileIds += _fileIds[i].ToString()+",";
string strParams = string.Format(fms, _userId, (int)_type, _left, _top, _width, _height, _directoryId, fileIds, _mainHandle) ;
PubUtil.WinExec(exeFiles + " " + strParams, 9);
return strParams;
}
///
/// 调用外部程序(上传管理增删除,额外指定了文件号和类别号)
///
///
public String CallUpdateUIEx()
{
String exeFiles = PubUtil.LSTestFileName;
string fms = "paramsCount=11|userId={0}|type={1}|left={2}|top={3}|width={4}|height={5}|directoryId={6}|fileIds={7}|mainHandle={8}|fileNumber={9}|specieNo={10}|";
String fileIds = "";
for (int i = 0; i < _fileIds.Count; i++)
fileIds += _fileIds[i].ToString() + ",";
string strParams = string.Format(fms, _userId, (int)_type, _left, _top, _width, _height, _directoryId, fileIds, _mainHandle,_fileNumber,_specieNo);
PubUtil.WinExec(exeFiles + " " + strParams, 9);
return strParams;
}
///
/// 调用外部程序(上传),无窗口
///
///
public string CallUploadUIEx()
{
string exeFiles = PubUtil.LSTestFileName;
// args = new string[] { "paramsCount=5|userId=1|directoryId=1953|mainHandle=676782|specieNo=01|filePath=E:\\工作项目\\朗速源代码(CS)\\publish_crm\\tempfiles\\aaa.jpg" };
string fms = "paramsCount=12|userId={0}|type={1}|left={2}|top={3}|width={4}|height={5}|directoryId={6}|fileIds={7}|mainHandle={8}|fileNumber={9}|specieNo={10}|filePath={11}";
string strParams = string.Format(fms, _userId, (int)_type, _left, _top, _width, _height, _directoryId, string.Empty, _mainHandle, _fileNumber, _specieNo, _filePath);
PubUtil.WinExec(exeFiles + " " + strParams, 12);
return strParams;
}
///
/// 下载
///
///
public String CallDownload(string downloadFileName)
{
String exeFiles = PubUtil.LSTestFileName;
//paramsCount=2|downloadPath=C:\a.txt|mainHandle=123|
string fms = "paramsCount=2|downloadPath={0}|mainHandle={1}|";
String fileIds = "";
for (int i = 0; i < _fileIds.Count; i++)
fileIds += _fileIds[i].ToString() + ",";
string strParams = string.Format(fms, downloadFileName.Replace(' ','*'), _mainHandle);
PubUtil.WinExec(exeFiles + " " + strParams, 2);
return strParams;
}
///
/// 启用通讯客户端
///
///
public String CallSmartClient()
{
String exeFiles = PubUtil.LSTestFileName;
//paramsCount=3|classType=frmSmartClient|userId=1|mainHandle=123|
string fms = "paramsCount=3|classType=frmSmartClient|userId={0}|mainHandle={1}";
String fileIds = "";
for (int i = 0; i < _fileIds.Count; i++)
fileIds += _fileIds[i].ToString() + ",";
string strParams = string.Format(fms, _userId, _mainHandle);
PubUtil.WinExec(exeFiles + " " + strParams, 9);
return strParams;
}
///
/// 删除附件
///
///
public String CallDeleteFile()
{
String exeFiles = PubUtil.LSTestFileName;
//paramsCount=4|classType=deleteFile|userId=1|mainHandle={1}|fileIds={0}
string fms = "paramsCount=4|classType=deleteFile|userId={0}|mainHandle={1}|fileIds={2}";
String fileIds = "";
for (int i = 0; i < _fileIds.Count; i++)
fileIds += _fileIds[i].ToString() + ",";
string strParams = string.Format(fms, _userId, _mainHandle, fileIds);
PubUtil.WinExec(exeFiles + " " + strParams, 9);
return strParams;
}
}
}