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.
416 lines
18 KiB
416 lines
18 KiB
1 year ago
|
using CK.SCP.Models;
|
||
|
using CK.SCP.Models.ExchangeCenterTables;
|
||
|
using CK.SCP.Utils;
|
||
|
using System;
|
||
|
using System.Collections.Generic;
|
||
|
using System.Data;
|
||
|
using System.Data.Entity.Migrations;
|
||
|
using System.Data.SqlClient;
|
||
|
using System.Linq;
|
||
|
using System.Text;
|
||
|
using System.Threading.Tasks;
|
||
|
|
||
|
namespace CK.SCP.Controller
|
||
|
{
|
||
|
public class UN_EC_CONTROLLER_SUPPLIER
|
||
|
{
|
||
|
public static void Get_TES_SUPPLIER_List(TES_SUPPLIER p_entity, Action<ResultObject<IQueryable<TES_SUPPLIER>>> p_action)
|
||
|
{
|
||
|
ResultObject<IQueryable<TES_SUPPLIER>> _ret = new ResultObject<IQueryable<TES_SUPPLIER>>();
|
||
|
try
|
||
|
{
|
||
|
using (var db = EntitiesFactory.CreateExchangeCenterInstance())
|
||
|
{
|
||
|
IQueryable<TES_SUPPLIER> q = db.TES_SUPPLIER;
|
||
|
if (!string.IsNullOrEmpty(p_entity.SupplierCode))
|
||
|
{
|
||
|
q = q.Where(p => p.SupplierCode.Contains(p_entity.SupplierCode));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.SupplierName))
|
||
|
{
|
||
|
q = q.Where(p => p.SupplierName.Contains(p_entity.SupplierName));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.SearchName))
|
||
|
{
|
||
|
q = q.Where(p => p.SearchName.Contains(p_entity.SearchName));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.SecondName))
|
||
|
{
|
||
|
q = q.Where(p => p.SecondName.Contains(p_entity.SecondName));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.ThirdName))
|
||
|
{
|
||
|
q = q.Where(p => p.ThirdName.Contains(p_entity.ThirdName));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.GroupName))
|
||
|
{
|
||
|
q = q.Where(p => p.GroupName.Contains(p_entity.GroupName));
|
||
|
}
|
||
|
if (p_entity.Active != false)
|
||
|
{
|
||
|
q = q.Where(p => p.Active == p_entity.Active);
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.Address1))
|
||
|
{
|
||
|
q = q.Where(p => p.Address1.Contains(p_entity.Address1));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.Address2))
|
||
|
{
|
||
|
q = q.Where(p => p.Address2.Contains(p_entity.Address2));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.Address3))
|
||
|
{
|
||
|
q = q.Where(p => p.Address3.Contains(p_entity.Address3));
|
||
|
}
|
||
|
if (p_entity.ZipCode != 0)
|
||
|
{
|
||
|
q = q.Where(p => p.ZipCode == p_entity.ZipCode);
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.City))
|
||
|
{
|
||
|
q = q.Where(p => p.City.Contains(p_entity.City));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.Country))
|
||
|
{
|
||
|
q = q.Where(p => p.Country.Contains(p_entity.Country));
|
||
|
}
|
||
|
if (p_entity.Telephone != 0)
|
||
|
{
|
||
|
q = q.Where(p => p.Telephone == p_entity.Telephone);
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.province))
|
||
|
{
|
||
|
q = q.Where(p => p.province.Contains(p_entity.province));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.County))
|
||
|
{
|
||
|
q = q.Where(p => p.County.Contains(p_entity.County));
|
||
|
}
|
||
|
if (p_entity.Fax != 0)
|
||
|
{
|
||
|
q = q.Where(p => p.Fax == p_entity.Fax);
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.LanguageCode))
|
||
|
{
|
||
|
q = q.Where(p => p.LanguageCode.Contains(p_entity.LanguageCode));
|
||
|
}
|
||
|
if (p_entity.Email != 0)
|
||
|
{
|
||
|
q = q.Where(p => p.Email == p_entity.Email);
|
||
|
}
|
||
|
if (p_entity.Internet != 0)
|
||
|
{
|
||
|
q = q.Where(p => p.Internet == p_entity.Internet);
|
||
|
}
|
||
|
if (p_entity.AddressIsTaxable != false)
|
||
|
{
|
||
|
q = q.Where(p => p.AddressIsTaxable == p_entity.AddressIsTaxable);
|
||
|
}
|
||
|
if (p_entity.AddressIsTaxIncluded != false)
|
||
|
{
|
||
|
q = q.Where(p => p.AddressIsTaxIncluded == p_entity.AddressIsTaxIncluded);
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.FederalTax))
|
||
|
{
|
||
|
q = q.Where(p => p.FederalTax.Contains(p_entity.FederalTax));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.StateTax))
|
||
|
{
|
||
|
q = q.Where(p => p.StateTax.Contains(p_entity.StateTax));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.MiscTax1))
|
||
|
{
|
||
|
q = q.Where(p => p.MiscTax1.Contains(p_entity.MiscTax1));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.MiscTax2))
|
||
|
{
|
||
|
q = q.Where(p => p.MiscTax2.Contains(p_entity.MiscTax2));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.MiscTax3))
|
||
|
{
|
||
|
q = q.Where(p => p.MiscTax3.Contains(p_entity.MiscTax3));
|
||
|
}
|
||
|
if (p_entity.TaxInCity != false)
|
||
|
{
|
||
|
q = q.Where(p => p.TaxInCity == p_entity.TaxInCity);
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.TaxZone))
|
||
|
{
|
||
|
q = q.Where(p => p.TaxZone.Contains(p_entity.TaxZone));
|
||
|
}
|
||
|
if (p_entity.TaxClass != 0)
|
||
|
{
|
||
|
q = q.Where(p => p.TaxClass == p_entity.TaxClass);
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.TaxUsage))
|
||
|
{
|
||
|
q = q.Where(p => p.TaxUsage.Contains(p_entity.TaxUsage));
|
||
|
}
|
||
|
if (p_entity.Compens != false)
|
||
|
{
|
||
|
q = q.Where(p => p.Compens == p_entity.Compens);
|
||
|
}
|
||
|
if (string.IsNullOrEmpty(p_entity.GlProfileInvoice))
|
||
|
{
|
||
|
q = q.Where(p => p.GlProfileInvoice == p_entity.GlProfileInvoice);
|
||
|
}
|
||
|
if (string.IsNullOrEmpty(p_entity.GlProfileCreditNote))
|
||
|
{
|
||
|
q = q.Where(p => p.GlProfileCreditNote == p_entity.GlProfileCreditNote);
|
||
|
}
|
||
|
if (string.IsNullOrEmpty(p_entity.GlProfilePrepayment))
|
||
|
{
|
||
|
q = q.Where(p => p.GlProfilePrepayment == p_entity.GlProfilePrepayment);
|
||
|
}
|
||
|
if (string.IsNullOrEmpty(p_entity.AccountGLProfile))
|
||
|
{
|
||
|
q = q.Where(p => p.AccountGLProfile == p_entity.AccountGLProfile);
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.SubAccountProfile))
|
||
|
{
|
||
|
q = q.Where(p => p.SubAccountProfile.Contains(p_entity.SubAccountProfile));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.CreditAgencyReference))
|
||
|
{
|
||
|
q = q.Where(p => p.CreditAgencyReference.Contains(p_entity.CreditAgencyReference));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.CommerceNumber))
|
||
|
{
|
||
|
q = q.Where(p => p.CommerceNumber.Contains(p_entity.CommerceNumber));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.TidNotice))
|
||
|
{
|
||
|
q = q.Where(p => p.TidNotice.Contains(p_entity.TidNotice));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.ExternalCustomerNumber))
|
||
|
{
|
||
|
q = q.Where(p => p.ExternalCustomerNumber.Contains(p_entity.ExternalCustomerNumber));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.Currency))
|
||
|
{
|
||
|
q = q.Where(p => p.Currency.Contains(p_entity.Currency));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.SupplierType))
|
||
|
{
|
||
|
q = q.Where(p => p.SupplierType.Contains(p_entity.SupplierType));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.Purchasetype))
|
||
|
{
|
||
|
q = q.Where(p => p.Purchasetype.Contains(p_entity.Purchasetype));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.CreditTerms))
|
||
|
{
|
||
|
q = q.Where(p => p.CreditTerms.Contains(p_entity.CreditTerms));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.InvoiceStatusCode))
|
||
|
{
|
||
|
q = q.Where(p => p.InvoiceStatusCode.Contains(p_entity.InvoiceStatusCode));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.PaymentGroup))
|
||
|
{
|
||
|
q = q.Where(p => p.PaymentGroup.Contains(p_entity.PaymentGroup));
|
||
|
}
|
||
|
if (p_entity.SendRemittance != false)
|
||
|
{
|
||
|
q = q.Where(p => p.SendRemittance == p_entity.SendRemittance);
|
||
|
}
|
||
|
if (p_entity.SplitAccount != false)
|
||
|
{
|
||
|
q = q.Where(p => p.SplitAccount == p_entity.SplitAccount);
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.ShipVia))
|
||
|
{
|
||
|
q = q.Where(p => p.ShipVia.Contains(p_entity.ShipVia));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.Remarks))
|
||
|
{
|
||
|
q = q.Where(p => p.Remarks.Contains(p_entity.Remarks));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.Carrier))
|
||
|
{
|
||
|
q = q.Where(p => p.Carrier.Contains(p_entity.Carrier));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.Purchasecontact))
|
||
|
{
|
||
|
q = q.Where(p => p.Purchasecontact.Contains(p_entity.Purchasecontact));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.DayBookSet))
|
||
|
{
|
||
|
q = q.Where(p => p.DayBookSet.Contains(p_entity.DayBookSet));
|
||
|
}
|
||
|
if (p_entity.KanBanSupplier != false)
|
||
|
{
|
||
|
q = q.Where(p => p.KanBanSupplier == p_entity.KanBanSupplier);
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.PromotionGroup))
|
||
|
{
|
||
|
q = q.Where(p => p.PromotionGroup.Contains(p_entity.PromotionGroup));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.Buyer))
|
||
|
{
|
||
|
q = q.Where(p => p.Buyer.Contains(p_entity.Buyer));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.PriceTable))
|
||
|
{
|
||
|
q = q.Where(p => p.PriceTable.Contains(p_entity.PriceTable));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.DiscountTable))
|
||
|
{
|
||
|
q = q.Where(p => p.DiscountTable.Contains(p_entity.DiscountTable));
|
||
|
}
|
||
|
if (p_entity.FixedPrice != false)
|
||
|
{
|
||
|
q = q.Where(p => p.FixedPrice == p_entity.FixedPrice);
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.NonSoPrice))
|
||
|
{
|
||
|
q = q.Where(p => p.NonSoPrice.Contains(p_entity.NonSoPrice));
|
||
|
}
|
||
|
if (p_entity.UID != 0)
|
||
|
{
|
||
|
q = q.Where(p => p.UID == p_entity.UID);
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.CreateUser))
|
||
|
{
|
||
|
q = q.Where(p => p.CreateUser.Contains(p_entity.CreateUser));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.Remark))
|
||
|
{
|
||
|
q = q.Where(p => p.Remark.Contains(p_entity.Remark));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.CommandType))
|
||
|
{
|
||
|
q = q.Where(p => p.CommandType.Contains(p_entity.CommandType));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.Domain))
|
||
|
{
|
||
|
q = q.Where(p => p.Domain.Contains(p_entity.Domain));
|
||
|
}
|
||
|
if (!string.IsNullOrEmpty(p_entity.Site))
|
||
|
{
|
||
|
q = q.Where(p => p.Site.Contains(p_entity.Site));
|
||
|
}
|
||
|
|
||
|
_ret.Result = q;
|
||
|
_ret.State = ReturnStatus.Succeed;
|
||
|
p_action(_ret);
|
||
|
}
|
||
|
}
|
||
|
catch (Exception e)
|
||
|
{
|
||
|
_ret.State = ReturnStatus.Failed;
|
||
|
_ret.ErrorList.Add(e);
|
||
|
LogHelper.Writlog(LogHelper.LogType.Error, typeof(TES_SUPPLIER), "Get_TES_SUPPLIER_List", e.Message);
|
||
|
throw e;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
public static DataTable Get_TES_SUPPLIER_List(string p_tableName, string p_TaskID)
|
||
|
{
|
||
|
DataTable dt = new DataTable(); ;
|
||
|
var dbSetting = GlobalConfig.ExchangeCenterDB;
|
||
|
try
|
||
|
{
|
||
|
|
||
|
var strConn = EntitiesFactory.GetEfConnectionString(dbSetting);
|
||
|
SqlConnection conn = new System.Data.SqlClient.SqlConnection();
|
||
|
|
||
|
conn.ConnectionString = strConn;
|
||
|
|
||
|
if (conn.State != ConnectionState.Open)
|
||
|
{
|
||
|
conn.Open();
|
||
|
}
|
||
|
SqlCommand cmd = new SqlCommand();
|
||
|
|
||
|
cmd.Connection = conn;
|
||
|
string _sql = string.Format("select * from {0} where TaskID='{1}'", p_tableName, p_TaskID);
|
||
|
|
||
|
cmd.CommandText = _sql;
|
||
|
|
||
|
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
|
||
|
|
||
|
adapter.Fill(dt);
|
||
|
|
||
|
}
|
||
|
catch (SqlException ex)
|
||
|
{
|
||
|
throw new Exception($"系统无法连接到数据库:{dbSetting},请检查配置的服务器,数据库,用户名和密码等信息是否正确。{Environment.NewLine}{ex}");
|
||
|
}
|
||
|
return dt;
|
||
|
}
|
||
|
public static ResultObject<bool> Save_TES_SUPPLIER(List<long> p_listUid, EnumTaskState p_state)
|
||
|
{
|
||
|
|
||
|
ResultObject<bool> _ret = new ResultObject<bool>();
|
||
|
try
|
||
|
{
|
||
|
using (var db = EntitiesFactory.CreateExchangeCenterInstance())
|
||
|
{
|
||
|
var _lst = db.TES_SUPPLIER.Where(p => p_listUid.Contains(p.UID)).ToList();
|
||
|
foreach (var itm in _lst)
|
||
|
{
|
||
|
db.TES_SUPPLIER.AddOrUpdate(itm);
|
||
|
}
|
||
|
if (db.SaveChanges() != -1)
|
||
|
{
|
||
|
_ret.State = ReturnStatus.Succeed;
|
||
|
_ret.Result = true;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
_ret.State = ReturnStatus.Failed;
|
||
|
_ret.Result = false;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
catch (Exception e)
|
||
|
{
|
||
|
_ret.State = ReturnStatus.Failed;
|
||
|
LogHelper.Writlog(LogHelper.LogType.Error, typeof(TES_SUPPLIER), "Save_TES_SUPPLIER", e.Message);
|
||
|
_ret.Result = false;
|
||
|
_ret.ErrorList.Add(e);
|
||
|
throw e;
|
||
|
}
|
||
|
return _ret;
|
||
|
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
public ResultObject<bool> Del_TES_SUPPLIER(List<TES_SUPPLIER> p_entitys)
|
||
|
{
|
||
|
ResultObject<bool> _ret = new ResultObject<bool>();
|
||
|
try
|
||
|
{
|
||
|
using (var db = EntitiesFactory.CreateExchangeCenterInstance())
|
||
|
{
|
||
|
foreach (var itm in p_entitys)
|
||
|
{
|
||
|
db.TES_SUPPLIER.Remove(itm);
|
||
|
}
|
||
|
if (db.SaveChanges() != -1)
|
||
|
{
|
||
|
_ret.State = ReturnStatus.Succeed;
|
||
|
_ret.Result = true;
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
_ret.State = ReturnStatus.Failed;
|
||
|
_ret.Result = false;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
catch (Exception e)
|
||
|
{
|
||
|
_ret.State = ReturnStatus.Failed;
|
||
|
_ret.Result = false;
|
||
|
_ret.ErrorList.Add(e);
|
||
|
LogHelper.Writlog(LogHelper.LogType.Error, typeof(TES_SUPPLIER), "Del_TES_SUPPLIER", e.Message); throw e;
|
||
|
}
|
||
|
return _ret;
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|