You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
304 lines
13 KiB
304 lines
13 KiB
using Newtonsoft.Json;
|
|
using NFine.Code;
|
|
using NFine.Data.Extensions;
|
|
using NFine.Domain._03_Entity.SRM;
|
|
using NFine.Repository;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Configuration;
|
|
using System.Data;
|
|
using System.Data.Common;
|
|
using System.Data.SqlClient;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Web;
|
|
|
|
namespace NFine.Application.SRM
|
|
{
|
|
public class ICSSrmportAlnoticeApp : RepositoryFactory<ICSVendor>
|
|
{
|
|
/// <summary>
|
|
/// 查询公告信息
|
|
/// </summary>
|
|
/// <param name="queryJson"></param>
|
|
/// <param name="jqgridparam"></param>
|
|
/// <returns></returns>
|
|
public DataTable GetGridJson(string queryJson, ref Pagination jqgridparam)
|
|
{
|
|
DataTable dt = new DataTable();
|
|
var queryParam = queryJson.ToJObject();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
string sql = @"select
|
|
NoticeContent,
|
|
NoticeID,
|
|
NoticeTitle,
|
|
NoticeType,
|
|
CONVERT(NVARCHAR(20),NoValidDate,23) AS NoValidDate,
|
|
Status,
|
|
UserCode,
|
|
VendorStatus,
|
|
ViewCount,
|
|
VISIBility,
|
|
CASE when IsOutPottal='1' THEN '是'ELSE '否' END IsOutPottal,
|
|
CONVERT(NVARCHAR(20),CreateDate,23) AS CreateDate
|
|
from ICSSRMPORTALNOTICE Where 1=1 ";
|
|
if (!string.IsNullOrWhiteSpace(queryJson))
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(queryParam["NoticeContent"].ToString()))
|
|
{
|
|
sql += " and NoticeContent like '%" + queryParam["NoticeContent"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["NoticeTitle"].ToString()))
|
|
{
|
|
sql += " and NoticeTitle like '%" + queryParam["NoticeTitle"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["TimeFrom"].ToString()))
|
|
{
|
|
sql += " and a.StarTime >= '" + queryParam["TimeFrom"].ToString() + "' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["TimeTo"].ToString()))
|
|
{
|
|
sql += " and a.EndTime <= '" + queryParam["TimeTo"].ToString() + "' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["Status"].ToString()))
|
|
{
|
|
sql += " and a.Status ='" + queryParam["Status"].ToString() + "'";
|
|
|
|
}
|
|
}
|
|
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
|
|
}
|
|
/// <summary>
|
|
/// 获取数据字典中维护的公告类型
|
|
/// </summary>
|
|
/// <param name="WorkPoint"></param>
|
|
/// <returns></returns>
|
|
public DataTable GetNOTICETYPE()
|
|
{
|
|
string ItemCode = string.Empty;
|
|
string F_EnCode = "";
|
|
string sqlItem = @"SELECT '' as F_ItemCode,'' as F_ItemName
|
|
Union
|
|
select F_ItemCode,b.F_ItemName from [dbo].[Sys_SRM_Items] a
|
|
LEFT JOIN [dbo].[Sys_SRM_ItemsDetail] b on a.F_Id=b.F_itemID
|
|
where F_EnCode='NOTICETYPE'";
|
|
sqlItem = string.Format(sqlItem, F_EnCode);
|
|
|
|
DataTable table = SqlHelper.GetDataTableBySql(sqlItem);
|
|
return table;
|
|
}
|
|
/// <summary>
|
|
/// 保存公告
|
|
/// </summary>
|
|
/// <param name="queryJson"></param>
|
|
/// <param name="ID"></param>
|
|
public void SubmitSrmportAlnotice(string queryJson, string ID)
|
|
{
|
|
try
|
|
{
|
|
DataTable dt = new DataTable();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
ICSSRMPORTALNOTICEModel[] list = JsonConvert.DeserializeObject<ICSSRMPORTALNOTICEModel[]>(queryJson);
|
|
string sql = string.Empty;
|
|
string connString = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
|
|
SqlConnection conn = new System.Data.SqlClient.SqlConnection(connString);
|
|
conn.Open();
|
|
SqlTransaction sqlTran = conn.BeginTransaction();
|
|
SqlCommand cmd = new SqlCommand();
|
|
cmd.Transaction = sqlTran;
|
|
cmd.Connection = conn;
|
|
try
|
|
{
|
|
string UserCode = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.Replace("'", "");
|
|
foreach (var obj in list)
|
|
{
|
|
sql = @"IF NOT EXISTS(SELECT * FROM dbo.ICSSRMPORTALNOTICE WHERE NoticeID=@ID)
|
|
BEGIN
|
|
INSERT INTO dbo.ICSSRMPORTALNOTICE
|
|
(CompanyCode
|
|
,CreateDate
|
|
,CreateUser
|
|
,IsOutPottal
|
|
,LogDate
|
|
,LogUser
|
|
,NoticeContent
|
|
,NoticeTitle
|
|
,NoticeType
|
|
,NoValidDate
|
|
,Status
|
|
,UserCode
|
|
,VendorStatus
|
|
,ViewCount
|
|
,VISIBility
|
|
,NOTICEID
|
|
)
|
|
VALUES
|
|
(
|
|
@CompanyCode
|
|
,@CreateDate
|
|
,@CreateUser
|
|
,@IsOutPottal
|
|
,@LogDate
|
|
,@LogUser
|
|
,@NoticeContent
|
|
,@NoticeTitle
|
|
,@NoticeType
|
|
,@NoValidDate
|
|
,@Status
|
|
,@UserCode
|
|
,@VendorStatus
|
|
,@ViewCount
|
|
,@VISIBility
|
|
,NEWID()
|
|
)
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
UPDATE dbo.ICSSRMPORTALNOTICE SET
|
|
CompanyCode=@CompanyCode
|
|
,CreateDate=@CreateDate
|
|
,CreateUser=@CreateUser
|
|
,IsOutPottal=@IsOutPottal
|
|
,LogDate=@LogDate
|
|
,LogUser=@LogUser
|
|
,NoticeContent=@NoticeContent
|
|
,NoticeTitle=@NoticeTitle
|
|
,NoticeType=@NoticeType
|
|
,NoValidDate=@NoValidDate
|
|
,UserCode=@UserCode
|
|
,VendorStatus=@VendorStatus
|
|
,VISIBility=@VISIBility
|
|
WHERE NOTICEID=@ID
|
|
END";
|
|
SqlParameter[] sp_Detail = {
|
|
new SqlParameter("@CompanyCode",obj.CompanyCode),
|
|
new SqlParameter("@CreateDate",DateTime.Now.ToString("yyyy-MM-dd")),
|
|
new SqlParameter("@CreateUser",UserCode),
|
|
new SqlParameter("@IsOutPottal",obj.IsOutPottal),
|
|
new SqlParameter("@LogDate",DateTime.Now.ToString("yyyy-MM-dd")),
|
|
new SqlParameter("@LogUser",UserCode),
|
|
new SqlParameter("@NoticeContent",obj.NoticeContent),
|
|
new SqlParameter("@NoticeTitle",obj.NoticeTitle),
|
|
new SqlParameter("@NoticeType",obj.NoticeType),
|
|
new SqlParameter("@NoValidDate",obj.NoValidDate),
|
|
new SqlParameter("@ID",ID),
|
|
new SqlParameter("@Status", obj.Status==""||obj.Status==null?"0":obj.Status),
|
|
new SqlParameter("@UserCode",UserCode),
|
|
new SqlParameter("@VendorStatus",obj.VendorStatus),
|
|
new SqlParameter("@ViewCount",1),
|
|
new SqlParameter("@VISIBility",obj.VISIBility),
|
|
|
|
};
|
|
SqlCommandHelper.CmdExecuteNonQuery(sql, sp_Detail, cmd);
|
|
}
|
|
cmd.Transaction.Commit();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
cmd.Transaction.Rollback();
|
|
throw new Exception(ex.Message);
|
|
}
|
|
finally
|
|
{
|
|
if (conn.State == ConnectionState.Open)
|
|
{
|
|
conn.Close();
|
|
}
|
|
conn.Dispose();
|
|
}
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.Message);
|
|
}
|
|
}
|
|
/// <summary>
|
|
/// 删除公告信息
|
|
/// </summary>
|
|
/// <param name="NoticeID"></param>
|
|
/// <returns></returns>
|
|
public string DeleteSrmportAlnotice(string NoticeID)
|
|
{
|
|
string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
string MUSERName = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
|
|
NoticeID = NoticeID.TrimStart('"').TrimEnd('"').TrimEnd(',');
|
|
|
|
string sql = string.Empty;
|
|
sql = @"delete FROM ICSSRMPORTALNOTICE where NOTICEID in ({0})";
|
|
sql = string.Format(sql, NoticeID);
|
|
string msg = "";
|
|
try
|
|
{
|
|
SqlHelper.ExecuteNonQuery(sql);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
msg = ex.Message;
|
|
}
|
|
return msg;
|
|
|
|
}
|
|
/// <summary>
|
|
/// 修改时获取维护信息
|
|
/// </summary>
|
|
/// <param name="POCode"></param>
|
|
/// <param name="PORow"></param>
|
|
/// <param name="WorkPoint"></param>
|
|
/// <returns></returns>
|
|
public DataTable ICSSrmportAlnoticeByCreate(string NoticeID)
|
|
{
|
|
DataTable dt = new DataTable();
|
|
//var queryParam = queryJson.ToJObject();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
string sql = string.Empty;
|
|
sql = @"select
|
|
NoticeContent,
|
|
NoticeID,
|
|
NoticeTitle,
|
|
NoticeType,
|
|
NoValidDate,
|
|
Status,
|
|
UserCode,
|
|
VendorStatus,
|
|
ViewCount,
|
|
VISIBility,
|
|
IsOutPottal,
|
|
CreateDate
|
|
,COMPANYCODE
|
|
from ICSSRMPORTALNOTICE Where 1=1 ";
|
|
sql += " and NoticeID='" + NoticeID + "'";
|
|
return Repository().FindTableBySql(sql.ToString());
|
|
}
|
|
public object ImportOrder()
|
|
{
|
|
HttpPostedFile oFile = HttpContext.Current.Request.Files["txt_file"];
|
|
|
|
//获取送货单号
|
|
//string STNO = Request.Form["STNO"].ToString();
|
|
string fileName = Path.GetFileNameWithoutExtension(oFile.FileName)
|
|
+ Path.GetExtension(oFile.FileName);
|
|
string Paths = System.Web.HttpContext.Current.Server.MapPath("~\\File\\GGFile\\" );
|
|
if (!Directory.Exists(Paths))
|
|
{
|
|
Directory.CreateDirectory(Paths);
|
|
}
|
|
string filePath = System.Web.HttpContext.Current.Server.MapPath("~\\File\\GGFile\\" + fileName);
|
|
|
|
int iLen = oFile.ContentLength;
|
|
byte[] bData = new byte[iLen];
|
|
oFile.InputStream.Read(bData, 0, iLen);
|
|
FileStream fs = new FileStream(filePath, FileMode.OpenOrCreate);
|
|
fs.Write(bData, 0, bData.Length);
|
|
fs.Flush();
|
|
fs.Close();
|
|
fs.Dispose();
|
|
return "";
|
|
|
|
}
|
|
}
|
|
}
|