|
|
using NFine.Application.SRM; using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Web; using System.Web.Mvc; using NFine.Code; using System.Data.SqlClient; using NFine.Data.Extensions;
using System.Data.Common; using Newtonsoft.Json; using NFine.Domain._03_Entity.SRM; using NFine.Application;
namespace NFine.Web.Areas.SRM.Controllers { public class PrintController : ControllerBase { PrintApp App = new PrintApp(); // GET: WMS/Print
public ActionResult PrintView() { return View(); } public ActionResult PrintViewByLot() { return View(); }
public ActionResult PrintViewBySession() { return View(); }
/// <summary>
/// 打印数据参数:服务器的URL+打印的文件名,转化为Base64编码
/// </summary>
protected string strPrintData; /// <summary>
/// 标识是否安装了控件
/// </summary>
protected bool bIsInstallPrintControl = true; /// <summary>
/// 打印控件的Cookie值
/// </summary>
protected string strPrintControlCookie = "";
/// <summary>
/// 获取Url中去掉文件名的路径
/// </summary>
/// <returns></returns>
private string GetUrlPath() { string strUrl = Request.Url.ToString(); int iEnd = strUrl.LastIndexOf("/"); strUrl = strUrl.Substring(0, iEnd + 1);
return strUrl; }
[HttpGet] [HandlerAjaxOnly] public ActionResult GetLableType() { DataTable dt = App.GetLableType(); return Content(dt.ToJson()); }
[HttpGet] [HandlerAjaxOnly] public ActionResult GetLableSourceID() { DataTable dt = App.GetLableSourceID(); return Content(dt.ToJson()); }
[HttpGet] [HandlerAjaxOnly] public ActionResult GetSys_LablesID(string LableType) { DataTable dt = App.GetSys_LablesID(LableType); return Content(dt.ToJson()); }
//打印
[HttpPost] [HandlerAjaxOnly] public ActionResult PrintItemLot(string keyValue, string Parameter) { string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode; string WorkPoint = ""+NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',')+""; string sqltxt = ""; Parameter = Parameter.Substring(1, Parameter.Length - 3); var queryParam = keyValue.ToJObject(); List<DbParameter> parameter = new List<DbParameter>(); var Sys_LablesID = queryParam["Sys_LablesID"].ToString(); List<PrintPara> parasList = new List<PrintPara>(); keyValue = keyValue.Substring(1, keyValue.Length - 2); string sqlValue = @"select LableSourceID,FileAddress,LableCode,LableName from Sys_Lables where ID='{0}'"; sqlValue = string.Format(sqlValue, Sys_LablesID); DataRow drV = SqlHelper.GetDataRowBySql(sqlValue); string LableSourceID = drV["LableSourceID"].ToString(); string FileAddress= drV["FileAddress"].ToString(); string LableCode = drV["LableCode"].ToString(); string LableName = drV["LableName"].ToString(); string sqlLableDataSource = @"SELECT ID,WorkPointCode,OtherDataBaseID,WorkPointDataFlag,
SysDataFlag,SqlTxt,SourceName,FormatSqlTxt,Paras,DbParas,LinkCols,CreateUserID, CreateDate,ModifyUserID,ModifyDate,Link2Cols FROM dbo.Sys_LableDataSource where ID='{0}'";
sqlLableDataSource= string.Format(sqlLableDataSource, LableSourceID); DataRow dr = SqlHelper.GetDataRowBySql(sqlLableDataSource); #region 打印
//string[] PrintParas = Parameter.Split('|');
//string LinkCols = string.Empty;
//foreach (var p in PrintParas)
//{
// sqltxt = dr["SqlTxt"].ToString();
// LinkCols= dr["LinkCols"].ToString();
// if (dr["Paras"].ToString() != "")
// {
// string[] ps = dr["Paras"].ToString().Split(',');
// for (int i = 0; i < ps.Length; i++)
// {
// if (!string.IsNullOrEmpty(ps[i]))
// {
// sqltxt = sqltxt.Replace(ps[i], p.ToString());
// }
// }
// }
// if (sqltxt.Contains("[WorkPoint]"))
// {
// sqltxt = sqltxt.Replace("[WorkPoint]", WorkPoint);
// }
//}
#endregion
var PrintValue = Parameter.Split('|'); string[] ValueParameters = PrintValue[0].Split(','); string[] PrintParas = Parameter.Split('|'); string LinkCols = string.Empty; sqltxt = dr["SqlTxt"].ToString(); LinkCols = dr["LinkCols"].ToString(); string SourceName = dr["SourceName"].ToString(); string Paras = dr["Paras"].ToString(); if (dr["Paras"].ToString() != "") { string[] ps = dr["Paras"].ToString().Split(','); for (int i = 0; i < ps.Length; i++) { if (!string.IsNullOrEmpty(ps[i])) { sqltxt = sqltxt.Replace(ps[i], PrintParas[i]); } } } if (sqltxt.Contains("[WorkPoint]")) { sqltxt = sqltxt.Replace("[WorkPoint]", WorkPoint); } string strPrintFileName = Server.MapPath("/File/LablesFile/") + ""+ FileAddress + ""; PrintJson pJson = new PrintJson(Server.MapPath("./PrintTemp"), strPrintFileName); pJson.CheckRegister("苏州智合诚信息科技有限公司", "56DD3B4C172D0D140841CAC98A58A819F4E28EDA5D6E45711DDD64F6A439F68B6A7870CD7DAFD69A919CB870207FE4BB206F92BE3D53C221B019E0797E739EBA4"); //注册信息
if (LinkCols!="") { pJson.MasterOptions(1, ""+ LinkCols + "", false); //主从关系
}
//pJson.CheckRegister("注册姓名", "8ECCCD6A1302DFEE1A6456A5D"); //注册信息
//pJson.AddPrintParam("ShopName", "测试酒楼");
//pJson.AddPrintParam("PrintDepositAdd", "说明:本单据为贵客押金收取凭证,盖章有效。退房时请出示,遗失者自负,请妥善保存。退房时间为12:00时,延时退房18:00时以前按半天房费收取,18:00时以后算全天房价。押金单有效期为一个月,过期作废。 贵重物品请交前台寄存,未寄存丢失自负。 谢谢!");
SetCookieAndURL(pJson);// 设置控件调用的Cookie值,判断是否安装了打印控件
string strSql = sqltxt;
//DataTable dtCashLog = DbHelper.ExecuteTable(DbHelper.ConnectionString, CommandType.Text, strSql, true, null);
DataSet dtCashLog = DbHelper.GetDataSet( CommandType.Text, strSql); DataTable dt1 = null; DataTable dt2 = null; DataTable dt3 = null; string strPrintTempFile = ""; if (dtCashLog.Tables.Count > 0 && dtCashLog.Tables.Count <= 1) { dt1 = dtCashLog.Tables[0]; strPrintTempFile = pJson.ShowReport(dt1); } if (dtCashLog.Tables.Count > 1 && dtCashLog.Tables.Count<=2) { dt1 = dtCashLog.Tables[0]; dt2 = dtCashLog.Tables[1]; strPrintTempFile = pJson.ShowReport(dt1,dt2); } if (dtCashLog.Tables.Count > 2) { dt1 = dtCashLog.Tables[0]; dt2 = dtCashLog.Tables[1]; dt3 = dtCashLog.Tables[2]; strPrintTempFile = pJson.ShowReport(dt1, dt2,dt3); }
//string strPrintTempFile = pJson.ShowReport(dt1, dt2); //产生JSON文件内容
//把服务器的URL + 此文件名 传递给控件,由控件下载还原数据进行打印
string strServerURL = GetUrlPath() + "PrintTemp/"; string strData = strServerURL + strPrintTempFile;
strPrintData = PrintFunction.EnBase64(strData);
var JsonData = new { strPrintData_1 = strPrintData, bIsInstallPrintControl_1 = bIsInstallPrintControl, strPrintControlCookie_1 = strPrintControlCookie }; string sql = string.Empty; for (int i = 0; i < ValueParameters.Length; i++) { // 打印记录
sql += @"insert into Sys_LableTask (ID, LableCode, LableName, PrintTableID, PrintTableName, PrintKey, ValueParameters, PrintDate, PrintUserCode, WorkPoint)
values(newid(),'{0}','{1}','{2}','{3}','{4}',{5},getdate(),'{6}',{7})";
sql = string.Format(sql, LableCode, LableName, LableSourceID, SourceName, Paras, ValueParameters[i].ToString(), MUSER, WorkPoint); } SqlHelper.CmdExecuteNonQueryLi(sql);
//多站点
//string sql = @"UPDATE dbo.ICSInventoryLot
// SET PrintTimes=ISNULL(PrintTimes,0)+1,
// LastPrintUser='',
// LastPrintTime=GETDATE()
// WHERE ID IN (" + keyValue.TrimEnd(',') + ") and WorkPoint in ('" + WorkPoint.TrimEnd(',') + "')";
//SqlHelper.ExecuteNonQuery(sql);
return Content(JsonData.ToJson()); }
//打印(传入条码和单据)
[HttpPost] [HandlerAjaxOnly] public ActionResult DHPrintItemLot(string keyValue, string Parameter) {
string WorkPoint = "'" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + "'"; string sqltxt = ""; var queryParam = keyValue.ToJObject(); List<DbParameter> parameter = new List<DbParameter>(); var Sys_LablesID = queryParam["Sys_LablesID"].ToString(); List<PrintPara> parasList = new List<PrintPara>(); keyValue = keyValue.Substring(1, keyValue.Length - 2); string sqlValue = @"select LableSourceID,FileAddress from Sys_Lables where ID='{0}'"; sqlValue = string.Format(sqlValue, Sys_LablesID); DataRow drV = SqlHelper.GetDataRowBySql(sqlValue); string LableSourceID = drV["LableSourceID"].ToString(); string FileAddress = drV["FileAddress"].ToString(); string sqlLableDataSource = @"SELECT ID,WorkPointCode,OtherDataBaseID,WorkPointDataFlag,
SysDataFlag,SqlTxt,SourceName,FormatSqlTxt,Paras,DbParas,LinkCols,CreateUserID, CreateDate,ModifyUserID,ModifyDate,Link2Cols FROM dbo.Sys_LableDataSource where ID='{0}'";
sqlLableDataSource = string.Format(sqlLableDataSource, LableSourceID); DataRow dr = SqlHelper.GetDataRowBySql(sqlLableDataSource); #region 打印
//string[] PrintParas = Parameter.Split('|');
//string LinkCols = string.Empty;
//foreach (var p in PrintParas)
//{
// sqltxt = dr["SqlTxt"].ToString();
// LinkCols= dr["LinkCols"].ToString();
// if (dr["Paras"].ToString() != "")
// {
// string[] ps = dr["Paras"].ToString().Split(',');
// for (int i = 0; i < ps.Length; i++)
// {
// if (!string.IsNullOrEmpty(ps[i]))
// {
// sqltxt = sqltxt.Replace(ps[i], p.ToString());
// }
// }
// }
// if (sqltxt.Contains("[WorkPoint]"))
// {
// sqltxt = sqltxt.Replace("[WorkPoint]", WorkPoint);
// }
//}
#endregion
DataTable dtInfo = JsonConvert.DeserializeObject<DataTable>(Parameter); string Printstr1 = ""; string Printstr2 = ""; string PrintstrEnd = ""; foreach (DataRow drInfo in dtInfo.Rows) { Printstr1 += "'" + drInfo["ApplyCode"] + "',"; Printstr2 += "'" + drInfo["LotNO"] + "',"; } PrintstrEnd = Printstr1.TrimEnd(',') + ";" + Printstr2.TrimEnd(','); string[] PrintParas = PrintstrEnd.Split(';'); string LinkCols = string.Empty; sqltxt = dr["SqlTxt"].ToString(); LinkCols = dr["LinkCols"].ToString(); if (dr["Paras"].ToString() != "") { string[] ps = dr["Paras"].ToString().Split(','); for (int i = 0; i < ps.Length; i++) { if (!string.IsNullOrEmpty(ps[i])) { sqltxt = sqltxt.Replace(ps[i], PrintParas[i]); } } } if (sqltxt.Contains("[WorkPoint]")) { sqltxt = sqltxt.Replace("[WorkPoint]", WorkPoint); } string strPrintFileName = Server.MapPath("/File/LablesFile/") + "" + FileAddress + ""; PrintJson pJson = new PrintJson(Server.MapPath("./PrintTemp"), strPrintFileName); pJson.CheckRegister("苏州智合诚信息科技有限公司", "56DD3B4C172D0D140841CAC98A58A819F4E28EDA5D6E45711DDD64F6A439F68B6A7870CD7DAFD69A919CB870207FE4BB206F92BE3D53C221B019E0797E739EBA4"); //注册信息
if (LinkCols != "") { pJson.MasterOptions(1, "" + LinkCols + "", false); //主从关系
}
//pJson.CheckRegister("注册姓名", "8ECCCD6A1302DFEE1A6456A5D"); //注册信息
//pJson.AddPrintParam("ShopName", "测试酒楼");
//pJson.AddPrintParam("PrintDepositAdd", "说明:本单据为贵客押金收取凭证,盖章有效。退房时请出示,遗失者自负,请妥善保存。退房时间为12:00时,延时退房18:00时以前按半天房费收取,18:00时以后算全天房价。押金单有效期为一个月,过期作废。 贵重物品请交前台寄存,未寄存丢失自负。 谢谢!");
SetCookieAndURL(pJson);// 设置控件调用的Cookie值,判断是否安装了打印控件
string strSql = sqltxt;
//DataTable dtCashLog = DbHelper.ExecuteTable(DbHelper.ConnectionString, CommandType.Text, strSql, true, null);
DataSet dtCashLog = DbHelper.GetDataSet(CommandType.Text, strSql); DataTable dt1 = null; DataTable dt2 = null; DataTable dt3 = null; string strPrintTempFile = ""; if (dtCashLog.Tables.Count > 0 && dtCashLog.Tables.Count <= 1) { dt1 = dtCashLog.Tables[0]; strPrintTempFile = pJson.ShowReport(dt1); } if (dtCashLog.Tables.Count > 1 && dtCashLog.Tables.Count <= 2) { dt1 = dtCashLog.Tables[0]; dt2 = dtCashLog.Tables[1]; strPrintTempFile = pJson.ShowReport(dt1, dt2); } if (dtCashLog.Tables.Count > 2) { dt1 = dtCashLog.Tables[0]; dt2 = dtCashLog.Tables[1]; dt3 = dtCashLog.Tables[2]; strPrintTempFile = pJson.ShowReport(dt1, dt2, dt3); }
//string strPrintTempFile = pJson.ShowReport(dt1, dt2); //产生JSON文件内容
//把服务器的URL + 此文件名 传递给控件,由控件下载还原数据进行打印
string strServerURL = GetUrlPath() + "PrintTemp/"; string strData = strServerURL + strPrintTempFile;
strPrintData = PrintFunction.EnBase64(strData);
var JsonData = new { strPrintData_1 = strPrintData, bIsInstallPrintControl_1 = bIsInstallPrintControl, strPrintControlCookie_1 = strPrintControlCookie }; //多站点
//string sql = @"UPDATE dbo.ICSInventoryLot
// SET PrintTimes=ISNULL(PrintTimes,0)+1,
// LastPrintUser='',
// LastPrintTime=GETDATE()
// WHERE ID IN (" + keyValue.TrimEnd(',') + ") and WorkPoint in ('" + WorkPoint.TrimEnd(',') + "')";
//SqlHelper.ExecuteNonQuery(sql);
return Content(JsonData.ToJson()); }
[HttpPost] [HandlerAjaxOnly] public ActionResult YLPrintItemLot(string keyValue, string Parameter) { string WorkPoint = "'" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + "'"; string sqltxt = ""; //Parameter = Parameter.Substring(1, Parameter.Length - 3);
var queryParam = keyValue.ToJObject(); List<DbParameter> parameter = new List<DbParameter>(); var Sys_LablesID = queryParam["Sys_LablesID"].ToString(); List<PrintPara> parasList = new List<PrintPara>(); keyValue = keyValue.Substring(1, keyValue.Length - 2); string sqlValue = @"select LableSourceID,FileAddress from Sys_Lables where ID='{0}'"; sqlValue = string.Format(sqlValue, Sys_LablesID); DataRow drV = SqlHelper.GetDataRowBySql(sqlValue); string LableSourceID = drV["LableSourceID"].ToString(); string FileAddress = drV["FileAddress"].ToString(); string sqlLableDataSource = @"SELECT ID,WorkPointCode,OtherDataBaseID,WorkPointDataFlag,
SysDataFlag,SqlTxt,SourceName,FormatSqlTxt,Paras,DbParas,LinkCols,CreateUserID, CreateDate,ModifyUserID,ModifyDate,Link2Cols FROM dbo.Sys_LableDataSource where ID='{0}'";
sqlLableDataSource = string.Format(sqlLableDataSource, LableSourceID); DataRow dr = SqlHelper.GetDataRowBySql(sqlLableDataSource);
string LinkCols = string.Empty; LinkCols = dr["LinkCols"].ToString(); string strPrintFileName = Server.MapPath("/File/LablesFile/") + "" + FileAddress + ""; PrintJson pJson = new PrintJson(Server.MapPath("./PrintTemp"), strPrintFileName); pJson.CheckRegister("苏州智合诚信息科技有限公司", "56DD3B4C172D0D140841CAC98A58A819F4E28EDA5D6E45711DDD64F6A439F68B6A7870CD7DAFD69A919CB870207FE4BB206F92BE3D53C221B019E0797E739EBA4"); //注册信息
if (LinkCols != "") { pJson.MasterOptions(1, "" + LinkCols + "", false); //主从关系
}
//pJson.CheckRegister("注册姓名", "8ECCCD6A1302DFEE1A6456A5D"); //注册信息
//pJson.AddPrintParam("ShopName", "测试酒楼");
//pJson.AddPrintParam("PrintDepositAdd", "说明:本单据为贵客押金收取凭证,盖章有效。退房时请出示,遗失者自负,请妥善保存。退房时间为12:00时,延时退房18:00时以前按半天房费收取,18:00时以后算全天房价。押金单有效期为一个月,过期作废。 贵重物品请交前台寄存,未寄存丢失自负。 谢谢!");
SetCookieAndURL(pJson);// 设置控件调用的Cookie值,判断是否安装了打印控件
string strSql = sqltxt;
//DataTable dtCashLog = DbHelper.ExecuteTable(DbHelper.ConnectionString, CommandType.Text, strSql, true, null);
//DataSet dtCashLog = DbHelper.GetDataSet(CommandType.Text, strSql);
//var jsonData = $"[{Parameter}]";
//DataTable dt1 = JsonConvert.DeserializeObject<DataTable>(jsonData);
DataTable dt1 = JsonConvert.DeserializeObject<DataTable>(Parameter);
string strPrintTempFile = ""; //if (dtCashLog.Tables.Count > 0 && dtCashLog.Tables.Count <= 1)
//{
// dt1 = dtCashLog.Tables[0];
strPrintTempFile = pJson.ShowReport(dt1); //}
//if (dtCashLog.Tables.Count > 1 && dtCashLog.Tables.Count <= 2)
//{
// dt1 = dtCashLog.Tables[0];
// dt2 = dtCashLog.Tables[1];
// strPrintTempFile = pJson.ShowReport(dt1, dt2);
//}
//if (dtCashLog.Tables.Count > 2)
//{
// dt1 = dtCashLog.Tables[0];
// dt2 = dtCashLog.Tables[1];
// dt3 = dtCashLog.Tables[2];
// strPrintTempFile = pJson.ShowReport(dt1, dt2, dt3);
//}
//string strPrintTempFile = pJson.ShowReport(dt1, dt2); //产生JSON文件内容
//把服务器的URL + 此文件名 传递给控件,由控件下载还原数据进行打印
string strServerURL = GetUrlPath() + "PrintTemp/"; string strData = strServerURL + strPrintTempFile; strPrintData = PrintFunction.EnBase64(strData); var JsonData = new { strPrintData_1 = strPrintData, bIsInstallPrintControl_1 = bIsInstallPrintControl, strPrintControlCookie_1 = strPrintControlCookie }; //多站点
//string sql = @"UPDATE dbo.ICSInventoryLot
// SET PrintTimes=ISNULL(PrintTimes,0)+1,
// LastPrintUser='',
// LastPrintTime=GETDATE()
// WHERE ID IN (" + keyValue.TrimEnd(',') + ") and WorkPoint in ('" + WorkPoint.TrimEnd(',') + "')";
//SqlHelper.ExecuteNonQuery(sql);
return Content(JsonData.ToJson()); }
[HttpPost] [HandlerAjaxOnly] public ActionResult BasePrintItemLot(string keyValue, string Parameter) { string WorkPoint = "'" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + "'"; string sqltxt = ""; //Parameter = Parameter.Substring(1, Parameter.Length - 3);
var queryParam = keyValue.ToJObject(); List<DbParameter> parameter = new List<DbParameter>(); var Sys_LablesID = queryParam["Sys_LablesID"].ToString(); List<PrintPara> parasList = new List<PrintPara>(); keyValue = keyValue.Substring(1, keyValue.Length - 2); string sqlValue = @"select LableSourceID,FileAddress from Sys_Lables where ID='{0}'"; sqlValue = string.Format(sqlValue, Sys_LablesID); DataRow drV = SqlHelper.GetDataRowBySql(sqlValue); string LableSourceID = drV["LableSourceID"].ToString(); string FileAddress = drV["FileAddress"].ToString(); string sqlLableDataSource = @"SELECT ID,WorkPointCode,OtherDataBaseID,WorkPointDataFlag,
SysDataFlag,SqlTxt,SourceName,FormatSqlTxt,Paras,DbParas,LinkCols,CreateUserID, CreateDate,ModifyUserID,ModifyDate,Link2Cols FROM dbo.Sys_LableDataSource where ID='{0}'";
sqlLableDataSource = string.Format(sqlLableDataSource, LableSourceID); DataRow dr = SqlHelper.GetDataRowBySql(sqlLableDataSource);
string LinkCols = string.Empty; LinkCols = dr["LinkCols"].ToString();
string strPrintFileName = Server.MapPath("/File/LablesFile/") + "" + FileAddress + ""; PrintJson pJson = new PrintJson(Server.MapPath("./PrintTemp"), strPrintFileName); pJson.CheckRegister("苏州智合诚信息科技有限公司", "56DD3B4C172D0D140841CAC98A58A819F4E28EDA5D6E45711DDD64F6A439F68B6A7870CD7DAFD69A919CB870207FE4BB206F92BE3D53C221B019E0797E739EBA4"); //注册信息
if (LinkCols != "") { pJson.MasterOptions(1, "" + LinkCols + "", false); //主从关系
}
//pJson.CheckRegister("注册姓名", "8ECCCD6A1302DFEE1A6456A5D"); //注册信息
//pJson.AddPrintParam("ShopName", "测试酒楼");
//pJson.AddPrintParam("PrintDepositAdd", "说明:本单据为贵客押金收取凭证,盖章有效。退房时请出示,遗失者自负,请妥善保存。退房时间为12:00时,延时退房18:00时以前按半天房费收取,18:00时以后算全天房价。押金单有效期为一个月,过期作废。 贵重物品请交前台寄存,未寄存丢失自负。 谢谢!");
SetCookieAndURL(pJson);// 设置控件调用的Cookie值,判断是否安装了打印控件
string strSql = sqltxt;
//DataTable dtCashLog = DbHelper.ExecuteTable(DbHelper.ConnectionString, CommandType.Text, strSql, true, null);
//DataSet dtCashLog = DbHelper.GetDataSet(CommandType.Text, strSql);
//var jsonData = $"[{Parameter}]";
//DataTable dt1 = JsonConvert.DeserializeObject<DataTable>(jsonData);
DataTable dt1 = JsonConvert.DeserializeObject<DataTable>(Parameter);
string strPrintTempFile = ""; //if (dtCashLog.Tables.Count > 0 && dtCashLog.Tables.Count <= 1)
//{
// dt1 = dtCashLog.Tables[0];
strPrintTempFile = pJson.ShowReport(dt1); //}
//if (dtCashLog.Tables.Count > 1 && dtCashLog.Tables.Count <= 2)
//{
// dt1 = dtCashLog.Tables[0];
// dt2 = dtCashLog.Tables[1];
// strPrintTempFile = pJson.ShowReport(dt1, dt2);
//}
//if (dtCashLog.Tables.Count > 2)
//{
// dt1 = dtCashLog.Tables[0];
// dt2 = dtCashLog.Tables[1];
// dt3 = dtCashLog.Tables[2];
// strPrintTempFile = pJson.ShowReport(dt1, dt2, dt3);
//}
//string strPrintTempFile = pJson.ShowReport(dt1, dt2); //产生JSON文件内容
//把服务器的URL + 此文件名 传递给控件,由控件下载还原数据进行打印
string strServerURL = GetUrlPath() + "PrintTemp/"; string strData = strServerURL + strPrintTempFile; strPrintData = PrintFunction.EnBase64(strData); var JsonData = new { strPrintData_1 = strPrintData, bIsInstallPrintControl_1 = bIsInstallPrintControl, strPrintControlCookie_1 = strPrintControlCookie }; //多站点
//string sql = @"UPDATE dbo.ICSInventoryLot
// SET PrintTimes=ISNULL(PrintTimes,0)+1,
// LastPrintUser='',
// LastPrintTime=GETDATE()
// WHERE ID IN (" + keyValue.TrimEnd(',') + ") and WorkPoint in ('" + WorkPoint.TrimEnd(',') + "')";
//SqlHelper.ExecuteNonQuery(sql);
return Content(JsonData.ToJson()); }
[HttpPost] [HandlerAjaxOnly] public ActionResult PNPrintItemLot(string keyValue, string Parameter) { string WorkPoint = "'" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + "'"; string sqltxt = ""; var queryParam = keyValue.ToJObject(); List<DbParameter> parameter = new List<DbParameter>(); var Sys_LablesID = queryParam["Sys_LablesID"].ToString(); List<PrintPara> parasList = new List<PrintPara>(); keyValue = keyValue.Substring(1, keyValue.Length - 2); string sqlValue = @"select LableSourceID,FileAddress from Sys_Lables where ID='{0}'"; sqlValue = string.Format(sqlValue, Sys_LablesID); DataRow drV = SqlHelper.GetDataRowBySql(sqlValue); string LableSourceID = drV["LableSourceID"].ToString(); string FileAddress = drV["FileAddress"].ToString(); string sqlLableDataSource = @"SELECT ID,WorkPointCode,OtherDataBaseID,WorkPointDataFlag,
SysDataFlag,SqlTxt,SourceName,FormatSqlTxt,Paras,DbParas,LinkCols,CreateUserID, CreateDate,ModifyUserID,ModifyDate,Link2Cols FROM dbo.Sys_LableDataSource where ID='{0}'";
sqlLableDataSource = string.Format(sqlLableDataSource, LableSourceID); DataRow dr = SqlHelper.GetDataRowBySql(sqlLableDataSource);
string LinkCols = string.Empty; LinkCols = dr["LinkCols"].ToString();
string strPrintFileName = Server.MapPath("/File/LablesFile/") + "" + FileAddress + ""; PrintJson pJson = new PrintJson(Server.MapPath("./PrintTemp"), strPrintFileName); pJson.CheckRegister("苏州智合诚信息科技有限公司", "56DD3B4C172D0D140841CAC98A58A819F4E28EDA5D6E45711DDD64F6A439F68B6A7870CD7DAFD69A919CB870207FE4BB206F92BE3D53C221B019E0797E739EBA4"); //注册信息
if (LinkCols != "") { pJson.MasterOptions(1, "" + LinkCols + "", false); //主从关系
} string strSql = sqltxt; DataTable dt1 = JsonConvert.DeserializeObject<DataTable>(Parameter); DataTable uniqueTable = dt1.Clone(); HashSet<string> seen = new HashSet<string>(); for (int i = 0; i < dt1.Rows.Count; i++) { string code = dt1.Rows[i]["Code"].ToString(); string sequence = dt1.Rows[i]["Sequence"].ToString(); string identifier = $"{code}-{sequence}"; if (!seen.Contains(identifier)) { seen.Add(identifier); uniqueTable.ImportRow(dt1.Rows[i]); // 将当前行添加到 uniqueTable
} } string strPrintTempFile = ""; strPrintTempFile = pJson.ShowReport(uniqueTable); //string strPrintTempFile = pJson.ShowReport(dt1, dt2); //产生JSON文件内容
//把服务器的URL + 此文件名 传递给控件,由控件下载还原数据进行打印
string strServerURL = GetUrlPath() + "PrintTemp/"; string strData = strServerURL + strPrintTempFile; strPrintData = PrintFunction.EnBase64(strData); var JsonData = new { strPrintData_1 = strPrintData, bIsInstallPrintControl_1 = bIsInstallPrintControl, strPrintControlCookie_1 = strPrintControlCookie }; return Content(JsonData.ToJson()); }
[HttpPost] [HandlerAjaxOnly] public ActionResult BQPrintItemLot(string keyValue, string Parameter) { string WorkPoint = "'" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + "'"; string sqltxt = ""; Parameter = Parameter.Substring(2, Parameter.Length - 3); var queryParam = keyValue.ToJObject(); List<DbParameter> parameter = new List<DbParameter>(); var Sys_LablesID = queryParam["Sys_LablesID"].ToString(); List<PrintPara> parasList = new List<PrintPara>(); keyValue = keyValue.Substring(1, keyValue.Length - 2); string sqlValue = @"select LableSourceID,FileAddress from Sys_Lables where ID='{0}'"; sqlValue = string.Format(sqlValue, Sys_LablesID); DataRow drV = SqlHelper.GetDataRowBySql(sqlValue); string LableSourceID = drV["LableSourceID"].ToString(); string FileAddress = drV["FileAddress"].ToString(); string sqlLableDataSource = @"SELECT ID,WorkPointCode,OtherDataBaseID,WorkPointDataFlag,
SysDataFlag,SqlTxt,SourceName,FormatSqlTxt,Paras,DbParas,LinkCols,CreateUserID, CreateDate,ModifyUserID,ModifyDate,Link2Cols FROM dbo.Sys_LableDataSource where ID='{0}'";
sqlLableDataSource = string.Format(sqlLableDataSource, LableSourceID); DataRow dr = SqlHelper.GetDataRowBySql(sqlLableDataSource); #region 打印
//string[] PrintParas = Parameter.Split('|');
//string LinkCols = string.Empty;
//foreach (var p in PrintParas)
//{
// sqltxt = dr["SqlTxt"].ToString();
// LinkCols= dr["LinkCols"].ToString();
// if (dr["Paras"].ToString() != "")
// {
// string[] ps = dr["Paras"].ToString().Split(',');
// for (int i = 0; i < ps.Length; i++)
// {
// if (!string.IsNullOrEmpty(ps[i]))
// {
// sqltxt = sqltxt.Replace(ps[i], p.ToString());
// }
// }
// }
// if (sqltxt.Contains("[WorkPoint]"))
// {
// sqltxt = sqltxt.Replace("[WorkPoint]", WorkPoint);
// }
//}
#endregion
string[] PrintParas = Parameter.Split('|'); string LinkCols = string.Empty; sqltxt = dr["SqlTxt"].ToString(); LinkCols = dr["LinkCols"].ToString(); if (dr["Paras"].ToString() != "") { string[] ps = dr["Paras"].ToString().Split(','); for (int i = 0; i < ps.Length; i++) { if (!string.IsNullOrEmpty(ps[i])) { sqltxt = sqltxt.Replace(ps[i], PrintParas[i]); } } } if (sqltxt.Contains("[WorkPoint]")) { sqltxt = sqltxt.Replace("[WorkPoint]", WorkPoint); } string strPrintFileName = Server.MapPath("/File/LablesFile/") + "" + FileAddress + ""; PrintJson pJson = new PrintJson(Server.MapPath("./PrintTemp"), strPrintFileName); pJson.CheckRegister("苏州智合诚信息科技有限公司", "56DD3B4C172D0D140841CAC98A58A819F4E28EDA5D6E45711DDD64F6A439F68B6A7870CD7DAFD69A919CB870207FE4BB206F92BE3D53C221B019E0797E739EBA4"); //注册信息
if (LinkCols != "") { pJson.MasterOptions(1, "" + LinkCols + "", false); //主从关系
}
//pJson.CheckRegister("注册姓名", "8ECCCD6A1302DFEE1A6456A5D"); //注册信息
//pJson.AddPrintParam("ShopName", "测试酒楼");
//pJson.AddPrintParam("PrintDepositAdd", "说明:本单据为贵客押金收取凭证,盖章有效。退房时请出示,遗失者自负,请妥善保存。退房时间为12:00时,延时退房18:00时以前按半天房费收取,18:00时以后算全天房价。押金单有效期为一个月,过期作废。 贵重物品请交前台寄存,未寄存丢失自负。 谢谢!");
SetCookieAndURL(pJson);// 设置控件调用的Cookie值,判断是否安装了打印控件
string strSql = sqltxt;
//DataTable dtCashLog = DbHelper.ExecuteTable(DbHelper.ConnectionString, CommandType.Text, strSql, true, null);
DataSet dtCashLog = DbHelper.GetDataSet(CommandType.Text, strSql); DataTable dt1 = null; DataTable dt2 = null; DataTable dt3 = null; string strPrintTempFile = ""; if (dtCashLog.Tables.Count > 0 && dtCashLog.Tables.Count <= 1) { dt1 = dtCashLog.Tables[0]; DataTable jieguo = new DataTable(); int dtCashLogCount = dt1.Columns.Count * 2;
for (int s = 1; s < 3; s++) { int Count = 0; foreach (DataColumn column in dt1.Columns) { if (Count == dt1.Columns.Count) { break; } jieguo.Columns.Add(column.ColumnName + s); Count++; } } string[] array2D = new string[dt1.Rows[0].ItemArray.ToList().Count]; // 假设这是一个3x3的二维数组
int rows = array2D.GetLength(0); // 获取行数
// 添加新行,所有元素设置为"N/A"
for (int i = 0; i < rows; i++) { array2D[i] = " "; } // 遍历DataTable的每一行
for (int i = 0; i < dt1.Rows.Count; i++) { var param = dt1.Rows[i].ItemArray.ToList(); i++; if (i < dt1.Rows.Count) { param.AddRange(dt1.Rows[i].ItemArray.ToList()); } else { param.AddRange(array2D); } jieguo.Rows.Add(param.ToArray()); } strPrintTempFile = pJson.ShowReport(jieguo); } if (dtCashLog.Tables.Count > 1 && dtCashLog.Tables.Count <= 2) { dt1 = dtCashLog.Tables[0]; dt2 = dtCashLog.Tables[1]; strPrintTempFile = pJson.ShowReport(dt1, dt2); } if (dtCashLog.Tables.Count > 2) { dt1 = dtCashLog.Tables[0]; dt2 = dtCashLog.Tables[1]; dt3 = dtCashLog.Tables[2]; strPrintTempFile = pJson.ShowReport(dt1, dt2, dt3); }
//string strPrintTempFile = pJson.ShowReport(dt1, dt2); //产生JSON文件内容
//把服务器的URL + 此文件名 传递给控件,由控件下载还原数据进行打印
string strServerURL = GetUrlPath() + "PrintTemp/"; string strData = strServerURL + strPrintTempFile;
strPrintData = PrintFunction.EnBase64(strData);
var JsonData = new { strPrintData_1 = strPrintData, bIsInstallPrintControl_1 = bIsInstallPrintControl, strPrintControlCookie_1 = strPrintControlCookie }; //多站点
//string sql = @"UPDATE dbo.ICSInventoryLot
// SET PrintTimes=ISNULL(PrintTimes,0)+1,
// LastPrintUser='',
// LastPrintTime=GETDATE()
// WHERE ID IN (" + keyValue.TrimEnd(',') + ") and WorkPoint in ('" + WorkPoint.TrimEnd(',') + "')";
//SqlHelper.ExecuteNonQuery(sql);
return Content(JsonData.ToJson()); } /// <summary>
/// 设置控件调用的Cookie值,判断是否安装了打印控件....
/// </summary>
/// <param name="pJson"></param>
private void SetCookieAndURL(PrintJson pJson) { bIsInstallPrintControl = false; strPrintControlCookie = ""; HttpCookie pCookieInstall = Request.Cookies["InstallPrintControl"]; if (pCookieInstall != null) { //Cookie存在
strPrintControlCookie = pCookieInstall.Value.ToString();
//以Cookie值查找在数据表中是否存在
string strSql = @"Select * From sys_SRM_CheckInstall Where Cookie = @Cookie"; SqlParameter[] pmcCookie = { new SqlParameter("Cookie", strPrintControlCookie) }; using (SqlDataReader drCookie = DbHelper.ExecuteReader(DbHelper.ConnectionString, CommandType.Text, strSql, pmcCookie)) { if (drCookie.Read()) { //标识为已经安装
bIsInstallPrintControl = true; } drCookie.Close(); } //更新Cookie的保存时间
pCookieInstall.Expires = DateTime.Now.AddYears(10); Response.SetCookie(pCookieInstall); } else {//Cookie不存在,则新建Cookie
strPrintControlCookie = System.Guid.NewGuid().ToString(); pCookieInstall = new HttpCookie("InstallPrintControl", strPrintControlCookie); pCookieInstall.Expires = DateTime.Now.AddYears(10); Response.Cookies.Add(pCookieInstall); }
string strUrl = Server.MapPath("/PrintTemp/") + "IsCheckInstall";
pJson.SetCookieAndURL(strPrintControlCookie, strUrl); }
[HttpGet] public ActionResult SelectColumnName(string BeginTime, string EndTime) { var data = App.SelectColumnName(BeginTime, EndTime); return Content(data.ToJson()); }
[HttpGet] public ActionResult SelectTableColumnName(string BeginTime, string EndTime) { var data = App.SelectTableColumnName(BeginTime, EndTime); return Content(data.ToJson()); }
[HttpGet] public ActionResult GetCnValue(string Code) { string sql = string.Empty; try { string str = App.GetCnValue(Code); var JsonData = new { content = str }; return Content(JsonData.ToJson()); } catch (Exception ex) { return Error(ex.Message); } }
[HttpGet] [HandlerAjaxOnly] public ActionResult updatePrintStatus(string LotNo) { string msg = App.updatePrintStatus(LotNo); if (!string.IsNullOrEmpty(msg)) { return Error(msg); } else { return Success("打印人、打印次数、打印时间更新成功!"); } }
[HttpGet] [HandlerAjaxOnly] public ActionResult GetItemDetailsMoid(string keyValue) { keyValue = keyValue.Substring(1, keyValue.Length - 2); var rows = App.GetItemDetailsMoid(keyValue);
return Content(rows.ToJson()); } //打印
[HttpPost] [HandlerAjaxOnly] public ActionResult PrintItemLotTwoPrint(string keyValue, string Parameter) {
string WorkPoint = "'" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + "'"; string sqltxt = ""; Parameter = Parameter.Substring(1, Parameter.Length - 3); var queryParam = keyValue.ToJObject(); List<DbParameter> parameter = new List<DbParameter>(); var Sys_LablesID = queryParam["Sys_LablesID"].ToString(); List<PrintPara> parasList = new List<PrintPara>(); keyValue = keyValue.Substring(1, keyValue.Length - 2); string sqlValue = @"select LableSourceID,FileAddress from Sys_Lables where ID='{0}'"; sqlValue = string.Format(sqlValue, Sys_LablesID); DataRow drV = SqlHelper.GetDataRowBySql(sqlValue); string LableSourceID = drV["LableSourceID"].ToString(); string FileAddress = drV["FileAddress"].ToString(); string sqlLableDataSource = @"SELECT ID,WorkPointCode,OtherDataBaseID,WorkPointDataFlag,
SysDataFlag,SqlTxt,SourceName,FormatSqlTxt,Paras,DbParas,LinkCols,CreateUserID, CreateDate,ModifyUserID,ModifyDate,Link2Cols FROM dbo.Sys_LableDataSource where ID='{0}'";
sqlLableDataSource = string.Format(sqlLableDataSource, LableSourceID); DataRow dr = SqlHelper.GetDataRowBySql(sqlLableDataSource); #region 打印
//string[] PrintParas = Parameter.Split('|');
//string LinkCols = string.Empty;
//foreach (var p in PrintParas)
//{
// sqltxt = dr["SqlTxt"].ToString();
// LinkCols= dr["LinkCols"].ToString();
// if (dr["Paras"].ToString() != "")
// {
// string[] ps = dr["Paras"].ToString().Split(',');
// for (int i = 0; i < ps.Length; i++)
// {
// if (!string.IsNullOrEmpty(ps[i]))
// {
// sqltxt = sqltxt.Replace(ps[i], p.ToString());
// }
// }
// }
// if (sqltxt.Contains("[WorkPoint]"))
// {
// sqltxt = sqltxt.Replace("[WorkPoint]", WorkPoint);
// }
//}
#endregion
string[] PrintParas = Parameter.Split('|'); string LinkCols = string.Empty; sqltxt = dr["SqlTxt"].ToString(); LinkCols = dr["LinkCols"].ToString(); if (dr["Paras"].ToString() != "") { string[] ps = dr["Paras"].ToString().Split(','); for (int i = 0; i < ps.Length; i++) { if (!string.IsNullOrEmpty(ps[i])) { sqltxt = sqltxt.Replace(ps[i], PrintParas[i]); } } } if (sqltxt.Contains("[WorkPoint]")) { sqltxt = sqltxt.Replace("[WorkPoint]", WorkPoint); } string strPrintFileName = Server.MapPath("/File/LablesFile/") + "" + FileAddress + ""; PrintJson pJson = new PrintJson(Server.MapPath("./PrintTemp"), strPrintFileName); pJson.CheckRegister("苏州智合诚信息科技有限公司", "56DD3B4C172D0D140841CAC98A58A819F4E28EDA5D6E45711DDD64F6A439F68B6A7870CD7DAFD69A919CB870207FE4BB206F92BE3D53C221B019E0797E739EBA4"); //注册信息
if (LinkCols != "") { pJson.MasterOptions(1, "" + LinkCols + "", false); //主从关系
}
//pJson.CheckRegister("注册姓名", "8ECCCD6A1302DFEE1A6456A5D"); //注册信息
//pJson.AddPrintParam("ShopName", "测试酒楼");
//pJson.AddPrintParam("PrintDepositAdd", "说明:本单据为贵客押金收取凭证,盖章有效。退房时请出示,遗失者自负,请妥善保存。退房时间为12:00时,延时退房18:00时以前按半天房费收取,18:00时以后算全天房价。押金单有效期为一个月,过期作废。 贵重物品请交前台寄存,未寄存丢失自负。 谢谢!");
SetCookieAndURL(pJson);// 设置控件调用的Cookie值,判断是否安装了打印控件
string strSql = sqltxt;
//DataTable dtCashLog = DbHelper.ExecuteTable(DbHelper.ConnectionString, CommandType.Text, strSql, true, null);
DataSet dtCashLog = DbHelper.GetDataSet(CommandType.Text, strSql); DataTable dt1 = null; DataTable dt2 = null; DataTable dt3 = null; string strPrintTempFile = ""; if (dtCashLog.Tables.Count > 0 && dtCashLog.Tables.Count <= 1) { dt1 = dtCashLog.Tables[0]; DataTable jieguo = new DataTable(); int dtCashLogCount = dt1.Columns.Count * 2;
for (int s = 1; s < 3; s++) { int Count = 0; foreach (DataColumn column in dt1.Columns) { if (Count == dt1.Columns.Count) { break; } jieguo.Columns.Add(column.ColumnName + s); Count++; } } string[] array2D = new string[dt1.Rows[0].ItemArray.ToList().Count]; // 假设这是一个3x3的二维数组
int rows = array2D.GetLength(0); // 获取行数
// 添加新行,所有元素设置为"N/A"
for (int i = 0; i < rows; i++) { array2D[i] = " "; } // 遍历DataTable的每一行
for (int i = 0; i < dt1.Rows.Count; i++) { var param = dt1.Rows[i].ItemArray.ToList(); i++; if (i < dt1.Rows.Count) { param.AddRange(dt1.Rows[i].ItemArray.ToList()); } else { param.AddRange(array2D); } jieguo.Rows.Add(param.ToArray()); } strPrintTempFile = pJson.ShowReport(jieguo); } if (dtCashLog.Tables.Count > 1 && dtCashLog.Tables.Count <= 2) { dt1 = dtCashLog.Tables[0]; dt2 = dtCashLog.Tables[1]; strPrintTempFile = pJson.ShowReport(dt1, dt2); } if (dtCashLog.Tables.Count > 2) { dt1 = dtCashLog.Tables[0]; dt2 = dtCashLog.Tables[1]; dt3 = dtCashLog.Tables[2]; strPrintTempFile = pJson.ShowReport(dt1, dt2, dt3); }
//string strPrintTempFile = pJson.ShowReport(dt1, dt2); //产生JSON文件内容
//把服务器的URL + 此文件名 传递给控件,由控件下载还原数据进行打印
string strServerURL = GetUrlPath() + "PrintTemp/"; string strData = strServerURL + strPrintTempFile;
strPrintData = PrintFunction.EnBase64(strData);
var JsonData = new { strPrintData_1 = strPrintData, bIsInstallPrintControl_1 = bIsInstallPrintControl, strPrintControlCookie_1 = strPrintControlCookie }; //多站点
//string sql = @"UPDATE dbo.ICSInventoryLot
// SET PrintTimes=ISNULL(PrintTimes,0)+1,
// LastPrintUser='',
// LastPrintTime=GETDATE()
// WHERE ID IN (" + keyValue.TrimEnd(',') + ") and WorkPoint in ('" + WorkPoint.TrimEnd(',') + "')";
//SqlHelper.ExecuteNonQuery(sql);
return Content(JsonData.ToJson()); }
//条码打印(专属)
[HttpPost] [HandlerAjaxOnly] public ActionResult PrintByLot(string keyValue, string Parameter) { string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode; string WorkPoint = "" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ""; string sqltxt = ""; Parameter = Parameter.Substring(1, Parameter.Length - 3); var queryParam = keyValue.ToJObject(); List<DbParameter> parameter = new List<DbParameter>(); var Sys_LablesID = queryParam["Sys_LablesID"].ToString(); List<PrintPara> parasList = new List<PrintPara>(); keyValue = keyValue.Substring(1, keyValue.Length - 2); string sqlValue = @"select LableSourceID,FileAddress,LableCode,LableName from Sys_Lables where ID='{0}'"; sqlValue = string.Format(sqlValue, Sys_LablesID); DataRow drV = SqlHelper.GetDataRowBySql(sqlValue); string LableSourceID = drV["LableSourceID"].ToString(); string FileAddress = drV["FileAddress"].ToString(); string LableCode = drV["LableCode"].ToString(); string LableName = drV["LableName"].ToString(); string sqlLableDataSource = @"SELECT ID,WorkPointCode,OtherDataBaseID,WorkPointDataFlag,
SysDataFlag,SqlTxt,SourceName,FormatSqlTxt,Paras,DbParas,LinkCols,CreateUserID, CreateDate,ModifyUserID,ModifyDate,Link2Cols FROM dbo.Sys_LableDataSource where ID='{0}'";
sqlLableDataSource = string.Format(sqlLableDataSource, LableSourceID); DataRow dr = SqlHelper.GetDataRowBySql(sqlLableDataSource); #region 打印
//string[] PrintParas = Parameter.Split('|');
//string LinkCols = string.Empty;
//foreach (var p in PrintParas)
//{
// sqltxt = dr["SqlTxt"].ToString();
// LinkCols= dr["LinkCols"].ToString();
// if (dr["Paras"].ToString() != "")
// {
// string[] ps = dr["Paras"].ToString().Split(',');
// for (int i = 0; i < ps.Length; i++)
// {
// if (!string.IsNullOrEmpty(ps[i]))
// {
// sqltxt = sqltxt.Replace(ps[i], p.ToString());
// }
// }
// }
// if (sqltxt.Contains("[WorkPoint]"))
// {
// sqltxt = sqltxt.Replace("[WorkPoint]", WorkPoint);
// }
//}
#endregion
var PrintValue = Parameter.Split('|'); string[] ValueParameters = PrintValue[0].Split(','); string[] PrintParas = Parameter.Split('|'); string LinkCols = string.Empty; sqltxt = dr["SqlTxt"].ToString(); LinkCols = dr["LinkCols"].ToString(); string SourceName = dr["SourceName"].ToString(); string Paras = dr["Paras"].ToString(); if (dr["Paras"].ToString() != "") { string[] ps = dr["Paras"].ToString().Split(','); for (int i = 0; i < ps.Length; i++) { if (!string.IsNullOrEmpty(ps[i])) { sqltxt = sqltxt.Replace(ps[i], PrintParas[i]); } } } if (sqltxt.Contains("[WorkPoint]")) { sqltxt = sqltxt.Replace("[WorkPoint]", WorkPoint); } string strPrintFileName = Server.MapPath("/File/LablesFile/") + "" + FileAddress + ""; PrintJson pJson = new PrintJson(Server.MapPath("./PrintTemp"), strPrintFileName); pJson.CheckRegister("苏州智合诚信息科技有限公司", "56DD3B4C172D0D140841CAC98A58A819F4E28EDA5D6E45711DDD64F6A439F68B6A7870CD7DAFD69A919CB870207FE4BB206F92BE3D53C221B019E0797E739EBA4"); //注册信息
if (LinkCols != "") { pJson.MasterOptions(1, "" + LinkCols + "", false); //主从关系
}
//pJson.CheckRegister("注册姓名", "8ECCCD6A1302DFEE1A6456A5D"); //注册信息
//pJson.AddPrintParam("ShopName", "测试酒楼");
//pJson.AddPrintParam("PrintDepositAdd", "说明:本单据为贵客押金收取凭证,盖章有效。退房时请出示,遗失者自负,请妥善保存。退房时间为12:00时,延时退房18:00时以前按半天房费收取,18:00时以后算全天房价。押金单有效期为一个月,过期作废。 贵重物品请交前台寄存,未寄存丢失自负。 谢谢!");
SetCookieAndURL(pJson);// 设置控件调用的Cookie值,判断是否安装了打印控件
string strSql = sqltxt;
//DataTable dtCashLog = DbHelper.ExecuteTable(DbHelper.ConnectionString, CommandType.Text, strSql, true, null);
DataSet dtCashLog = DbHelper.GetDataSet(CommandType.Text, strSql); DataTable dt1 = null; DataTable dt2 = null; DataTable dt3 = null; string strPrintTempFile = ""; if (dtCashLog.Tables.Count > 0 && dtCashLog.Tables.Count <= 1) { dt1 = dtCashLog.Tables[0]; strPrintTempFile = pJson.ShowReport(dt1); } if (dtCashLog.Tables.Count > 1 && dtCashLog.Tables.Count <= 2) { dt1 = dtCashLog.Tables[0]; dt2 = dtCashLog.Tables[1]; strPrintTempFile = pJson.ShowReport(dt1, dt2); } if (dtCashLog.Tables.Count > 2) { dt1 = dtCashLog.Tables[0]; dt2 = dtCashLog.Tables[1]; dt3 = dtCashLog.Tables[2]; strPrintTempFile = pJson.ShowReport(dt1, dt2, dt3); }
//string strPrintTempFile = pJson.ShowReport(dt1, dt2); //产生JSON文件内容
//把服务器的URL + 此文件名 传递给控件,由控件下载还原数据进行打印
string strServerURL = GetUrlPath() + "PrintTemp/"; string strData = strServerURL + strPrintTempFile;
strPrintData = PrintFunction.EnBase64(strData);
var JsonData = new { strPrintData_1 = strPrintData, bIsInstallPrintControl_1 = bIsInstallPrintControl, strPrintControlCookie_1 = strPrintControlCookie }; string sql = string.Empty; for (int i = 0; i < ValueParameters.Length; i++) { // 打印记录
sql += @"insert into Sys_LableTask (ID, LableCode, LableName, PrintTableID, PrintTableName, PrintKey, ValueParameters, PrintDate, PrintUserCode, WorkPoint)
values(newid(),'{0}','{1}','{2}','{3}','{4}',{5},getdate(),'{6}',{7})";
//修改条码表打印信息
sql += @"UPDATE dbo.ICSInventoryLot
SET PrintTimes=ISNULL(PrintTimes,0)+1, LastPrintUser='" + MUSER + @"', LastPrintTime=GETDATE() WHERE ID = " + ValueParameters[i].ToString() + " and WorkPoint in (" + WorkPoint + ")";
sql = string.Format(sql, LableCode, LableName, LableSourceID, SourceName, Paras, ValueParameters[i].ToString(), MUSER, WorkPoint); } SqlHelper.CmdExecuteNonQueryLi(sql); return Content(JsonData.ToJson()); }
//打印
[HttpPost] [HandlerAjaxOnly] public ActionResult PrintByStatements(string keyValue, string Parameter) { string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode; string WorkPoint = "'" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + "'"; string sqltxt = ""; Parameter = Parameter.Substring(2, Parameter.Length - 3); var queryParam = keyValue.ToJObject(); List<DbParameter> parameter = new List<DbParameter>(); var Sys_LablesID = queryParam["Sys_LablesID"].ToString(); List<PrintPara> parasList = new List<PrintPara>(); keyValue = keyValue.Substring(1, keyValue.Length - 2); string sqlValue = @"select LableSourceID,FileAddress,LableCode,LableName from Sys_Lables where ID='{0}'"; sqlValue = string.Format(sqlValue, Sys_LablesID); DataRow drV = SqlHelper.GetDataRowBySql(sqlValue); string LableSourceID = drV["LableSourceID"].ToString(); string FileAddress = drV["FileAddress"].ToString(); string LableCode = drV["LableCode"].ToString(); string LableName = drV["LableName"].ToString(); string sqlLableDataSource = @"SELECT ID,WorkPointCode,OtherDataBaseID,WorkPointDataFlag,
SysDataFlag,SqlTxt,SourceName,FormatSqlTxt,Paras,DbParas,LinkCols,CreateUserID, CreateDate,ModifyUserID,ModifyDate,Link2Cols FROM dbo.Sys_LableDataSource where ID='{0}'";
sqlLableDataSource = string.Format(sqlLableDataSource, LableSourceID); DataRow dr = SqlHelper.GetDataRowBySql(sqlLableDataSource); #region 打印
//string[] PrintParas = Parameter.Split('|');
//string LinkCols = string.Empty;
//foreach (var p in PrintParas)
//{
// sqltxt = dr["SqlTxt"].ToString();
// LinkCols= dr["LinkCols"].ToString();
// if (dr["Paras"].ToString() != "")
// {
// string[] ps = dr["Paras"].ToString().Split(',');
// for (int i = 0; i < ps.Length; i++)
// {
// if (!string.IsNullOrEmpty(ps[i]))
// {
// sqltxt = sqltxt.Replace(ps[i], p.ToString());
// }
// }
// }
// if (sqltxt.Contains("[WorkPoint]"))
// {
// sqltxt = sqltxt.Replace("[WorkPoint]", WorkPoint);
// }
//}
#endregion
var PrintValue = Parameter.Split('|'); string[] ValueParameters = PrintValue[0].Split(','); string[] PrintParas = Parameter.Split('|'); string LinkCols = string.Empty; sqltxt = dr["SqlTxt"].ToString(); LinkCols = dr["LinkCols"].ToString(); string SourceName = dr["SourceName"].ToString(); string Paras = dr["Paras"].ToString(); if (dr["Paras"].ToString() != "") { string[] ps = dr["Paras"].ToString().Split(','); for (int i = 0; i < ps.Length; i++) { if (!string.IsNullOrEmpty(ps[i])) { sqltxt = sqltxt.Replace(ps[i], PrintParas[i]); } } } if (sqltxt.Contains("[WorkPoint]")) { sqltxt = sqltxt.Replace("[WorkPoint]", WorkPoint); } string strPrintFileName = Server.MapPath("/File/LablesFile/") + "" + FileAddress + ""; PrintJson pJson = new PrintJson(Server.MapPath("./PrintTemp"), strPrintFileName); pJson.CheckRegister("苏州智合诚信息科技有限公司", "56DD3B4C172D0D140841CAC98A58A819F4E28EDA5D6E45711DDD64F6A439F68B6A7870CD7DAFD69A919CB870207FE4BB206F92BE3D53C221B019E0797E739EBA4"); //注册信息
if (LinkCols != "") { pJson.MasterOptions(1, "" + LinkCols + "", false); //主从关系
}
//pJson.CheckRegister("注册姓名", "8ECCCD6A1302DFEE1A6456A5D"); //注册信息
//pJson.AddPrintParam("ShopName", "测试酒楼");
//pJson.AddPrintParam("PrintDepositAdd", "说明:本单据为贵客押金收取凭证,盖章有效。退房时请出示,遗失者自负,请妥善保存。退房时间为12:00时,延时退房18:00时以前按半天房费收取,18:00时以后算全天房价。押金单有效期为一个月,过期作废。 贵重物品请交前台寄存,未寄存丢失自负。 谢谢!");
SetCookieAndURL(pJson);// 设置控件调用的Cookie值,判断是否安装了打印控件
string strSql = sqltxt;
//DataTable dtCashLog = DbHelper.ExecuteTable(DbHelper.ConnectionString, CommandType.Text, strSql, true, null);
DataSet dtCashLog = DbHelper.GetDataSet(CommandType.Text, strSql); DataTable dt1 = null; DataTable dt2 = null; DataTable dt3 = null; string strPrintTempFile = ""; if (dtCashLog.Tables.Count > 0 && dtCashLog.Tables.Count <= 1) { dt1 = dtCashLog.Tables[0]; strPrintTempFile = pJson.ShowReport(dt1); } if (dtCashLog.Tables.Count > 1 && dtCashLog.Tables.Count <= 2) { dt1 = dtCashLog.Tables[0]; dt2 = dtCashLog.Tables[1]; strPrintTempFile = pJson.ShowReport(dt1, dt2); } if (dtCashLog.Tables.Count > 2) { dt1 = dtCashLog.Tables[0]; dt2 = dtCashLog.Tables[1]; dt3 = dtCashLog.Tables[2]; strPrintTempFile = pJson.ShowReport(dt1, dt2, dt3); }
//string strPrintTempFile = pJson.ShowReport(dt1, dt2); //产生JSON文件内容
//把服务器的URL + 此文件名 传递给控件,由控件下载还原数据进行打印
string strServerURL = GetUrlPath() + "PrintTemp/"; string strData = strServerURL + strPrintTempFile;
strPrintData = PrintFunction.EnBase64(strData);
var JsonData = new { strPrintData_1 = strPrintData, bIsInstallPrintControl_1 = bIsInstallPrintControl, strPrintControlCookie_1 = strPrintControlCookie }; string sql = string.Empty; for (int i = 0; i < ValueParameters.Length; i++) { // 打印记录
sql += @"insert into Sys_LableTask (ID, LableCode, LableName, PrintTableID, PrintTableName, PrintKey, ValueParameters, PrintDate, PrintUserCode, WorkPoint)
values(newid(),'{0}','{1}','{2}','{3}','{4}',{5},getdate(),'{6}',{7})";
sql = string.Format(sql, LableCode, LableName, LableSourceID, SourceName, Paras, ValueParameters[i].ToString(), MUSER, WorkPoint); } SqlHelper.CmdExecuteNonQueryLi(sql);
//多站点
//string sql = @"UPDATE dbo.ICSInventoryLot
// SET PrintTimes=ISNULL(PrintTimes,0)+1,
// LastPrintUser='',
// LastPrintTime=GETDATE()
// WHERE ID IN (" + keyValue.TrimEnd(',') + ") and WorkPoint in ('" + WorkPoint.TrimEnd(',') + "')";
//SqlHelper.ExecuteNonQuery(sql);
return Content(JsonData.ToJson()); }
} }
|