init lserp cs 5.0

This commit is contained in:
cyf
2026-07-10 15:25:05 +08:00
commit 90f3fda86a
3799 changed files with 976868 additions and 0 deletions
@@ -0,0 +1,26 @@
Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lskj.Attachment", "Lskj.Attachment\Lskj.Attachment.csproj", "{DD095CE0-52F2-4798-805A-D545137D2871}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Lskj.CmCapture", "..\Lskj.CmCapture\Lskj.CmCapture.csproj", "{78F10772-3B77-423D-92B8-BBFE064B4360}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x86 = Debug|x86
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{DD095CE0-52F2-4798-805A-D545137D2871}.Debug|x86.ActiveCfg = Debug|x86
{DD095CE0-52F2-4798-805A-D545137D2871}.Debug|x86.Build.0 = Debug|x86
{DD095CE0-52F2-4798-805A-D545137D2871}.Release|x86.ActiveCfg = Release|x86
{DD095CE0-52F2-4798-805A-D545137D2871}.Release|x86.Build.0 = Release|x86
{78F10772-3B77-423D-92B8-BBFE064B4360}.Debug|x86.ActiveCfg = Debug|x86
{78F10772-3B77-423D-92B8-BBFE064B4360}.Debug|x86.Build.0 = Debug|x86
{78F10772-3B77-423D-92B8-BBFE064B4360}.Release|x86.ActiveCfg = Release|x86
{78F10772-3B77-423D-92B8-BBFE064B4360}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal
@@ -0,0 +1,426 @@
/******************************
* 说明:附件相关接口实现
* 创建人:龚宇超
* 创建日期:2018-01-08
* 修改人:
* 修改日期:
* 修改备注:
* 版本:1.0.0.0
******************************/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Lskj.Core;
using System.Data.SqlClient;
using System.Data;
using Lskj.Model;
namespace Lskj.Business.Impl
{
/// <summary>
/// 附件相关接口实现
/// </summary>
public class AttachImpl : BaseImpl
{
/// <summary>
/// <para>说明:获取附件目录ID</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2018-01-08 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="parentId">The parent identifier.</param>
/// <param name="objectId">主键值.</param>
/// <returns>System.Int32.</returns>
/// <exception cref="System.NotImplementedException"></exception>
public static int GetAttachDirectoryId(string parentId, string objectId)
{
try
{
string sqlValue = "select dirid from P_fm_DirectoryTab where ParentId=@ParentId and PID=@PID";
string dirId = GetResult(sqlValue, new SqlParameter[] {
new SqlParameter("@ParentId", parentId),
new SqlParameter("@PID",objectId)
}) + "";
if (string.IsNullOrEmpty(dirId) || "0".Equals(dirId))
{
// 插入新目录
sqlValue = string.Format("insert into P_fm_DirectoryTab (sName,ParentId,creator,SpeciesNo,relationCode,PID) values('{0}','{1}',1,'0201',0,'{0}');select @@identity", objectId, parentId);
dirId = GetResult(sqlValue) + "";
}
return Convert.ToInt32(dirId);
}
catch (Exception)
{
}
return 0;
}
/// <summary>
/// <para>说明:锁定附件</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2018-02-28 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="fileIds">The file ids.</param>
/// <returns>System.Int32.</returns>
/// <exception cref="System.NotImplementedException"></exception>
public static int LockFiles(string fileIds)
{
if (string.IsNullOrEmpty(fileIds)) return 0;
string sqlValue = string.Format("update P_fm_FileTab set A1=1 where fileId in ({0})", fileIds.TrimEnd(','));
return SqlHelper.ExecuteNonQuery(sqlValue);
}
/// <summary>
/// <para>说明:解锁附件</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2018-02-28 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="fileIds">The file ids.</param>
/// <returns>System.Int32.</returns>
/// <exception cref="System.NotImplementedException"></exception>
public static int UnLockFiles(string fileIds)
{
if (string.IsNullOrEmpty(fileIds)) return 0;
string sqlValue = string.Format("update P_fm_FileTab set A1=0 where fileId in ({0})", fileIds.TrimEnd(','));
return SqlHelper.ExecuteNonQuery(sqlValue);
}
/// <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.UserId;
param[2].Value = ERPInfo.Instance.UserName;
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;
}
/// <summary>
/// <para>说明:删除签名</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2018-06-06 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="signId">The sign identifier.</param>
/// <returns>System.Int32.</returns>
public static int DeleteSignPoint(int signId)
{
string sqlValue = string.Format("delete from P_PDFSignTab where id='{0}'", signId);
return SqlHelper.ExecuteNonQuery(sqlValue);
}
/// <summary>
/// <para>说明:添加上传附件</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2018-06-12 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <returns>System.Int32.</returns>
public static int InsertUpLoadFile(string fileName, string DirId, long fileSize, string speciesno)
{
string sqlValue = string.Format("INSERT INTO P_fm_FileTab(sName,ParentID,fileSize,creator,speciesno,CreateTime) " +
"VALUES('{0}',{1},'{2}',{3},'{4}','{5}')", fileName, DirId, fileSize, ERPInfo.Instance.UserId, speciesno, DateTime.Now);
return SqlHelper.ExecuteNonQuery(sqlValue);
}
/// <summary>
/// <para>说明:插入签名点</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2018-06-07 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="model">模块属性</param>
/// <param name="byPic">签名图片字节</param>
/// <param name="imageX">X坐标.</param>
/// <param name="imageY">Y坐标</param>
/// <param name="pageNo">文档页码</param>
/// <returns>System.Int32.</returns>
public static int InsertSignPoint(DynamicPdfViewerModel model, Byte[] byPic, float imageX, float imageY, int pageNo)
{
//存流会出现保存进去的流变化分两次处理,先添加,流通过更新进去正常
string sqlValue = string.Format(@"insert into P_PDFSignTab (FileId,BillId,BillDetailId,StepCode,OperatorId,OperateDate,Image,ImageX,ImageY,Page)
VALUES ('{0}','{1}','{2}','{3}','{4}','{5}','','{6}','{7}','{8}');Select @@IDENTITY;", model.PdfFileId, model.BillDocumentId, model.BillDeatilId, model.stepCode, ERPInfo.Instance.UserId, DateTime.Now, imageX, imageY, pageNo);
int resultId = Convert.ToInt32(SqlHelper.ExecuteScalar(CommandType.Text, sqlValue));
if (resultId > 0)
{
string sqlValue2 = string.Format("update P_PDFSignTab set Image=@Pic where id='{0}'", resultId);
SqlParameter parameter = new SqlParameter("@Pic", SqlDbType.Image);
parameter.Value = byPic;
int result = SqlHelper.ExecuteNonQuery(CommandType.Text, sqlValue2, parameter);
if (result <= 0) return 0;
}
return resultId;
}
/// <summary>
/// <para>说明:获取(解除)锁定成功的数据条数</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2018-02-24 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="dtFiles">The dt files.</param>
/// <param name="LockFlag">锁定标记</param>
/// <returns>DataTable.</returns>
/// <exception cref="System.NotImplementedException"></exception>
public static int GetLockDataCount(DataTable dtFiles, string lockFlag)
{
int Count = 0;
for (int i = 0; i < dtFiles.Rows.Count; i++)
{
string sqlValue = "update P_fm_FileTab set A1=@LockFlag where fileId=@fileId";
Count += ExecSqlValue(sqlValue, new SqlParameter[] { new SqlParameter("@fileId", dtFiles.Rows[i]["fileId"]), new SqlParameter("LockFlag", lockFlag) });
}
return Count;
}
/// <summary>
/// <para>说明:更新附件关联</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2018-02-28 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="tableName">Name of the table.</param>
/// <param name="fieldName">Name of the field.</param>
/// <param name="fieldValue">The field value.</param>
/// <param name="condKey">The cond key.</param>
/// <param name="condValue">The cond value.</param>
/// <returns>System.Int32.</returns>
/// <exception cref="System.NotImplementedException"></exception>
public static int UpdateUnionAttach(string tableName, string fieldName, string fieldValue, string condKey, string condValue)
{
if (string.IsNullOrWhiteSpace(tableName) ||
string.IsNullOrWhiteSpace(fieldName) ||
string.IsNullOrWhiteSpace(condKey))
return 0;
string sqlValue = string.Format("update {0} set {1}='{2}' where {3}='{4}'", tableName, fieldName, fieldValue, condKey, condValue); ;
return SqlHelper.ExecuteNonQuery(sqlValue);
}
/// <summary>
/// <para>说明:获取附件信息目录Id菜单编号</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2018-02-28 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
public static string GetFilesTab(int dirId, string fileId, string txtKey)
{
string strWhere = string.Format(" where parentId='{0}'", dirId);
string sqlValue = "select * from P_fm_filetab";
if (!string.IsNullOrEmpty(txtKey)) strWhere += string.Format(" and {0} like '%{1}%'", fileId, txtKey);
sqlValue += strWhere;
return sqlValue;
}
/// <summary>
/// <para>说明:获取系统信息</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2018-02-28 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
public static DataRow GetSystemModule(string menuCode)
{
string sqlValue = "select * from v_systemdlltab where DllCoid=@DllCoid";
DataTable dt = SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@DllCoid", menuCode) });
return dt.Rows.Count > 0 ? dt.Rows[0] : null;
}
/// <summary>
/// <para>说明:根据附件编号获取附件</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2018-06-06 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <returns>DataTable.</returns>
public static DataRow GetTempletFile(int fileNo)
{
string sqlValue = "select * from P_fm_FileTab where fileId=@fileNo";
DataTable dt = SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@fileNo", fileNo) });
return dt.Rows.Count > 0 ? dt.Rows[0] : null;
}
/// <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-08 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="speciesNo">The species no.</param>
/// <returns>DataTable.</returns>
/// <exception cref="System.NotImplementedException"></exception>
public static DataTable GetAttachSpecies(string speciesNo)
{
string sqlValue = string.Format("select * from bmp_ProductSpeciesTab where SpeciesNo like '{0}%'", speciesNo);
return GetDataTableResult(sqlValue);
}
/// <summary>
/// <para>说明:获取符合锁定解锁条件的文件</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2018-02-24 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="fileNo">附件Id.</param>
/// <returns>DataTable.</returns>
/// <exception cref="System.NotImplementedException"></exception>
public static DataTable GetMatchConditionFiles(string fileNo)
{
string sqlValue = @"select a.fileId from P_fm_FileTab a
inner join bmp_ProductSpeciesTab b on a.speciesno=b.SpeciesNo
where charindex(','+cast(fileid as varchar)+',','," + fileNo + ",')>0 and (charindex('," + ERPInfo.Instance.UserName + ",',','+b.str4+',')>0 or charindex('|" + ERPInfo.Instance.UserName + "|','|'+b.str4+'|')>0 or a.creator='" + ERPInfo.Instance.UserId + "')";
object obj = SqlHelper.ExecuteScalar(CommandType.Text, "select 1 as zt from sys.columns where object_id=object_id('bmp_ProductSpeciesTab') and name='str4'");
if ((obj == null) || (obj.ToString() != "1"))
sqlValue = @"select a.fileId from P_fm_FileTab a
inner join bmp_ProductSpeciesTab b on a.speciesno=b.SpeciesNo
where charindex(','+cast(fileid as varchar)+',','," + fileNo + ",')>0 and ( a.creator='" + ERPInfo.Instance.UserId + "')";
return SqlHelper.ExecuteDataTable(sqlValue);
}
/// <summary>
/// <para>说明:获取附件的签名集</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2018-06-06 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <returns>DataTable.</returns>
public static DataTable GetSignSources(int fileNo)
{
string sqlValue = "select * from P_PDFSignTab where FileId=@FileNo";
return SqlHelper.ExecuteDataTable(sqlValue, new SqlParameter[] { new SqlParameter("@FileNo", fileNo) });
}
/// <summary>
/// <para>说明:获取拍照文件列</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2018-06-11 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <returns>DataTable.</returns>
public static DataTable GetCameraFileData()
{
string sqlValue = @" select '1' id , 'stepCode' fieldName, 65 width, '' sysname , '编号' username, '' dataFormat union
select '2' , 'Name' ,148 , '' , '文件名' , '' union
select '3' , 'Created' ,120 , '' , '时间' , '' union
select '4' , 'key' ,67 , '' , '隐藏字段' , '' ";
return SqlHelper.ExecuteDataTable(sqlValue);
}
/// <summary>
/// <para>说明:获取附件条数</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2018-08-10 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <returns>System.Int32.</returns>
public static int GetFileCount(string dirid, string pid)
{
DataTable dt = SqlHelper.ExecuteDataTable(string.Format("select 1 from P_fm_FileTab where parentId='{0}'", GetAttachDirectoryId(dirid, pid)));
return dt == null ? 0 : Convert.ToInt32(dt.Rows.Count);
}
}
}
@@ -0,0 +1,49 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CommonLib;
using CommonLib.utils;
using System.Windows.Forms;
namespace Lskj.Attachment
{
/// <summary>
/// c#库被调用统一接口类
/// </summary>
public sealed class DllBaseClass : IForm
{
public DllBaseClass()
{
}
//以数组传入参数,容易扩展
public DllBaseClass(string[] obj)
{
try
{
FrmMain _FrmMain = new FrmMain();
SubForm = _FrmMain;
_FrmMain.FormText = obj[0];
_FrmMain.OperatorId = obj[1];
_FrmMain.OperatorName = obj[2];
_FrmMain.Privilege = obj[3];
_FrmMain.DLLCoid = obj[4];
_FrmMain.ModuleId = obj[5];
_FrmMain.DiectoryId = string.IsNullOrEmpty(obj[6]) ? 0 :Convert.ToInt32(obj[6]);
if (obj.Length > 7)
_FrmMain.ModuleDllId = obj[7];
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
/// <summary>
/// 窗口
/// </summary>
public Form SubForm { get; set; }
}
}
@@ -0,0 +1,215 @@
namespace Lskj.Attachment
{
partial class FrmMain
{
/// <summary>
/// 必需的设计器变量。
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// 清理所有正在使用的资源。
/// </summary>
/// <param name="disposing">如果应释放托管资源,为 true;否则为 false。</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows
/// <summary>
/// 设计器支持所需的方法 - 不要
/// 使用代码编辑器修改此方法的内容。
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FrmMain));
this.plBottom = new System.Windows.Forms.Panel();
this.btnOpenPhoto = new DevExpress.XtraEditors.SimpleButton();
this.btnReflash = new DevExpress.XtraEditors.SimpleButton();
this.btnAdd = new DevExpress.XtraEditors.SimpleButton();
this.btnDown = new DevExpress.XtraEditors.SimpleButton();
this.plLeft = new System.Windows.Forms.Panel();
this.txtKey = new System.Windows.Forms.TextBox();
this.btnSearch = new DevExpress.XtraEditors.SimpleButton();
this.label1 = new System.Windows.Forms.Label();
this.cbField = new System.Windows.Forms.ComboBox();
this.gridMain = new Lskj.MyControl.GridControlEx();
this.plBottom.SuspendLayout();
this.plLeft.SuspendLayout();
this.SuspendLayout();
//
// plBottom
//
this.plBottom.Controls.Add(this.btnOpenPhoto);
this.plBottom.Controls.Add(this.btnReflash);
this.plBottom.Controls.Add(this.btnAdd);
this.plBottom.Controls.Add(this.btnDown);
this.plBottom.Dock = System.Windows.Forms.DockStyle.Bottom;
this.plBottom.Location = new System.Drawing.Point(0, 481);
this.plBottom.Name = "plBottom";
this.plBottom.Size = new System.Drawing.Size(823, 39);
this.plBottom.TabIndex = 1;
//
// btnOpenPhoto
//
this.btnOpenPhoto.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnOpenPhoto.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnOpenPhoto.Appearance.Options.UseFont = true;
this.btnOpenPhoto.Location = new System.Drawing.Point(12, 7);
this.btnOpenPhoto.Name = "btnOpenPhoto";
this.btnOpenPhoto.Size = new System.Drawing.Size(70, 24);
this.btnOpenPhoto.TabIndex = 4;
this.btnOpenPhoto.Text = "启动拍照";
this.btnOpenPhoto.Visible = false;
this.btnOpenPhoto.Click += new System.EventHandler(this.btnOpenPhoto_Click);
//
// btnReflash
//
this.btnReflash.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnReflash.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnReflash.Appearance.Options.UseFont = true;
this.btnReflash.Location = new System.Drawing.Point(593, 7);
this.btnReflash.Name = "btnReflash";
this.btnReflash.Size = new System.Drawing.Size(70, 24);
this.btnReflash.TabIndex = 3;
this.btnReflash.Text = "刷新";
this.btnReflash.Click += new System.EventHandler(this.btnReflash_Click);
//
// btnAdd
//
this.btnAdd.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnAdd.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnAdd.Appearance.Options.UseFont = true;
this.btnAdd.Location = new System.Drawing.Point(669, 7);
this.btnAdd.Name = "btnAdd";
this.btnAdd.Size = new System.Drawing.Size(70, 24);
this.btnAdd.TabIndex = 2;
this.btnAdd.Text = "上传附件";
this.btnAdd.Click += new System.EventHandler(this.btnAdd_Click);
//
// btnDown
//
this.btnDown.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.btnDown.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnDown.Appearance.Options.UseFont = true;
this.btnDown.Location = new System.Drawing.Point(745, 7);
this.btnDown.Name = "btnDown";
this.btnDown.Size = new System.Drawing.Size(70, 24);
this.btnDown.TabIndex = 1;
this.btnDown.Text = "下载附件";
this.btnDown.Click += new System.EventHandler(this.btnDown_Click);
//
// plLeft
//
this.plLeft.Controls.Add(this.txtKey);
this.plLeft.Controls.Add(this.btnSearch);
this.plLeft.Controls.Add(this.label1);
this.plLeft.Controls.Add(this.cbField);
this.plLeft.Dock = System.Windows.Forms.DockStyle.Top;
this.plLeft.Location = new System.Drawing.Point(0, 0);
this.plLeft.Name = "plLeft";
this.plLeft.Size = new System.Drawing.Size(823, 36);
this.plLeft.TabIndex = 2;
//
// txtKey
//
this.txtKey.Location = new System.Drawing.Point(165, 8);
this.txtKey.Name = "txtKey";
this.txtKey.Size = new System.Drawing.Size(124, 21);
this.txtKey.TabIndex = 3;
//
// btnSearch
//
this.btnSearch.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btnSearch.Appearance.Options.UseFont = true;
this.btnSearch.Location = new System.Drawing.Point(293, 6);
this.btnSearch.Name = "btnSearch";
this.btnSearch.Size = new System.Drawing.Size(70, 24);
this.btnSearch.TabIndex = 2;
this.btnSearch.Text = "搜索";
this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(10, 12);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(29, 12);
this.label1.TabIndex = 1;
this.label1.Text = "查询";
//
// cbField
//
this.cbField.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbField.FormattingEnabled = true;
this.cbField.Location = new System.Drawing.Point(40, 8);
this.cbField.Name = "cbField";
this.cbField.Size = new System.Drawing.Size(121, 20);
this.cbField.TabIndex = 0;
//
// gridMain
//
this.gridMain.bomCaption = null;
this.gridMain.bomSql = null;
this.gridMain.ConstSql = null;
this.gridMain.detailEnableCond = null;
this.gridMain.detailEnableMsg = null;
this.gridMain.Dock = System.Windows.Forms.DockStyle.Fill;
this.gridMain.loadBom = null;
this.gridMain.Location = new System.Drawing.Point(0, 36);
this.gridMain.Name = "gridMain";
this.gridMain.pnlMain = null;
this.gridMain.RowColorCondtion = null;
this.gridMain.Size = new System.Drawing.Size(823, 445);
this.gridMain.SourceType = 0;
this.gridMain.Sql = null;
this.gridMain.sqlC = null;
this.gridMain.SumFieldsTable = null;
this.gridMain.TabIndex = 3;
this.gridMain.UnAllowEditChangeColor = false;
//
// FrmMain
//
this.Appearance.Font = new System.Drawing.Font("宋体", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.Appearance.Options.UseFont = true;
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.ClientSize = new System.Drawing.Size(823, 520);
this.Controls.Add(this.gridMain);
this.Controls.Add(this.plLeft);
this.Controls.Add(this.plBottom);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.LookAndFeel.SkinName = "Office 2010 Blue";
this.LookAndFeel.Style = DevExpress.LookAndFeel.LookAndFeelStyle.Office2003;
this.Name = "FrmMain";
this.Text = "Form1";
this.plBottom.ResumeLayout(false);
this.plLeft.ResumeLayout(false);
this.plLeft.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Panel plBottom;
private DevExpress.XtraEditors.SimpleButton btnAdd;
private DevExpress.XtraEditors.SimpleButton btnDown;
private System.Windows.Forms.Panel plLeft;
private System.Windows.Forms.ComboBox cbField;
private System.Windows.Forms.Label label1;
private DevExpress.XtraEditors.SimpleButton btnSearch;
private DevExpress.XtraEditors.SimpleButton btnReflash;
private System.Windows.Forms.TextBox txtKey;
private DevExpress.XtraEditors.SimpleButton btnOpenPhoto;
private MyControl.GridControlEx gridMain;
}
}
@@ -0,0 +1,365 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DevExpress.Utils;
using DevExpress.XtraGrid.Columns;
using CommonLib;
using DevExpress.XtraGrid.Views.Grid.ViewInfo;
using System.IO;
using System.Diagnostics;
using CommonLib.data;
using System.Xml;
using System.Data.SqlClient;
namespace Lskj.Attachment {
public partial class FrmMain : FormBase {
#region
public string FormText { get; set; }
public string OperatorId { get; set; }
public string OperatorName { get; set; }
public string Privilege { get; set; }
public string DLLCoid { get; set; }
public string ModuleId { get; set; }
public int DiectoryId { get; set; }
public string ModuleDllId { get; set; }
private IntPtr m_ClientTestHandle = IntPtr.Zero;
private string fileDir = PubUtil.AbsolutelyPath + "tempfiles/";
private string serverPath = string.Empty;
private string bmpSpec;
#endregion
#region
public FrmMain() {
//DevExpress.Skins.SkinManager.EnableFormSkins();//设置皮肤
//DevExpress.XtraGrid.Localization.GridResLocalizer.Active = new Dxper.LocalizationCHS.Win.XtraGridCHS();
//DevExpress.XtraEditors.Controls.Localizer.Active = new Dxper.LocalizationCHS.Win.XtraEditorsCHS();
//DevExpress.XtraLayout.Localization.LayoutLocalizer.Active = new Dxper.LocalizationCHS.Win.XtraLayoutCHS();
//DevExpress.XtraPrinting.Localization.PreviewLocalizer.Active = new Dxper.LocalizationCHS.Win.XtraPrintingCHS();
InitializeComponent();
//gridViewMain.IndicatorWidth = 30;
}
#endregion
#region
protected override void OnLoad(EventArgs e) {
this.Text = FormText;
DLLCoid = !string.IsNullOrEmpty(ModuleDllId) ? ModuleDllId : DLLCoid;
DataTable dt = SqlHelper.ExecuteDataSet("select * from v_systemdlltab where DllCoid='2005_1'").Tables[0];
if (dt != null && dt.Rows.Count > 0) {
DiectoryId = Convert.ToInt32(dt.Rows[0]["DirId"]);
bmpSpec = Convert.ToString(dt.Rows[0]["bmpSpec"]);
}
object obj = SqlHelper.ExecuteScalar(CommandType.Text, "select dirid from P_fm_DirectoryTab where ParentId=" + DiectoryId + " and PID='" + DLLCoid + "'");
DiectoryId = obj == null ? 0 : Convert.ToInt32(obj);
if (DiectoryId == 0) {
DiectoryId = 3;
string sqls = "insert into P_fm_DirectoryTab (sName,ParentId,creator,SpeciesNo,relationCode,PID) values('" + DLLCoid + "'," + DiectoryId + ",1,'0201',0,'" + DLLCoid + "');select @@identity";
DiectoryId = Convert.ToInt32(SqlHelper.ExecuteScalar(CommandType.Text, sqls));
}
LoadData();
InitColumns("2005_1", 0);
DataTable dtSystemTable = SqlHelper.ExecuteDataTable("select * from p_systemtab");
if (dtSystemTable.Columns.Contains("serverattachpath"))
{
serverPath = dtSystemTable.Rows[0]["serverattachpath"] + "";
}
else
{
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.Load(PubUtil.AbsolutelyPath + "/LSClientConfig.xml");
XmlNodeList list = xmlDoc.DocumentElement.SelectNodes("/Root/ClientSettings/rootPath");
foreach (XmlNode rootPath in list)
serverPath = rootPath.InnerText;
}
}
public void LoadData() {
string field = cbField.SelectedValue + "";
String sql = "select * from P_fm_filetab where ";
string strWhere = " parentId=" + DiectoryId;
if (!string.IsNullOrEmpty(txtKey.Text))
strWhere += " and " + field + " like '%" + txtKey.Text + "%' ";
sql += strWhere;
DataTable dt = SqlHelper.ExecuteDataSet(sql).Tables[0];
gridMain.gridControl.DataSource = dt;
}
#endregion
#region
/// <summary>
/// 加载表格列头
/// </summary>
/// <param name="tab"></param>
public void InitColumns(string tab, int n) {
string sql = "select * from P_systemwordbooktab where tab='" + tab + "' and vislble=0";
gridMain.SetColumns(sql);
//DataTable dtC = SqlHelper.ExecuteDataSet(sql).Tables[0];
//加载筛选框
cbField.DataSource = SqlHelper.ExecuteDataSet("select * from P_systemwordbooktab where tab='" + tab + "' and ifSearch =0").Tables[0];
cbField.DisplayMember = "username1";
cbField.ValueMember = "fieldname";
//gridViewMain.Columns.Clear();
//for (int i = 0; i < dtC.Rows.Count; i++) {
// DataRow row = dtC.Rows[i];
// GridColumn gridColumn = new GridColumn();
// gridColumn.FieldName = row["fieldname"] + "";
// gridColumn.Name = row["fieldname"] + "";
// gridColumn.VisibleIndex = i;
// gridColumn.Caption = row["username1"] + "";
// gridColumn.Width = Convert.ToInt32(row["width"] + "");
// int edit = Convert.ToInt32(row["edit"]);
// gridColumn.Visible = true;
// if (i == 0) {
// gridColumn.OptionsColumn.AllowShowHide = false;
// }
// gridColumn.OptionsColumn.ReadOnly = false;
// if (edit == 1)
// gridColumn.OptionsColumn.AllowEdit = false;
// gridViewMain.Columns.Add(gridColumn);
//}
}
#endregion
#region
/// <summary>
/// 生成序列号
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void gridViewMain_CustomDrawRowIndicator(object sender, DevExpress.XtraGrid.Views.Grid.RowIndicatorCustomDrawEventArgs e) {
e.Appearance.TextOptions.HAlignment = HorzAlignment.Center;
if (e.Info.IsRowIndicator) {
if (e.RowHandle >= 0) {
e.Info.DisplayText = (e.RowHandle + 1).ToString();
}
}
}
#endregion
#region
private void btnAdd_Click(object sender, EventArgs e) {
fmUpdateDownloadType type = (fmUpdateDownloadType)0;
TParamsData pd = new TParamsData(type, this.Handle);
pd.setLocation(100, 100);
pd.setSize(800, 500);
pd.setParent(DiectoryId);
string[] strFileIds = { };
foreach (string sId in strFileIds)
pd.addFileId(int.Parse(sId));
//文件编码
pd.SetfileNumber("001");
//类别编码
pd.SetspecieNo(bmpSpec);
pd.CallUpdateUIEx();
}
#endregion
#region
private void btnReflash_Click(object sender, EventArgs e) {
LoadData();
}
#endregion
#region
protected override void OnClosed(EventArgs e) {
//if (PubUtil.ModuleForms.ContainsKey(ModuleId)) {
// DllModule dm = PubUtil.ModuleForms[ModuleId];
// if (dm != null) {
// dm.ModuleForm = null;
// dm.ModuleInPtr = IntPtr.Zero;
// PubUtil.ModuleForms.Remove(ModuleId);
// }
//}
}
#endregion
#region
/// <summary>
/// 消息处理
/// </summary>
/// <param name="m"></param>
protected override void DefWndProc(ref Message m) {
try {
switch (m.Msg) {
//接收到客户端发来的窗体句柄
case LSCustomWinMsg.REV_CLIENT_WINDOW_HANDLE: {
m_ClientTestHandle = m.WParam;
break;
}
//接收到客户端处理错误消息
case LSCustomWinMsg.REV_CLIENT_DEAL_ERROR: {
MessageBox.Show("通讯客户端处理出错了");
break;
}
//接收到客户端处理ok消息
case LSCustomWinMsg.REV_CLIENT_DEAL_OK: {
break;
}
//批量上传关闭窗体之前的通知消息
case LSCustomWinMsg.BATCH_UPLOAD_COMPLETED: {
// MessageBox.Show("通讯客户端批量上传下载完毕关闭窗体");
break;
}
default: {
base.DefWndProc(ref m);
break;
}
}
}
catch (Exception ex) {
PubUtil.WriteLog(ex.Message);
}
}
#endregion
#region
/// <summary>
/// 下载附件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void btnDown_Click(object sender, EventArgs e)
{
int[] rows = gridMain.gridView.GetSelectedRows();
string ids = string.Empty;
for (int i = 0; i < rows.Length; i++)
{
DataRow row = gridMain.gridView.GetDataRow(rows[i]);
ids += row["fileId"].ToString() + ",";
}
ids = ids.Trim(',');
fmUpdateDownloadType type = (fmUpdateDownloadType)2;
TParamsData pd = new TParamsData(type, this.Handle);
pd.setLocation(100, 100);
pd.setSize(800, 500);
pd.setParent(DiectoryId);
string[] strFileIds = ids.Split(',');
foreach (string sId in strFileIds)
{
pd.addFileId(int.Parse(sId));
}
pd.CallUpdateUI();
}
#endregion
#region
private void gridMain_DoubleClick(object sender, EventArgs e)
{
int[] rows = gridMain.gridView.GetSelectedRows();
if (rows != null && rows.Length > 0)
{
DataRow row = gridMain.gridView.GetDataRow(rows[0]);
string filePath = fileDir + row["sName"].ToString();
if (!File.Exists(filePath))
{
if (this.AttachOperation(2, ERPInfo.Instance.EmployeeId, ERPInfo.Instance.EmployeeName, "", Convert.ToInt32(row["fileId"] + ""), row["sName"] + "", 0))
{
string sql = "select dbo.fun_fm_getAbsolutePath(" + Convert.ToInt32(row["fileId"]) + ");";
String path = SqlHelper.ExecuteScalar(CommandType.Text, sql) + "";
StringBuilder dfile = new StringBuilder();
StringBuilder rfile = new StringBuilder();
int hwnd = 0;
dfile.Append(serverPath + path);
rfile = PubUtil.DownloadAttach(dfile, hwnd);
rfile.Clear();
rfile.Append(Application.StartupPath + @"\tempfiles\" + System.IO.Path.GetFileName(dfile.ToString()));
if (System.IO.File.Exists(rfile.ToString()))
{
//MessageBox.Show(rfile.ToString());
System.Diagnostics.Process.Start(rfile.ToString(), "");
}
}
}
else
{
Process.Start(filePath);
}
}
}
#endregion
/// <summary>
/// <para>说明:附件操作之前调用</para>
/// <para>创建人:龚宇超</para>
/// <para>创建日期:2017-09-28 </para>
/// <para>修改人:</para>
/// <para>修改日期:</para>
/// <para>修改备注:</para>
/// <para>版本:1.0</para>
/// </summary>
/// <param name="operType">1=上传,2=下载,3=删除,4=锁定,5=解除锁定 必填</param>
/// <param name="userId">The user identifier.</param>
/// <param name="userName">Name of the user.</param>
/// <param name="fileSpecisNo">The file specis no.</param>
/// <param name="filename">The filename.</param>
/// <param name="filesize">The filesize.</param>
/// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns>
private bool AttachOperation(int operType, int userId, string userName, string fileSpecisNo, int fileid, string filename, int filesize)
{
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 = userId;
param[2].Value = userName;
param[3].Value = fileSpecisNo;
param[4].Value = fileid;
param[5].Value = filename;
param[6].Value = filesize;
DataSet ds = SqlHelper.ExecuteDataSet(CommandType.StoredProcedure, "p_SystemAttachOperation", "attach", param);
string msg = pMsg.Value.ToString();
int rVaule = Convert.ToInt32(returnValue.Value + "");
if (rVaule != 1)
{
MessageBox.Show(msg);
}
return true;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
return true;
}
private void btnSearch_Click(object sender, EventArgs e) {
LoadData();
}
private void btnOpenPhoto_Click(object sender, EventArgs e) {
//FrmCmCapture frm = new FrmCmCapture();
//frm.DirId = DiectoryId.ToString();
//frm.OperatorId = OperatorId;
//frm.ShowDialog();
//LoadData();
}
}
}
File diff suppressed because it is too large Load Diff
@@ -0,0 +1,124 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>8.0.30703</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{DD095CE0-52F2-4798-805A-D545137D2871}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>Lskj.Attachment</RootNamespace>
<AssemblyName>Lskj.Attachment</AssemblyName>
<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>
</TargetFrameworkProfile>
<FileAlignment>512</FileAlignment>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>..\..\..\publish\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<PlatformTarget>x86</PlatformTarget>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<StartupObject />
</PropertyGroup>
<ItemGroup>
<Reference Include="DevExpress.Data.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Printing.v13.1.Core, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.Utils.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraCharts.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraCharts.v13.1.UI, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraEditors.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraGrid.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a, processorArchitecture=MSIL" />
<Reference Include="DevExpress.XtraLayout.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="DevExpress.XtraPrinting.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" />
<Reference Include="Dxper.LocalizationCHS.Win.v13.1.5, Version=13.1.5.0, Culture=neutral, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\引用DLL\Dxper.LocalizationCHS.Win.v13.1.5.dll</HintPath>
<Private>False</Private>
</Reference>
<Reference Include="Lskj.PubUtils, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL" />
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="DllBaseClass.cs" />
<Compile Include="FrmMain.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="FrmMain.Designer.cs">
<DependentUpon>FrmMain.cs</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<EmbeddedResource Include="FrmMain.resx">
<DependentUpon>FrmMain.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Resources.resx</DependentUpon>
<DesignTime>True</DesignTime>
</Compile>
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<Content Include="a.ico" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\CommonLib\CommonLib.csproj">
<Project>{3E8E6529-5D8A-4F17-8C41-27CD7380178D}</Project>
<Name>CommonLib</Name>
</ProjectReference>
<ProjectReference Include="..\..\ControlLib\ControlLib.csproj">
<Project>{73C024E7-D9DC-44C3-BABC-2AA1544ECCF9}</Project>
<Name>ControlLib</Name>
</ProjectReference>
<ProjectReference Include="..\..\Lskj.MyControl\Lskj.MyControl.csproj">
<Project>{F6502012-9A7C-44AE-AAC6-DE2AD02F5C11}</Project>
<Name>Lskj.MyControl</Name>
</ProjectReference>
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
</Project>
@@ -0,0 +1,36 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// 有关程序集的常规信息通过以下
// 特性集控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("Lskj.Attachment")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("Lskj.Attachment")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2014")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// 将 ComVisible 设置为 false 使此程序集中的类型
// 对 COM 组件不可见。如果需要从 COM 访问此程序集中的类型,
// 则将该类型上的 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]
// 如果此项目向 COM 公开,则下列 GUID 用于类型库的 ID
[assembly: Guid("8d043aea-aeb3-4672-8686-0b0fd6549cee")]
// 程序集的版本信息由下面四个值组成:
//
// 主版本
// 次版本
// 内部版本号
// 修订号
//
// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
// 方法是按如下所示使用“*”:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.3")]
@@ -0,0 +1,72 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.1
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace Lskj.Attachment.Properties
{
using System;
/// <summary>
/// 一个强类型的资源类,用于查找本地化的字符串等。
/// </summary>
// 此类是由 StronglyTypedResourceBuilder
// 类通过类似于 ResGen 或 Visual Studio 的工具自动生成的。
// 若要添加或移除成员,请编辑 .ResX 文件,然后重新运行 ResGen
// (以 /str 作为命令选项),或重新生成 VS 项目。
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources
{
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources()
{
}
/// <summary>
/// 返回此类使用的缓存的 ResourceManager 实例。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager
{
get
{
if (object.ReferenceEquals(resourceMan, null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Lskj.Attachment.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// 使用此强类型资源类,为所有资源查找
/// 重写当前线程的 CurrentUICulture 属性。
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
}
}
@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>
@@ -0,0 +1,30 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.1
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
namespace Lskj.Attachment.Properties
{
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
{
private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
public static Settings Default
{
get
{
return defaultInstance;
}
}
}
}
@@ -0,0 +1,7 @@
<?xml version='1.0' encoding='utf-8'?>
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)">
<Profiles>
<Profile Name="(Default)" />
</Profiles>
<Settings />
</SettingsFile>
@@ -0,0 +1,2 @@
DevExpress.Patch.InMemoryPatch, DevExpress.Patch.Common, Version=6.0.0.0, Culture=neutral, PublicKeyToken=7fc7bfca2443de66
DevExpress.XtraGrid.GridControl, DevExpress.XtraGrid.v13.1, Version=13.1.5.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a
Binary file not shown.

After

Width:  |  Height:  |  Size: 66 KiB