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.
561 lines
30 KiB
561 lines
30 KiB
using Newtonsoft.Json;
|
|
using NFine.Code;
|
|
using NFine.Data.Extensions;
|
|
using NFine.Domain._03_Entity.SRM;
|
|
using NFine.Domain.Entity.ProductManage;
|
|
using NFine.Domain.IRepository.ProductManage;
|
|
using NFine.Repository;
|
|
using NFine.Repository.ProductManage;
|
|
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.Net;
|
|
using System.Net.Mail;
|
|
using System.Net.Security;
|
|
using System.Security.Cryptography.X509Certificates;
|
|
using System.Text;
|
|
|
|
namespace NFine.Application.SRM
|
|
{
|
|
public class POSignBacksApp : RepositoryFactory<ICSPO_PoMain>
|
|
{
|
|
public DataTable GetGridJson(string queryJson, ref Pagination jqgridparam)
|
|
{
|
|
DataTable dt = new DataTable();
|
|
var queryParam = queryJson.ToJObject();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
string EATTRIBUTE = SqlHelper.GetEATTRIBUTE("ICSPurchaseOrder","a").TrimEnd(',');
|
|
string sql = @" SELECT DISTINCT POCode
|
|
,CONVERT(NVARCHAR(15),CreateDateTime,23) AS PODate
|
|
,c.ProjectCode
|
|
,a.VenCode
|
|
,d.VenName
|
|
,CreatePerson
|
|
,a.Filename AS Filename
|
|
,a.uploadcomment AS uploadcomment
|
|
,MAX(a.uploadFrequency) AS uploadFrequency
|
|
,MAX(a.DownloadFrequency) AS DownloadFrequency
|
|
,case when a.SignBackStatus=1 or ISNULL(a.SignBackStatus,'')='' then '未回签' WHEN a.SignBackStatus=2 then '待确认'WHEN a.SignBackStatus=3 then '已确认'WHEN a.SignBackStatus=4 then '退回' END as signBackstate
|
|
,a.WorkPoint
|
|
,a.BackComment
|
|
,case when a.SignBackStatus=1 or ISNULL(a.SignBackStatus,'')='' then '未回签' WHEN a.SignBackStatus=2 then '待确认'WHEN a.SignBackStatus=3 then '已确认'WHEN a.SignBackStatus=4 then '退回' END as STATUS
|
|
," + EATTRIBUTE + "";
|
|
sql+=@" FROM dbo.ICSPurchaseOrder a
|
|
LEFT JOIN ICSINVENTORY b on a.InvCode=b.INVCODE and a.WorkPoint=b.WorkPoint
|
|
LEFT JOIN dbo.ICSExtension c ON a.ExtensionID=c.ID AND a.WorkPoint=c.WorkPoint
|
|
LEFT JOIN dbo.ICSVendor d ON a.VenCode=d.VenCode AND a.WorkPoint=d.WorkPoint
|
|
WHERE 1=1 and a.ReleaseState='1' --and a.Status<>'3'
|
|
";
|
|
if (!string.IsNullOrWhiteSpace(queryJson))
|
|
{
|
|
// if (!string.IsNullOrWhiteSpace(queryParam["ORDERNO"].ToString()))
|
|
//{
|
|
// sql += " and ORDERNO like '%" + queryParam["ORDERNO"].ToString() + "%' ";
|
|
//}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
|
|
{
|
|
sql += " and a.POCode like '%" + queryParam["POCode"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["BeginDate"].ToString()))
|
|
{
|
|
sql += " and a.CreateDateTime >='" + queryParam["BeginDate"].ToString() + "' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["EndDate"].ToString()))
|
|
{
|
|
sql += " and a.CreateDateTime <='" + queryParam["EndDate"].ToString() + "'";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["VenCode"].ToString()))
|
|
{
|
|
sql += " and a.VenCode like '%" + queryParam["VenCode"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["VenName"].ToString()))
|
|
{
|
|
sql += " and d.VenName like '%" + queryParam["VenName"].ToString() + "%'";
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
|
|
{
|
|
sql += " and b.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["InvName"].ToString()))
|
|
{
|
|
sql += " and b.InvName like '%" + queryParam["InvName"].ToString() + "%'";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["EATTRIBUTE12"].ToString()))
|
|
{
|
|
sql += " and a.EATTRIBUTE12 like '%" + queryParam["EATTRIBUTE12"].ToString() + "%'";
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(queryParam["U8Status"].ToString()))
|
|
{
|
|
string U8Status = queryParam["U8Status"].ToString();
|
|
if (U8Status == "0")
|
|
sql += " and isnull(Status,'')<>'3'";
|
|
else if (U8Status == "2")
|
|
sql += " and isnull(Status,'')='3'";
|
|
}
|
|
//if (!string.IsNullOrWhiteSpace(queryParam["CreatePerson"].ToString()))
|
|
//{
|
|
// sql += " and CreatePerson like '%" + queryParam["CreatePerson"].ToString() + "%'";
|
|
//}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["ReleaseState"].ToString()))
|
|
{
|
|
string ReleaseState = queryParam["ReleaseState"].ToString();
|
|
if (ReleaseState == "1")
|
|
sql += " and a.SignBackStatus = '1'";
|
|
else if (ReleaseState == "2")
|
|
sql += " and a.SignBackStatus = '2'";
|
|
else if (ReleaseState == "3")
|
|
sql += " and a.SignBackStatus = '3'";
|
|
else if (ReleaseState == "0")
|
|
sql += " and (ISNULL(a.SignBackStatus,'') = ''OR ISNULL(a.SignBackStatus,'') = '1')";
|
|
else if (ReleaseState == "4")
|
|
{
|
|
sql += " and ISNULL(a.SignBackStatus,0) = '4'";
|
|
}
|
|
}
|
|
if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode.Contains("Vendor"))
|
|
{
|
|
sql += " and a.VenCode in (SELECT VenCode FROM ICSVendor where VenName ='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserName + "' AND a.WorkPoint=ICSVendor.WorkPoint)";
|
|
}
|
|
//else
|
|
//{
|
|
// if (NFine.Code.OperatorProvider.Provider.GetCurrent().IsSystem == false)
|
|
// {
|
|
// sql += " and CreatePerson='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserName + "'";
|
|
// }
|
|
//}
|
|
|
|
string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
sql += " and a.WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")";
|
|
sql += @"
|
|
GROUP BY POCode,CreateDateTime,c.ProjectCode,a.VenCode,d.VenName,a.SignBackStatus,CreatePerson,a.Filename,a.uploadcomment,a.BackComment,a.WorkPoint,ArriveDate ,a.EATTRIBUTE7,a.EATTRIBUTE8,
|
|
a.EATTRIBUTE9,a.EATTRIBUTE10 ,a.EATTRIBUTE11 ,a.EATTRIBUTE12 ";
|
|
}
|
|
|
|
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
|
|
}
|
|
public string ChridenList(string keyValue, string WorkPoint)
|
|
{
|
|
keyValue = keyValue.Substring(1, keyValue.Length - 2);
|
|
WorkPoint = WorkPoint.Substring(1, WorkPoint.Length - 2);
|
|
string msg = "";
|
|
string sql = "SELECT ArriveDate,Status FROM dbo.ICSPurchaseOrder WHERE PoCode='{0}' and WorkPoint='{1}'";
|
|
sql = string.Format(sql, keyValue, WorkPoint);
|
|
DataTable dt = SqlHelper.GetDataTableBySql(sql);
|
|
for (int i = 0; i < dt.Rows.Count; i++)
|
|
{
|
|
if (dt.Rows[i]["Status"].ToString() != "3")//判断是否关闭
|
|
{
|
|
if (dt.Rows[i]["ArriveDate"].ToString() == "" || dt.Rows[i]["ArriveDate"].ToString() == null)
|
|
{
|
|
msg = "请先填写交期一!";
|
|
}
|
|
}
|
|
}
|
|
return msg;
|
|
}
|
|
public DataTable GetGridJsonCommint(string queryJson, ref Pagination jqgridparam)
|
|
{
|
|
//string ParentId = "";
|
|
DataTable dt = new DataTable();
|
|
var queryParam = queryJson.ToJObject();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
string EATTRIBUTE = SqlHelper.GetEATTRIBUTE("ICSPurchaseOrder", "a").TrimEnd(',');
|
|
string sql = @" SELECT DISTINCT POCode
|
|
,CONVERT(NVARCHAR(15),CreateDateTime,23) AS PODate
|
|
,e.ProjectCode
|
|
,a.VenCode
|
|
,d.VenName
|
|
,ReleaseState
|
|
,CreatePerson
|
|
,a.Filename Filename
|
|
,a.uploadcomment uploadcomment
|
|
,MAX(a.uploadFrequency) AS uploadFrequency
|
|
,MAX(a.DownloadFrequency) AS DownloadFrequency
|
|
,case when a.SignBackStatus=1or ISNULL(a.SignBackStatus,'')='' then '未回签' WHEN a.SignBackStatus=2 then '确认中'WHEN a.SignBackStatus=3 then '已回签' WHEN a.SignBackStatus=4 then '退回' END as signBackstate
|
|
,a.WorkPoint,a.BackComment
|
|
,case when a.SignBackStatus=1or ISNULL(a.SignBackStatus,'')='' then '未回签' WHEN a.SignBackStatus=2 then '确认中'WHEN a.SignBackStatus=3 then '已回签' WHEN a.SignBackStatus=4 then '退回' END as STATUS
|
|
," + EATTRIBUTE + "";
|
|
sql+=@" FROM dbo.ICSPurchaseOrder a
|
|
LEFT JOIN dbo.Sys_SRM_User b ON a.VenCode=b.F_VenCode AND a.WorkPoint=b.F_Location
|
|
LEFT JOIN ICSINVENTORY c on a.InvCode=c.INVCODE and a.WorkPoint=c.WorkPoint
|
|
LEFT JOIN dbo.ICSVendor d ON a.VenCode=d.VenCode AND a.WorkPoint=d.WorkPoint
|
|
LEFT JOIN dbo.ICSExtension e ON a.ExtensionID=e.ID AND a.WorkPoint=e.WorkPoint
|
|
WHERE 1=1 and a.ReleaseState='1' ";
|
|
if (!string.IsNullOrWhiteSpace(queryJson))
|
|
{
|
|
//if (!string.IsNullOrWhiteSpace(queryParam["ORDERNO"].ToString()))
|
|
//{
|
|
// sql += " and a.ORDERNO like '%" + queryParam["ORDERNO"].ToString() + "%' ";
|
|
//}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["POCode"].ToString()))
|
|
{
|
|
sql += " and a.POCode like '%" + queryParam["POCode"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["BeginDate"].ToString()))
|
|
{
|
|
sql += " and a.CreateDateTime >='" + queryParam["BeginDate"].ToString() + "' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["EndDate"].ToString()))
|
|
{
|
|
sql += " and a.CreateDateTime <='" + queryParam["EndDate"].ToString() + "'";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["VenCode"].ToString()))
|
|
{
|
|
sql += " and a.VenCode like '%" + queryParam["VenCode"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["VenName"].ToString()))
|
|
{
|
|
sql += " and d.VenName like '%" + queryParam["VenName"].ToString() + "%'";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["CreatePerson"].ToString()))
|
|
{
|
|
sql += " and a.CreatePerson like '%" + queryParam["CreatePerson"].ToString() + "%'";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["InvCode"].ToString()))
|
|
{
|
|
sql += " and c.InvCode like '%" + queryParam["InvCode"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["InvName"].ToString()))
|
|
{
|
|
sql += " and c.InvName like '%" + queryParam["InvName"].ToString() + "%'";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["EATTRIBUTE12"].ToString()))
|
|
{
|
|
sql += " and a.EATTRIBUTE12 like '%" + queryParam["EATTRIBUTE12"].ToString() + "%'";
|
|
}
|
|
|
|
if (!string.IsNullOrWhiteSpace(queryParam["U8Status"].ToString()))
|
|
{
|
|
string U8Status = queryParam["U8Status"].ToString();
|
|
if (U8Status == "0")
|
|
sql += " and isnull(STATUS,'')<>'3'";
|
|
else if (U8Status == "1")
|
|
sql += " and isnull(STATUS,'')='3'";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["ReleaseState"].ToString()))
|
|
{
|
|
string ReleaseState = queryParam["ReleaseState"].ToString();
|
|
if (ReleaseState == "2")
|
|
sql += " and a.SignBackStatus = '2'";
|
|
else if (ReleaseState == "3")
|
|
sql += " and a.SignBackStatus = '3'";
|
|
else if (ReleaseState == "4")
|
|
sql += " and (ISNULL(a.SignBackStatus,'')='' OR ISNULL(a.SignBackStatus,'') = '1')";
|
|
else if (ReleaseState == "5")
|
|
sql += " and ISNULL(a.SignBackStatus,'')='4'";
|
|
}
|
|
//else
|
|
//{
|
|
// sql += " and SignBackState in('2','3')";
|
|
//}
|
|
if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode.Contains("Vendor"))
|
|
{
|
|
sql += " and a.VenCode in (SELECT VenCode FROM ICSVendor where VenName ='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserName + "'AND a.WorkPoint=ICSVendor.WorkPoint)";
|
|
}
|
|
//else
|
|
//{
|
|
// sql += " and CreatePerson='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserName + "'";
|
|
//}
|
|
string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
sql += " and a.WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")";
|
|
|
|
//ParentId = SqlHelper.Organize_F_ParentId(NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode);
|
|
}
|
|
|
|
if (NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode != "admin")
|
|
{
|
|
sql = SqlHelper.OrganizeByVendor_F_ParentIdByCommint(sql, NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode);
|
|
}
|
|
else
|
|
{
|
|
sql += " GROUP BY POCode,CreateDateTime,e.ProjectCode,a.VenCode,d.VenName,ReleaseState,CreatePerson,a.Filename,a.uploadcomment ,a.SignBackStatus,a.WorkPoint ,a.EATTRIBUTE7,a.EATTRIBUTE8, a.EATTRIBUTE9,a.EATTRIBUTE10 ,a.EATTRIBUTE11 ,a.EATTRIBUTE12,a.BackComment";
|
|
}
|
|
|
|
|
|
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
|
|
}
|
|
/// <summary>
|
|
/// 子表查询
|
|
/// </summary>
|
|
/// <param name="queryJson"></param>
|
|
/// <param name="jqgridparam"></param>
|
|
/// <returns></returns>
|
|
public DataTable GetSubGridJson(string queryJson, ref Pagination jqgridparam)
|
|
{
|
|
DataTable dt = new DataTable();
|
|
//var queryParam = queryJson.ToJObject();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
string sql = @"SELECT a.Sequence,a.InvCode,b.INVNAME,b.INVSTD,b.InvUnit,a.Quantity,
|
|
CONVERT(NVARCHAR(50), a.PlanArriveDate,23) as PreArriveDate,CONVERT(NVARCHAR(50),a.ArriveDate,23) as ArriveDate,
|
|
CONVERT(NVARCHAR(50), a.DeliveryDate,23) as Free5,c.ProjectCode
|
|
FROM dbo.ICSPurchaseOrder a
|
|
LEFT JOIN dbo.ICSINVENTORY b ON a.InvCode=b.INVCODE AND a.WorkPoint=b.WorkPoint
|
|
LEFT JOIN dbo.ICSExtension c ON a.ExtensionID=c.id AND a.WorkPoint=c.WorkPoint
|
|
WHERE a.POCode='" + queryJson + "'and (isnull(a.Status,'')<>'关闭'and isnull(a.Status,'')<>'弃审')";
|
|
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
|
|
}
|
|
/// <summary>
|
|
/// 提交备注信息
|
|
/// </summary>
|
|
/// <param name="ReturnRemark"></param>
|
|
/// <param name="POCode"></param>
|
|
/// <returns></returns>
|
|
public int UpdatePOBackRemark(string ReturnRemark, string POCode)
|
|
{
|
|
string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
string sql = string.Empty;
|
|
sql = @"UPDATE ICSPurchaseOrder SET uploadcomment= '{1}' WHERE POCode = '{0}'";
|
|
sql = string.Format(sql, POCode, ReturnRemark);
|
|
return SqlHelper.ExecuteNonQuery(sql);
|
|
}
|
|
/// <summary>
|
|
/// 采购人员确定订单回签
|
|
/// </summary>
|
|
/// <param name="ReturnRemark"></param>
|
|
/// <param name="POCode"></param>
|
|
/// <returns></returns>
|
|
public void POBackCommit(string queryJson)
|
|
{
|
|
try
|
|
{
|
|
ICSPO_PoMain[] list = JsonConvert.DeserializeObject<ICSPO_PoMain[]>(queryJson);
|
|
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
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("'", "");
|
|
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
foreach (var obj in list)
|
|
{
|
|
sql = @"UPDATE ICSPurchaseOrder SET SignBackStatus= 3,MTIME=GETDATE() WHERE POCode =@POCode and @WorkPoint=@WorkPoint";
|
|
SqlParameter[] sp_Detail = {
|
|
new SqlParameter("@POCode",obj.POCode),
|
|
new SqlParameter("@WorkPoint",WorkPoint.TrimEnd(',')),
|
|
};
|
|
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="PoCode"></param>
|
|
/// <param name="FileName"></param>
|
|
/// <param name="FilePath"></param>
|
|
/// <returns></returns>
|
|
public string UpLoadFile(string PoCode, string FileName, string FilePath, string ReturnRemark, string WorkPoint)
|
|
{
|
|
string msg = "";
|
|
try
|
|
{
|
|
int countRemak = UpdatePOBackRemark(ReturnRemark, PoCode);
|
|
if (countRemak <= 0)
|
|
{
|
|
msg = "上传失败";
|
|
}
|
|
//更新上传次数
|
|
string sqls = @"UPDATE dbo.ICSPurchaseOrder
|
|
SET uploadFrequency=ISNULL(uploadFrequency,0)+1
|
|
WHERE PoCode = '" + PoCode.TrimEnd(',') + "' and WorkPoint='" + WorkPoint + "'";
|
|
int counts = SqlHelper.ExecuteNonQuery(sqls);
|
|
if (counts <= 0)
|
|
msg = "上传失败";
|
|
string sql = @"UPDATE ICSPurchaseOrder SET Filename = '{1}',FilePath = '{2}',SignBackStatus=2 WHERE POCode = '{0}'";
|
|
sql = string.Format(sql, PoCode, FileName, FilePath);
|
|
int count = SqlHelper.ExecuteNonQuery(sql);
|
|
if (count <= 0)
|
|
msg = "上传失败";
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
msg = ex.Message.ToString();
|
|
}
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 上传文件变更订单状态为确认中,新增上传次数
|
|
/// </summary>
|
|
/// <param name="PoCode"></param>
|
|
/// <param name="FileName"></param>
|
|
/// <param name="FilePath"></param>
|
|
/// <returns></returns>
|
|
public string UpLoadFileCommint(string PoCode, string FileName, string FilePath, string ReturnRemark, string WorkPoint)
|
|
{
|
|
string msg = "";
|
|
try
|
|
{
|
|
int countRemak = UpdatePOBackRemark(ReturnRemark, PoCode);
|
|
if (countRemak <= 0)
|
|
{
|
|
msg = "上传失败";
|
|
}
|
|
//更新上传次数
|
|
string sqls = @"UPDATE dbo.ICSPurchaseOrder
|
|
SET uploadFrequency=ISNULL(uploadFrequency,0)+1
|
|
WHERE PoCode = '" + PoCode.TrimEnd(',') + "' and WorkPoint='" + WorkPoint + "'";
|
|
int counts = SqlHelper.ExecuteNonQuery(sqls);
|
|
if (counts <= 0)
|
|
msg = "上传失败";
|
|
string sql = @"UPDATE ICSPurchaseOrder SET FileName = '{1}',FilePath = '{2}',SignBackStatus=3 WHERE POCode = '{0}'";
|
|
sql = string.Format(sql, PoCode, FileName, FilePath);
|
|
int count = SqlHelper.ExecuteNonQuery(sql);
|
|
if (count <= 0)
|
|
msg = "上传失败";
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
msg = ex.Message.ToString();
|
|
}
|
|
return msg;
|
|
}
|
|
public void BackCommit(string keyValue)
|
|
{
|
|
string sql = string.Empty;
|
|
try
|
|
{
|
|
string Muser = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
string MuserName = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
|
|
ICSPO_PoMain[] list = JsonConvert.DeserializeObject<ICSPO_PoMain[]>(keyValue);
|
|
string MailOpen = ConfigurationManager.ConnectionStrings["MailOpen"].ConnectionString;
|
|
//string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',');
|
|
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
|
|
{
|
|
foreach (var obj in list)
|
|
{
|
|
sql = @" UPDATE ICSPurchaseOrder SET SignBackStatus='4',BackComment=@BackCommit WHERE POCODE=@POCODE";
|
|
SqlParameter[] sp_Detail = {
|
|
new SqlParameter("@POCODE",obj.POCode),
|
|
new SqlParameter("@BackCommit",obj.EATTRIBUTE6)
|
|
};
|
|
SqlCommandHelper.CmdExecuteNonQuery(sql, sp_Detail, cmd);
|
|
string sqlEmail = @"SELECT DISTINCT c.F_Email,b.VenName from ICSPurchaseOrder(NOLOCK) a
|
|
LEFT JOIN dbo.ICSVendor(NOLOCK) b ON a.VenCode=b.VenCode AND a.WorkPoint=b.WorkPoint
|
|
LEFT JOIN dbo.Sys_SRM_User(NOLOCK) c ON b.VenCode=c.F_VenCode AND b.WorkPoint=c.F_Location
|
|
Where PoCode='{0}'";
|
|
sqlEmail = string.Format(sqlEmail, obj.POCode);
|
|
DataTable dtEmail = SqlHelper.GetDataTableBySql(sqlEmail);
|
|
if (dtEmail.Rows.Count > 0)
|
|
{
|
|
for (int i = 0; i < dtEmail.Rows.Count; i++)
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(dtEmail.Rows[i]["F_Email"].ToString()))
|
|
{
|
|
if (MailOpen == "true")
|
|
{
|
|
string SendHost = ConfigurationManager.ConnectionStrings["SendHost"].ConnectionString;
|
|
string StrSendPort = ConfigurationManager.ConnectionStrings["SendPort"].ConnectionString;
|
|
int SendPort = 25;
|
|
if (!string.IsNullOrEmpty(StrSendPort))
|
|
SendPort = Convert.ToInt32(ConfigurationManager.ConnectionStrings["SendPort"].ConnectionString);
|
|
string SendDisplayName = ConfigurationManager.ConnectionStrings["SendDisplayName"].ConnectionString;
|
|
string SendAddress = ConfigurationManager.ConnectionStrings["SendAddress"].ConnectionString;
|
|
string SendPassword = ConfigurationManager.ConnectionStrings["SendPassword"].ConnectionString;
|
|
string TOAddress = dtEmail.Rows[i]["F_Email"].ToString();
|
|
string[] Partint = TOAddress.Split(';');
|
|
if (!string.IsNullOrEmpty(TOAddress))
|
|
{
|
|
foreach (var p in Partint)
|
|
{
|
|
string CCAddress = "";
|
|
string Subject = "有来自华恒SRM平台信息";
|
|
bool isBodyHtml = false;
|
|
string F_RealName = dtEmail.Rows[i]["VenName"].ToString();
|
|
//string StarTime = dr["StarTime"].ToString();
|
|
string NowDate = DateTime.Now.GetDateTimeFormats('D')[0].ToString();
|
|
string body = "尊敬的" + F_RealName + ":";
|
|
body += " \r\n 你的采购订单订单:" + obj.POCode + "被回签确认退回,请前往系统查看详情!。";
|
|
body += "\r\n";
|
|
body += " 顺颂商祺!";
|
|
body += "\r\n";
|
|
body += " 华恒焊接(昆山)股份有限公司";
|
|
body += "\r\n";
|
|
body += " " + NowDate;
|
|
string StrConn = ConfigurationManager.ConnectionStrings["connstr"].ConnectionString;
|
|
|
|
if (!string.IsNullOrEmpty(p.ToString()))
|
|
{
|
|
try
|
|
{
|
|
//MailHelper.SendEmail(StrConn, SendHost, SendPort, SendDisplayName, SendAddress, SendPassword, p.ToString(), CCAddress, Subject, isBodyHtml, body);
|
|
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception("供应商:" + F_RealName + "邮件发送失败! \r\n" + ex.Message);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
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);
|
|
}
|
|
}
|
|
}
|
|
}
|