|
|
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.Linq; using System.Text;
namespace NFine.Application.SRM { public class ComparisonApp : 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 distinct max(a.COMPARECODE) as COMPARECODE,b.INVCODE,b.INVNAME,b.INVSTD,e.PURCHUGCODE,e.PURCHUGNAME,e.PURCHUGCONECT,a.ppStatus,d.RFQCODE,d.RFQNAME,h.F_ItemName as PURTEAM
from dbo.ICSSORQUODETAILNORMAL a left join dbo.ICSSORQUOTATION c on a.QUOTATIONCODE=c.QUOTATIONCODE and a.WorkPoint=c.WorkPoint left join icsSORRFQ d on c.RFQCODE=d.RFQCODE and a.WorkPoint=d.workpoint left join dbo.ICSINVENTORY b on a.ITEMCODE=b.INVCODE and b.WorkPoint=a.WorkPoint left join dbo.ICSPURCHUG e on d.PURCHUGCODE=e.PURCHUGCODE and a.WorkPoint=e.WorkPoint left join Sys_SRM_ItemsDetail h on h.F_ItemCode=d.purteam where a.PPstatus in(0) or a.PPstatus is null and isnull(a.COMPARECODE,'') <>''";
if (!string.IsNullOrWhiteSpace(queryJson)) { if (!string.IsNullOrWhiteSpace(queryParam["PURCHUG"].ToString())) { sql += " and e.PURCHUGCONECT like '%" + queryParam["PURCHUG"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["PURCHUGCODE"].ToString())) { sql += " and e.PURCHUGCODE like '%" + queryParam["PURCHUGCODE"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["PURCHUGNAME"].ToString())) { sql += " and e.PURCHUGNAME like '%" + queryParam["PURCHUGNAME"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["ITEMCODE"].ToString())) { sql += " and b.INVCODE like '%" + queryParam["ITEMCODE"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["ITEMName"].ToString())) { sql += " and b.INVNAME like '%" + queryParam["ITEMName"].ToString() + "%' "; }
if (!string.IsNullOrWhiteSpace(queryParam["TimeFrom"].ToString())) { sql += " and b.CREATEDATE >= '" + queryParam["TimeFrom"].ToString() + "' "; } if (!string.IsNullOrWhiteSpace(queryParam["TimeTo"].ToString())) { sql += " and b.CREATEDATE <= '" + queryParam["TimeTo"].ToString() + "' "; }
if (!string.IsNullOrWhiteSpace(queryParam["INVSTD"].ToString())) { sql += " and b.INVSTD like '%" + queryParam["INVSTD"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["Stuts"].ToString())) { sql += " and a.ppStatus in( '" + queryParam["Stuts"].ToString().TrimEnd(',') + "') "; } if (!string.IsNullOrWhiteSpace(queryParam["COMPARECODE"].ToString())) { sql += " and a.COMPARECODE in( '" + queryParam["COMPARECODE"].ToString().TrimEnd(',') + "') "; }
} if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin") { sql += " and a.WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")"; } sql += "group by a.CREATEDATE,b.INVCODE,b.INVNAME,b.INVSTD, e.PURCHUGCODE,e.PURCHUGNAME,e.PURCHUGCONECT,a.ppStatus,d.RFQCODE,d.RFQNAME,h.F_ItemName "; //if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin")
//{
// sql += " and a.WorkPoint=" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location .TrimEnd(',')+ "";
//}
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam); }
/// <summary>
///
/// </summary>
/// <param name="queryJson"></param>
/// <param name="jqgridparam"></param>
/// <returns></returns>
public DataTable GetGridPrice(string queryJson, ref Pagination jqgridparam) { DataTable dt = new DataTable(); var queryParam = queryJson.ToJObject(); List<DbParameter> parameter = new List<DbParameter>(); string sql = @"select distinct b.RFQCODE ,c.PURCHUGNAME,d.ITEMCODE,d.ITEMNAME,a.VENDORCODE,CASE WHEN ISNULL(e.QUOBUYERPRICE,0)<>0 THEN e.QUOBUYERPRICE ELSE e.QUOPRICE END AS QUOPRICE,e.UNIT,
e.CURRENCY,f.invSTD,j.VenName cVenName,j.VenCode cVenCode,e.QUOSTATUS,h.F_ItemName as PURTEAM,a.WorkPoint from dbo.ICSSORQUOTATION a left join dbo.ICSSORRFQ2NORMALITEM d on a.RFQCODE=d.RFQCODE inner join ICSINVENTORY f on d.ITEMCODE=f.INVCODE AND a.WorkPoint=f.WorkPoint inner join ICSVendor j on a.VENDORCODE=j.venCode AND a.WorkPoint=j.WorkPoint left join icsSORQUODETAILNORMAL e on a.QUOTATIONCODE=e.QUOTATIONCODE AND d.ITEMCODE=e.ITEMCODE left join dbo.ICSSORRFQ b on a.RFQCODE=b.RFQCODE and a.COMPANYCODE=b.COMPANYCODE left join dbo.ICSPURCHUG c on b.PURCHUGCODE=c.PURCHUGCODE left join Sys_SRM_ItemsDetail h on h.F_ItemCode=b.purteam where e.QUOSTATUS='PricingApprove' and isnull(d.ITEMCODE,'' )<>'' ";
if (!string.IsNullOrWhiteSpace(queryJson)) { if (!string.IsNullOrWhiteSpace(queryParam["RFQCODE"].ToString())) { sql += " and b.RFQCODE like '%" + queryParam["RFQCODE"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["PURCHUG"].ToString())) { sql += " and c.PURCHUGCODE like '%" + queryParam["PURCHUG"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["PURTEAM"].ToString())) { sql += " and h.F_ItemName like '%" + queryParam["PURTEAM"].ToString() + "%' "; }
if (!string.IsNullOrWhiteSpace(queryParam["ITEMCODE"].ToString())) { sql += " and d.ITEMCODE like '%" + queryParam["ITEMCODE"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["ITEMName"].ToString())) { sql += " and d.ITEMNAME like '%" + queryParam["ITEMName"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["INVSTD"].ToString())) { sql += " and f.INVSTD like '%" + queryParam["INVSTD"].ToString() + "%' "; } if (!string.IsNullOrWhiteSpace(queryParam["Vencode"].ToString())) { sql += " and j.cVenCode in( '" + queryParam["Vencode"].ToString() + "') "; } if (!string.IsNullOrWhiteSpace(queryParam["VenName"].ToString())) { sql += " and j.cVenName in( '" + queryParam["VenName"].ToString() + "') "; } } if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode != "admin") { sql += " and a.WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")"; } //if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode.Contains("Vendor"))
//{
// sql += " and VENDORCODE='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode + "'";
//}
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam); } /// <summary>
/// 获取报价信息报价价格
/// </summary>
/// <param name="queryJson"></param>
/// <param name="jqgridparam"></param>
/// <returns></returns>
public DataTable GetGridMaterial(ref Pagination jqgridparam, string ITEMCODE, string VenCode, string RFQCODE) { DataTable dt = new DataTable(); string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(','); List<DbParameter> parameter = new List<DbParameter>(); string sql = @" select a.QUOSTATUS,a.ITEMCODE ,a.ITEMNAME,b.VENDORCODE,CASE WHEN ISNULL(a.QUOBUYERPRICE,0)<>0 THEN a.QUOBUYERPRICE ELSE a.QUOPRICE END AS QUOPRICE,a.UNIT,a.CURRENCY,hh.PURCHUGNAME,j.cVenName,
dd.TAXRATECODE,cc.paymentClause,a.COSTDETAILSREFERCODE,h.F_ItemName as PURTEAM, case when isnull(a.COMPARECODE,'')='' then '询价' else '比价' end as Sources, case when isnull(a.COMPARECODE,'')='' then a.RFQCODE else a.COMPARECODE end as SourcesNum,ii.INVSTD as INVTYPE from icsSORQUODETAILNORMAL a inner join icsSORQUOTATION b on a.QUOTATIONCODE=b.QUOTATIONCODE and a.WorkPoint=b.WorkPoint inner join dbo.ICSSORRFQ c on a.RFQCODE=c.RFQCODE and a.COMPANYCODE=c.COMPANYCODE and a.WorkPoint=c.workpoint inner join ICSVendor j on b.VENDORCODE=j.cVenCode and a.WorkPoint=j.WorkPoint inner join icsSORQUOTATION cc on a.COMPANYCODE=cc.COMPANYCODE and a.QUOTATIONCODE=cc.QUOTATIONCODE and a.WorkPoint=cc.WorkPoint left join icsVENDORTAXRATE dd on cc.VENDORCODE=dd.VENDORCODE and a.WorkPoint=dd.WorkPoint left join Sys_SRM_ItemsDetail h on h.F_ItemCode=c.purteam left join dbo.ICSPURCHUG hh on c.PURCHUGCODE=hh.PURCHUGCODE left join dbo.ICSINVENTORY ii on a.ITEMCODE=ii.INVCODE and a.WorkPoint=ii.WorkPoint where a.ITEMCODE='{0}' and cc.VENDORCODE='{1}'and c.RFQCODE='{2}' and a.WorkPoint in({3}) ";
sql = string.Format(sql, ITEMCODE, VenCode, RFQCODE, WorkPoint);
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
} /// <summary>
/// 税率
/// </summary>
/// <param name="queryJson"></param>
/// <param name="jqgridparam"></param>
/// <returns></returns>
// public DataTable GetGridVendorTaxrate(string queryJson, ref Pagination jqgridparam)
// {
// DataTable dt = new DataTable();
// var queryParam = queryJson.ToJObject();
// List<DbParameter> parameter = new List<DbParameter>();
// string sql = @"select c.TAXRATECODE,a.paymentClause,b.COMPARECODE,'比价' as bijia,b.COSTDETAILSREFERCODE from icsSORQUOTATION a
// left join icsSORQUODETAILNORMAL b on a.COMPANYCODE=b.COMPANYCODE and a.QUOTATIONCODE=b.QUOTATIONCODE
// inner join icsSORQUOTATION d on b.QUOTATIONCODE=d.QUOTATIONCODE
// left join icsVENDORTAXRATE c on d.VENDORCODE=c.VENDORCODE where 1=1";
// if (!string.IsNullOrWhiteSpace(queryJson))
// {
// //if (!string.IsNullOrWhiteSpace(queryParam["PURCHUG"].ToString()))
// //{
// // sql += " and b.PURCHUGCODE like '%" + queryParam["PURCHUG"].ToString() + "%' ";
// //}
// if (!string.IsNullOrWhiteSpace(queryParam["COMPARECODE"].ToString()))
// {
// sql += " and b.COMPARECODE like '%" + queryParam["COMPARECODE"].ToString() + "%' ";
// }
// //if (!string.IsNullOrWhiteSpace(queryParam["VenCode"].ToString()))
// //{
// // sql += " and b.VENDORCODE like '%" + queryParam["VenCode"].ToString() + "%' ";
// //}
// //if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode.Contains("Vendor"))
// //{
// // sql += " and VENDORCODE='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode + "'";
// //}
// }
// //if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode.Contains("Vendor"))
// //{
// // sql += " and VENDORCODE='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode + "'";
// //}
// return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
// }
/// <summary>
/// 送签
/// </summary>
/// <param name="keyValue"></param>
/// <returns></returns>
public string UpdateCompareCode(string keyValue) { string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; string msg = ""; keyValue = keyValue.Substring(1, keyValue.Length - 2); // string[] keyValues = keyValue.Split(',');
string sql = string.Empty; sql = "UPDATE icsSORQUODETAILNORMAL SET PPstatus = {1},QUOSTATUS='PricingApprove' WHERE CompareCode = {0} "; sql = string.Format(sql, keyValue.TrimEnd(','), 1); SqlHelper.ExecuteNonQuery(sql); return msg; }
public DataTable GetSelectPrice(string COMPARECODE, ref Pagination jqgridparam) { string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(','); DataTable dt = new DataTable(); string sql = @" select DISTINCT a.COMPARECODE,b.INVCODE,b.INVNAME,b.INVSTD, CASE WHEN ISNULL(a.QUOBUYERPRICE,0)<>0 THEN a.QUOBUYERPRICE ELSE a.QUOPRICE END AS QUOPRICE ,a.STARTDATE,c.VENDORCODE,f.cVenName
from dbo.ICSSORQUODETAILNORMAL a left join dbo.ICSSORQUOTATION c on a.QUOTATIONCODE=c.QUOTATIONCODE and a.WorkPoint=c.WorkPoint left join icsSORRFQ d on c.RFQCODE=d.RFQCODE and a.WorkPoint = d.workpoint left join dbo.ICSINVENTORY b on a.ITEMCODE=b.INVCODE and a.WorkPoint=b.WorkPoint left join dbo.ICSPURCHUG e on d.PURCHUGCODE=e.PURCHUGCODE left join ICSVendor f on c.VENDORCODE=f.cVenCode and a.WorkPoint=f.WorkPoint where a.COMPARECODE='{0}' and a.WorkPoint in ({1})";
sql = string.Format(sql, COMPARECODE, WorkPoint);
return Repository().FindTablePageBySql(sql.ToString(), ref jqgridparam); }
public string DeleteCOMPARECODE(string keyValue) { string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(','); string msg = ""; keyValue = keyValue.Substring(1, keyValue.Length - 2); string sql = string.Empty;
sql = string.Format(@"update ICSSORQUODETAILNORMAL set COMPARECODE='' where COMPARECODE in ({0}) and WorkPoint in ({1})", keyValue.TrimEnd(','), WorkPoint);
SqlHelper.ExecuteNonQuery(sql);
return msg; }
public string AuditCompareCode(string COMPARECODE, string VENDORCODE) { string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location; string msg = "";
// string[] keyValues = keyValue.Split(',');
string sql = string.Empty; sql = "update a set a.QUOSTATUS='PricingApprove' from icsSORQUODETAILNORMAL a left join icsSORQUOTATION b on a.QUOTATIONCODE=b.QUOTATIONCODE where a.CompareCode = '{0}' and b.VENDORCODE='{1}' "; sql = string.Format(sql, COMPARECODE, VENDORCODE); SqlHelper.ExecuteNonQuery(sql); return msg; }
} }
|