init lserp cs 5.0
This commit is contained in:
@@ -0,0 +1,245 @@
|
||||
|
||||
using CommonLib;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Data.SqlClient;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using System.Windows.Forms;
|
||||
using Xilium.CefGlue;
|
||||
|
||||
|
||||
namespace Lskj.MyControl.BrowserSetting
|
||||
{
|
||||
public class BsDownloadHandler : CefDownloadHandler
|
||||
{
|
||||
public bool isfirstDownLoad = true;
|
||||
protected override void OnBeforeDownload(CefBrowser browser, CefDownloadItem downloadItem, string suggestedName, CefBeforeDownloadCallback callback)
|
||||
{
|
||||
|
||||
//callback.Continue(string.Empty, true);
|
||||
try
|
||||
{
|
||||
|
||||
string tipMsg = string.Empty; int vsNum = 0;
|
||||
if (string.IsNullOrWhiteSpace(downloadItem.SuggestedFileName))
|
||||
{
|
||||
browser.GetHost().CloseBrowser();
|
||||
return;
|
||||
}
|
||||
string szFilename = downloadItem.Url.Substring(downloadItem.Url.LastIndexOf('/') + 1);//简单处理文件名,实际中还需要单独处理,这里有BUG
|
||||
string SzFileName = HttpUtility.UrlDecode(szFilename);
|
||||
string[] szName = SzFileName.Split('/');
|
||||
string fileTitle = szName[szName.Length - 1];
|
||||
//downfile(e.Url, e.Filename, tempPath);
|
||||
if (fileTitle.Contains("?")) fileTitle = fileTitle.Substring(0, fileTitle.LastIndexOf('?'));
|
||||
DataRow rowItem = GetTempletFile(fileTitle);
|
||||
string topname = downloadItem.SuggestedFileName.Substring(0, downloadItem.SuggestedFileName.LastIndexOf(".") - 1);
|
||||
bool isMultipleLoad = downloadItem.Url.Contains("downLoadTemp") && Regex.IsMatch(topname, @"^[+-]?\d*[.]?\d*$");
|
||||
if (downloadItem.Url.StartsWith("blob"))
|
||||
{
|
||||
Download(downloadItem.Url, fileTitle);
|
||||
return;
|
||||
}
|
||||
else if (rowItem != null || isMultipleLoad)
|
||||
{
|
||||
try
|
||||
{
|
||||
bool success = rowItem != null ? CheckAttachOperation(2, "", Convert.ToInt32(rowItem["fileId"]), "", 0, out tipMsg) == 1 : isMultipleLoad;
|
||||
if (success)
|
||||
{
|
||||
Download(downloadItem.Url, fileTitle);
|
||||
return;
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show(tipMsg);
|
||||
//MessageUtil.Show(tipMsg);
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show("下载失败!\r\n" + ex.Message);
|
||||
//MessageUtil.Show("下载失败!\r\n" + ex.Message);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
MessageBox.Show("未找到下载项");
|
||||
}
|
||||
//browser.GetHost().CloseBrowser();
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
MessageBox.Show(ex.Message);
|
||||
}
|
||||
|
||||
}
|
||||
protected override void OnDownloadUpdated(CefBrowser browser, CefDownloadItem downloadItem, CefDownloadItemCallback callback)
|
||||
{
|
||||
|
||||
//if (downloadItem.IsComplete)
|
||||
//{
|
||||
// MessageBox.Show("下载成功");
|
||||
// if (browser.IsPopup && !browser.HasDocument)
|
||||
// {
|
||||
// //browser.GetHost().ParentWindowWillClose();
|
||||
// browser.GetHost().CloseBrowser();
|
||||
// }
|
||||
//}
|
||||
//downloadItem.IsComplete
|
||||
|
||||
//if (downloadItem.IsComplete) {
|
||||
// string tipMsg = string.Empty; int vsNum = 0;
|
||||
// DataRow rowItem = AttachImpl.GetTempletFile(downloadItem.SuggestedFileName);
|
||||
// string topname = downloadItem.SuggestedFileName.Substring(0, downloadItem.SuggestedFileName.LastIndexOf(".") - 1);
|
||||
// bool isMultipleLoad = downloadItem.Url.Contains("downLoadTemp") && Regex.IsMatch(topname, @"^[+-]?\d*[.]?\d*$");
|
||||
// if (rowItem != null || isMultipleLoad)
|
||||
// {
|
||||
// try
|
||||
// {
|
||||
// bool success = rowItem != null ? AttachImpl.CheckAttachOperation(2, "", Convert.ToInt32(rowItem["fileId"]), "", 0, out tipMsg) == 1 : isMultipleLoad;
|
||||
// if (success)
|
||||
// {
|
||||
// string szFilename = downloadItem.Url.Substring(downloadItem.Url.LastIndexOf('/') + 1);//简单处理文件名,实际中还需要单独处理,这里有BUG
|
||||
|
||||
// string SzFileName = HttpUtility.UrlDecode(szFilename);
|
||||
// string[] szName = SzFileName.Split('/');
|
||||
// //downfile(e.Url, e.Filename, tempPath);
|
||||
// Download(downloadItem.Url, szName[szName.Length - 1]);
|
||||
// return;
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// MessageUtil.Show(tipMsg);
|
||||
// }
|
||||
// }
|
||||
// catch (Exception ex)
|
||||
// {
|
||||
// MessageUtil.Show("下载失败!\r\n" + ex.Message);
|
||||
// }
|
||||
// }
|
||||
// else
|
||||
// {
|
||||
// MessageUtil.Show("未找到下载项");
|
||||
// }
|
||||
// //browser.GetHost().CloseBrowser();
|
||||
//}
|
||||
}
|
||||
/// <summary>
|
||||
/// <para>说明:定义服务器文件地址,含文件名。客户端接收地址及文件名由客户端自行定义</para>
|
||||
/// <para>创建人:王一帆</para>
|
||||
/// <para>创建日期: </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="URL">The URL.</param>
|
||||
/// <param name="FileName">Name of the file.</param>
|
||||
public static void Download(string URL, string FileName)
|
||||
{
|
||||
FrmSelectDownload frmSelectDownload = new FrmSelectDownload();
|
||||
frmSelectDownload.URL = URL;
|
||||
frmSelectDownload.FileName = FileName;
|
||||
frmSelectDownload.Show();
|
||||
//SaveFileDialog saveFileDialog = new SaveFileDialog();
|
||||
//saveFileDialog.FileName = FileName;
|
||||
//saveFileDialog.Title = "下载模板文件到";
|
||||
//saveFileDialog.RestoreDirectory = true;
|
||||
////点了保存按钮进入
|
||||
//if (saveFileDialog.ShowDialog() == DialogResult.OK)
|
||||
//{
|
||||
// string localFilePath = System.IO.Path.GetFullPath(saveFileDialog.FileName);//获得文件路径,含文件名
|
||||
// string fileNameExt = localFilePath.Substring(localFilePath.LastIndexOf("\\") + 1);//获取文件名,不带路径
|
||||
// string FilePath = localFilePath.Substring(0, localFilePath.LastIndexOf("\\"));//获取文件路径,不带文件名
|
||||
// FrmDownload frm = new FrmDownload(URL, FileName, localFilePath);
|
||||
// frm.Show();
|
||||
//}
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// <para>说明:根据附件名字获取附件</para>
|
||||
/// <para>创建人:王一帆</para>
|
||||
/// <para>创建日期:2019-12-13 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <returns>DataTable.</returns>
|
||||
public static DataRow GetTempletFile(string sName)
|
||||
{
|
||||
string sqlValue = "select * from P_fm_FileTab where sName=@sName";
|
||||
DataTable dt = SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@sName", sName) });
|
||||
return dt.Rows.Count > 0 ? dt.Rows[0] : null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// <para>说明:</para>
|
||||
/// <para>创建人:龚宇超</para>
|
||||
/// <para>创建日期:2018-01-17 </para>
|
||||
/// <para>修改人:</para>
|
||||
/// <para>修改日期:</para>
|
||||
/// <para>修改备注:</para>
|
||||
/// <para>版本:1.0</para>
|
||||
/// </summary>
|
||||
/// <param name="operType">1=上传,2=下载,3=删除,4=锁定,5=解除锁定 必填</param>
|
||||
/// <param name="speciesNo">The species no.</param>
|
||||
/// <param name="fileId">The file id.</param>
|
||||
/// <param name="fileName">Name of the file.</param>
|
||||
/// <param name="fileSize">Size of the field.</param>
|
||||
/// <param name="tipMsg">返回提示信息</param>
|
||||
/// <returns>System.Int32.</returns>
|
||||
/// <exception cref="System.NotImplementedException"></exception>
|
||||
public static int CheckAttachOperation(int operType, string speciesNo, int fileId, string fileName, int fileSize, out string tipMsg)
|
||||
{
|
||||
try
|
||||
{
|
||||
SqlParameter pMsg = new SqlParameter("@msg", SqlDbType.VarChar, 2000);
|
||||
pMsg.Direction = ParameterDirection.Output;
|
||||
SqlParameter returnValue = new SqlParameter("@return", SqlDbType.Int, 4);
|
||||
returnValue.Direction = ParameterDirection.ReturnValue;
|
||||
SqlParameter[] param =
|
||||
{
|
||||
new SqlParameter("@opertype",SqlDbType.Int),
|
||||
new SqlParameter("@operatorid",SqlDbType.Int),
|
||||
new SqlParameter("@operatorname",SqlDbType.VarChar,50),
|
||||
new SqlParameter("@fileSpecisNo",SqlDbType.VarChar,50),
|
||||
new SqlParameter("@fileid",SqlDbType.Int),
|
||||
new SqlParameter("@filename",SqlDbType.VarChar,200),
|
||||
new SqlParameter("@filesize",SqlDbType.Int),
|
||||
pMsg,
|
||||
returnValue
|
||||
};
|
||||
|
||||
param[0].Value = operType;
|
||||
param[1].Value = ERPInfo.Instance.EmployeeId;
|
||||
param[2].Value = ERPInfo.Instance.EmployeeName;
|
||||
param[3].Value = speciesNo;
|
||||
param[4].Value = fileId;
|
||||
param[5].Value = fileName;
|
||||
param[6].Value = fileSize;
|
||||
DataSet ds = SqlHelper.ExecuteDataSet(CommandType.StoredProcedure, "p_SystemAttachOperation", "attach", param);
|
||||
|
||||
tipMsg = pMsg.Value + "";
|
||||
return Convert.ToInt32(returnValue.Value + "");
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
}
|
||||
|
||||
tipMsg = string.Empty;
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user