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.
297 lines
15 KiB
297 lines
15 KiB
using NFine.Code;
|
|
using NFine.Data.Extensions;
|
|
using NFine.Domain._03_Entity.SRM;
|
|
using NFine.Repository;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Data.Common;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace NFine.Application.SRM
|
|
{
|
|
public class PriceArticleApp : RepositoryFactory<ICSPO_PoMain>
|
|
{
|
|
|
|
/// <summary>
|
|
///获取组织信息
|
|
/// </summary>
|
|
/// <param name="queryJson"></param>
|
|
/// <param name="jqgridparam"></param>
|
|
/// <returns></returns>
|
|
public DataTable GetGridPurchug(string queryJson, ref Pagination jqgridparam)
|
|
{
|
|
DataTable dt = new DataTable();
|
|
var queryParam = queryJson.ToJObject();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
string sql = @"select PURCHUGCODE,PURCHUGNAME,PURCHUGCONECT from ICSPURCHUG";
|
|
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
|
|
}
|
|
/// <summary>
|
|
///获取比价物资列表
|
|
/// </summary>
|
|
/// <param name="queryJson"></param>
|
|
/// <param name="jqgridparam"></param>
|
|
/// <returns></returns>
|
|
public DataTable GetCompareCodeMaterial(string queryJson, ref Pagination jqgridparam)
|
|
{
|
|
DataTable dt = new DataTable();
|
|
var queryParam = queryJson.ToJObject();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
string sql = @" select PURCHGCODE,ITEMTYPE,ITEMCODE,ITEMNAME,Status from ICSSCOMPARECODEInventory where status='0'";
|
|
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
|
|
}
|
|
/// <summary>
|
|
///获取物资列表
|
|
/// </summary>
|
|
/// <param name="queryJson"></param>
|
|
/// <param name="jqgridparam"></param>
|
|
/// <returns></returns>
|
|
public DataTable GetCompareCodeMaterials(string queryJson, ref Pagination jqgridparam)
|
|
{
|
|
DataTable dt = new DataTable();
|
|
var queryParam = queryJson.ToJObject();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
string sql = @" SELECT INVCode,INVName,INvTYpe,case
|
|
when b.status=1 then '未设置'
|
|
WHEN b.status is null THEN '未设置'
|
|
else '已设置'
|
|
end as status
|
|
from [dbo].[ICSINVENTORY] a
|
|
LEFT join ICSSCOMPARECODEInventory b on a.INVCODE=b.ITEMCODE
|
|
WHERE 1=1
|
|
";
|
|
if (!string.IsNullOrWhiteSpace(queryJson))
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(queryParam["INVCode"].ToString()))
|
|
{
|
|
sql += " and INVCode like '%" + queryParam["INVCode"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["INVName"].ToString()))
|
|
{
|
|
sql += " and INVName like '%" + queryParam["INVName"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["INVType"].ToString()))
|
|
{
|
|
sql += " and INvTYpe like '%" + queryParam["INVType"].ToString() + "%' ";
|
|
}
|
|
|
|
}
|
|
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
|
|
}
|
|
|
|
///询报价报表
|
|
/// </summary>
|
|
/// <param name="queryJson"></param>
|
|
/// <param name="jqgridparam"></param>
|
|
/// <returns></returns>
|
|
public DataTable GetCompareCodeMateriaList(string queryJson, ref Pagination jqgridparam)
|
|
{
|
|
DataTable dt = new DataTable();
|
|
var queryParam = queryJson.ToJObject();
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
string sql = @"
|
|
select d.CREATETIME, b.ITEMCODE,b.ITEMNAME,f.invSTD,a.PURCHUGCODE,s.PURCHUGName,f.INVTYPE,c.QUOTATIONCODE,
|
|
case when c.STATUS= 'NEW'then '新增'
|
|
WHEN c.STATUS='Invalid' THEN '新增'
|
|
WHEN c.STATUS='Publish' THEN '发布'
|
|
WHEN c.STATUS='Close' THEN '关闭'
|
|
end as status ,j.cVenName,e.VENDORTYPE,c.VENDORCODE,e.CURRENCY,h.TAXRATECODE,case when d.ppStatus=0 then '送签中'
|
|
WHEN d.ppStatus=1 THEN '新增'
|
|
end as statuss
|
|
from dbo.ICSSORRFQ a
|
|
left join dbo.ICSSORRFQ2NORMALITEM b on a.RFQCODE=b.RFQCODE
|
|
left join ICSSORQUOTATION c on b.RFQCODE=c.RFQCODE and a.WorkPoint=c.WorkPoint
|
|
left join ICSSORQUODETAILNORMAL d on c.QUOTATIONCODE=d.QUOTATIONCODE
|
|
Left JOIN ICSSORRFQ2VENDOR e on c.VENDORCODE=e.VENDORCODE
|
|
LEFT JOIN ICSVENDORTAXRATE h on c.VENDORCODE=h.VENDORCODE
|
|
left join [dbo].[ICSINVENTORY] f on d.ITEMCODE=f.INVCODE
|
|
left join [dbo].[ICSVendor] j on c.VENDORCODE=j.cvenCode
|
|
left join dbo.ICSPURCHUG s on a.PURCHUGCODE=s.PURCHUGCODE where 1=1 and b.ITEMCODE<>''
|
|
";
|
|
if (!string.IsNullOrWhiteSpace(queryJson))
|
|
{
|
|
if (!string.IsNullOrWhiteSpace(queryParam["PURCHUG"].ToString()))
|
|
{
|
|
sql += " and s.PURCHUGName like '%" + queryParam["PURCHUG"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["PURCHUGCODE"].ToString()))
|
|
{
|
|
sql += " and a.PURCHUGCODE like '%" + queryParam["PURCHUGCODE"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["InvType"].ToString()))
|
|
{
|
|
sql += " and f.INVTYPE like '%" + queryParam["InvType"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["ITEMCODE"].ToString()))
|
|
{
|
|
sql += " and b.ITEMCODE like '%" + queryParam["ITEMCODE"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["ITEMName"].ToString()))
|
|
{
|
|
sql += " and b.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 c.VENDORCODE like '%" + queryParam["VENCode"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["VENName"].ToString()))
|
|
{
|
|
sql += " and j.cVenName like '%" + queryParam["VENName"].ToString() + "%' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["BeginDate"].ToString()))
|
|
{
|
|
sql += " and d.CREATETIME >'" + queryParam["BeginDate"].ToString() + "' ";
|
|
}
|
|
if (!string.IsNullOrWhiteSpace(queryParam["EndDate"].ToString()))
|
|
{
|
|
sql += " and d.CREATETIME <'" + queryParam["BeginDate"].ToString() + "'";
|
|
}
|
|
//sql += " or b.ITEMCODE is not null";
|
|
}
|
|
return Repository().FindTablePageBySql(sql.ToString(), parameter.ToArray(), ref jqgridparam);
|
|
}
|
|
/// <summary>
|
|
/// 创建比价物资
|
|
/// </summary>
|
|
/// <param name="JsonData"></param>
|
|
/// <param name="STNO"></param>
|
|
/// <returns></returns>
|
|
public string CheckSTNO_ItemCode(string JsonData, string PURCHUG, string PURCHUGName)
|
|
{
|
|
string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
|
|
string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
string msg = "";
|
|
string sql = string.Empty;
|
|
sql = @"INSERT INTO dbo.ICSSCOMPARECODEInventory
|
|
( CREATEDATE ,CREATETIME ,CREATEUSER ,
|
|
ITEMCODE ,ITEMNAME ,ITEMType,
|
|
PURCHGCODE ,PURCHUGNAME ,Status
|
|
)
|
|
SELECT GETDATE(),GETDATE(),'" + MUSERNAME + @"',
|
|
a.INVCODE,a.INVNAME,a.InvType,
|
|
'" + PURCHUG + @"','" + PURCHUGName + @"',0
|
|
FROM dbo.ICSINVENTORY a
|
|
WHERE a.INVCode IN (" + JsonData.TrimEnd(',') + ")";
|
|
try
|
|
{
|
|
SqlHelper.ExecuteNonQuery(sql);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.Message);
|
|
}
|
|
|
|
return msg;
|
|
}
|
|
/// <summary>
|
|
/// 取消比价物资
|
|
/// </summary>
|
|
/// <param name="JsonData"></param>
|
|
/// <param name="STNO"></param>
|
|
/// <returns></returns>
|
|
public string UpdateItemCode(string JsonData, string PURCHUG, string PURCHUGName)
|
|
{
|
|
string MUSER = NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode;
|
|
string MUSERNAME = NFine.Code.OperatorProvider.Provider.GetCurrent().UserName;
|
|
string WorkPoint = NFine.Code.OperatorProvider.Provider.GetCurrent().Location;
|
|
string msg = "";
|
|
string sql = string.Empty;
|
|
sql = @"Update dbo.ICSSCOMPARECODEInventory set Status='1' where ITEMCODE IN (" + JsonData.TrimEnd(',') + ")";
|
|
try
|
|
{
|
|
SqlHelper.ExecuteNonQuery(sql);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
throw new Exception(ex.Message);
|
|
}
|
|
|
|
return msg;
|
|
}
|
|
|
|
public DataTable GetPOListExport(string keyVaule)
|
|
{
|
|
string sql = @" select d.CREATETIME, b.ITEMCODE,b.ITEMNAME,f.invSTD,a.PURCHUGCODE,s.PURCHUGName,f.INVTYPE,c.QUOTATIONCODE,
|
|
case when c.STATUS= 'NEW'then '新增'
|
|
WHEN c.STATUS='Invalid' THEN '新增'
|
|
WHEN c.STATUS='Publish' THEN '发布'
|
|
WHEN c.STATUS='Close' THEN '关闭'
|
|
end as status ,j.cVenName,e.VENDORTYPE,c.VENDORCODE,e.CURRENCY,h.TAXRATECODE,case when d.ppStatus=0 then '送签中'
|
|
WHEN d.ppStatus=1 THEN '新增'
|
|
end as statuss
|
|
from dbo.ICSSORRFQ a
|
|
left join dbo.ICSSORRFQ2NORMALITEM b on a.RFQCODE=b.RFQCODE
|
|
left join ICSSORQUOTATION c on b.RFQCODE=c.RFQCODE and a.WorkPoint=c.WorkPoint
|
|
left join ICSSORQUODETAILNORMAL d on c.QUOTATIONCODE=d.QUOTATIONCODE
|
|
Left JOIN ICSSORRFQ2VENDOR e on c.VENDORCODE=e.VENDORCODE
|
|
LEFT JOIN ICSVENDORTAXRATE h on c.VENDORCODE=h.VENDORCODE
|
|
left join [dbo].[ICSINVENTORY] f on d.ITEMCODE=f.INVCODE
|
|
left join [dbo].[ICSVendor] j on c.VENDORCODE=j.cvenCode
|
|
left join dbo.ICSPURCHUG s on a.PURCHUGCODE=s.PURCHUGCODE where 1=1
|
|
";
|
|
sql += " and c.QUOTATIONCODE in (" + keyVaule + ")";
|
|
//sql += " and a.WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")";
|
|
DataTable dt = SqlHelper.GetDataTableBySql(sql);
|
|
return dt;
|
|
}
|
|
|
|
public DataTable GetPOListExport( string PURCHUG, string InvType, string PURCHUGCODE, string ITEMCODE, string ITEMName, string INVSTD, string VENCode, string VENName, string CREATETIME)
|
|
{
|
|
List<DbParameter> parameter = new List<DbParameter>();
|
|
string sql = @"select d.CREATETIME, b.ITEMCODE,b.ITEMNAME,f.invSTD,a.PURCHUGCODE,s.PURCHUGName,f.INVTYPE,c.QUOTATIONCODE,
|
|
case when c.STATUS= 'NEW'then '新增'
|
|
WHEN c.STATUS='Invalid' THEN '新增'
|
|
WHEN c.STATUS='Publish' THEN '发布'
|
|
WHEN c.STATUS='Close' THEN '关闭'
|
|
end as status ,j.cVenName,e.VENDORTYPE,c.VENDORCODE,e.CURRENCY,h.TAXRATECODE,case when d.ppStatus=0 then '送签中'
|
|
WHEN d.ppStatus=1 THEN '新增'
|
|
end as statuss
|
|
from dbo.ICSSORRFQ a
|
|
left join dbo.ICSSORRFQ2NORMALITEM b on a.RFQCODE=b.RFQCODE
|
|
left join ICSSORQUOTATION c on b.RFQCODE=c.RFQCODE and a.WorkPoint=c.WorkPoint
|
|
left join ICSSORQUODETAILNORMAL d on c.QUOTATIONCODE=d.QUOTATIONCODE
|
|
Left JOIN ICSSORRFQ2VENDOR e on c.VENDORCODE=e.VENDORCODE
|
|
LEFT JOIN ICSVENDORTAXRATE h on c.VENDORCODE=h.VENDORCODE
|
|
left join [dbo].[ICSINVENTORY] f on d.ITEMCODE=f.INVCODE
|
|
left join [dbo].[ICSVendor] j on c.VENDORCODE=j.cvenCode
|
|
left join dbo.ICSPURCHUG s on a.PURCHUGCODE=s.PURCHUGCODE where 1=1";
|
|
if (!string.IsNullOrWhiteSpace(PURCHUG))
|
|
sql += " and s.PURCHUGName like '%" + PURCHUG + "%'";
|
|
if (!string.IsNullOrWhiteSpace(InvType))
|
|
sql += " and f.INVTYPE like '%" + InvType + "%'";
|
|
if (!string.IsNullOrWhiteSpace(CREATETIME))
|
|
sql += " and PODate >= '" + CREATETIME + "'";
|
|
if (!string.IsNullOrWhiteSpace(CREATETIME))
|
|
sql += " and PODate <= '" + CREATETIME + "'";
|
|
if (!string.IsNullOrWhiteSpace(PURCHUGCODE))
|
|
sql += " and a.PURCHUGCODE like '%" + PURCHUGCODE + "%'";
|
|
if (!string.IsNullOrWhiteSpace(ITEMCODE))
|
|
sql += " and b.ITEMCODE like '%" + ITEMCODE + "%'";
|
|
if (!string.IsNullOrWhiteSpace(ITEMName))
|
|
sql += " and b.ITEMNAME like '%" + ITEMName + "%'";
|
|
if (!string.IsNullOrWhiteSpace(INVSTD))
|
|
sql += " and f.invSTD like '%" + INVSTD + "%'";
|
|
if (!string.IsNullOrWhiteSpace(VENCode))
|
|
sql += " and c.VENDORCODE like '%" + VENCode + "%'";
|
|
if (!string.IsNullOrWhiteSpace(VENName))
|
|
sql += " and j.cVenName like '%" + VENName + "%'";
|
|
|
|
//if (NFine.Code.OperatorProvider.Provider.GetCurrent().RoleEnCode == "Vendor")
|
|
//{
|
|
// sql += " and VenCode='" + NFine.Code.OperatorProvider.Provider.GetCurrent().UserCode + "'";
|
|
//}
|
|
//sql += " and a.WorkPoint in (" + NFine.Code.OperatorProvider.Provider.GetCurrent().Location.TrimEnd(',') + ")";
|
|
DataTable dt = SqlHelper.GetDataTableBySql(sql);
|
|
return dt;
|
|
}
|
|
|
|
}
|
|
}
|