You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

655 lines
30 KiB
C#

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

using Dapper;
using Estsh.Core.Base;
using Estsh.Core.Dapper;
using Estsh.Core.IRepositories;
using Estsh.Core.Model.Result;
using Estsh.Core.Models;
using Estsh.Core.Repository.IRepositories;
using System.Collections;
using System.Data;
using System.Text;
/***************************************************************************************************
*
* 更新人sitong.dong
* 描述SAP指令导入模块数据库访问类
* 修改时间2022.06.22
* 修改日志:系统迭代升级
*
**************************************************************************************************/
namespace Estsh.Core.Repositories
{
/// <summary>
/// 数据库访问类处理SAP指令导入模块的数据
/// </summary>
public class SAPOrderImportRepository : BaseRepository<BaseEntity>, ISAPOrderImportRepository
{
public SAPOrderImportRepository(DapperDbContext _dapperDbContext) : base(_dapperDbContext)
{
}
#region 公共方法
/// <summary>
/// 根据零件号查询零件信息
/// </summary>
/// <param name="partNo">零件号</param>
/// <returns>零件信息</returns>
public List<SysPart> getPartInfo(string partNo)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string SqlString = "SELECT * FROM dbo.sys_part WHERE part_no=@partNo AND enabled='Y'";
DynamicParameters Params = new DynamicParameters();
Params.Add("@partNo", partNo);
List<SysPart> result = dbConn.Query<SysPart>(SqlString, Params).ToList();
return result;
}
}
/// <summary>
/// 根据厂区代码查询厂区信息
/// </summary>
/// <param name="factoryCode">厂区代码</param>
/// <returns>厂区信息</returns>
public List<SysFactory> getFactoryInfo(string factoryCode)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string SqlString = "SELECT * FROM dbo.sys_factory WHERE factory_code = @factory_code AND enabled='Y'";
DynamicParameters Params = new DynamicParameters();
Params.Add("@factory_code", factoryCode);
List<SysFactory> result = dbConn.Query<SysFactory>(SqlString, Params).ToList();
return result;
}
}
/// <summary>
/// 获取工厂代码
/// </summary>
/// <returns></returns>
public List<SysFactory> getFactoryCode()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sqlString = "SELECT DISTINCT factory_code from sys_factory where enabled = 'Y' ";
List<SysFactory> result = dbConn.Query<SysFactory>(sqlString).ToList();
return result;
}
}
/// <summary>
/// 根据库存地查询库存地信息
/// </summary>
/// <param name="erpWarehouse">库存地</param>
/// <returns>库存地信息</returns>
public List<SysWarehouse> getErpWarehouseInfo(string erpWarehouse)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string SqlString = "SELECT * from sys_zone WHERE erp_warehouse = @erpWarehouse AND enabled = 'Y' ";
DynamicParameters Params = new DynamicParameters();
Params.Add("@erpWarehouse", erpWarehouse);
List<SysWarehouse> result = dbConn.Query<SysWarehouse>(SqlString, Params).ToList();
return result;
}
}
/// <summary>
/// 根据供应商代码获取供应商信息
/// </summary>
/// <param name="vendorCode"></param>
/// <returns></returns>
public List<SysVendor> getVendorInfo(string vendorCode)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sqlString = "SELECT * from sys_vendor where enabled = 'Y' AND vendor_code = @vendor_code";
DynamicParameters Params = new DynamicParameters();
Params.Add("@vendor_code", vendorCode);
List<SysVendor> result = dbConn.Query<SysVendor>(sqlString, Params).ToList();
return result;
}
}
/// <summary>
/// 根据客户编码获取客户信息
/// </summary>
/// <param name="customCode"></param>
/// <returns></returns>
public List<SysCustomer> getCustomerInfo(string customCode)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sqlString = "SELECT * from sys_customer where enabled = 'Y' AND customer_code = @customer_code";
DynamicParameters Params = new DynamicParameters();
Params.Add("@customer_code", customCode);
List<SysCustomer> result = dbConn.Query<SysCustomer>(sqlString, Params).ToList();
return result;
}
}
/// <summary>
/// 执行sql语句带事务
/// </summary>
/// <param name="SqlStrings"></param>
/// <param name="Parameters"></param>
/// <returns></returns>
public bool ExecuteSqlTransaction(List<string> SqlStrings)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
IDbTransaction transaction = dbConn.BeginTransaction();
try
{
for (int i = 0; i < SqlStrings.Count; i++)
{
dbConn.Execute(SqlStrings[i], null, transaction);
}
transaction.Commit();
return true;
}
catch (Exception ex)
{
transaction.Rollback();
return false;
}
}
}
/// <summary>
/// 执行sql语句带事务
/// </summary>
/// <param name="SqlStrings"></param>
/// <param name="Parameters"></param>
/// <returns></returns>
public bool ExecuteSqlTransaction(List<string> SqlStrings, List<DynamicParameters> Parameters,ref string msg)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
IDbTransaction transaction = dbConn.BeginTransaction();
try
{
for (int i = 0; i < SqlStrings.Count; i++)
{
dbConn.Execute(SqlStrings[i], Parameters[i], transaction);
}
transaction.Commit();
return true;
}
catch (Exception ex)
{
transaction.Rollback();
msg = ex.Message;
return false;
}
}
}
#endregion
#region 采购计划
/// <summary>
/// 获取周计划编号
/// </summary>
/// <returns></returns>
public string GetWeekNo()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
DynamicParameters parameter = new DynamicParameters();
parameter.Add("@weekNo", null, DbType.String, ParameterDirection.Output, 255);
List<dynamic> depts = dbConn.Query<dynamic>("sys_create_sapo_wo", parameter, commandType: CommandType.StoredProcedure).ToList();
return parameter.Get<string>("@weekNo");
}
}
/// <summary>
/// 获取订单编号
/// </summary>
/// <returns></returns>
public string GetOrderNo()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
DynamicParameters parameter = new DynamicParameters();
parameter.Add("@orderNo", null, DbType.String, ParameterDirection.Output, 255);
List<dynamic> depts = dbConn.Query<dynamic>("sys_create_sapo_no", parameter, commandType: CommandType.StoredProcedure).ToList();
return parameter.Get<string>("@orderNo");
}
}
/// <summary>
/// 获取订单编号
/// </summary>
/// <returns></returns>
public string GetMonthOrderNo()
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
DynamicParameters parameter = new DynamicParameters();
parameter.Add("@orderNo", null, DbType.String, ParameterDirection.Output, 255);
List<dynamic> depts = dbConn.Query<dynamic>("sys_create_sapo_mo", parameter, commandType: CommandType.StoredProcedure).ToList();
return parameter.Get<string>("@orderNo");
}
}
/// <summary>
/// 获取插入sap_dspo的语句
/// </summary>
/// <returns></returns>
public string InsertSAPOData()
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO dbo.SAP_DSPO (EBELN ,enabled,REVNO ,EVRTP ,LIFNR ,MATNR ,ZDEV_NUM, ");
SqlStringBuilder.Append("UNIT ,ZDATE ,ZCJSJ ,WERKS , LGORT , ZPZPS ,ZSTAS ,BSTRF ,RECUSR ,WEEKNO ) ");
SqlStringBuilder.Append("VALUES(@EBELN ,'Y',@REVNO ,@EVRTP ,@LIFNR ,@MATNR ,@ZDEV_NUM, ");
SqlStringBuilder.Append("@UNIT ,@ZDATE ,@ZCJSJ ,@WERKS , @LGORT , @ZPZPS ,@ZSTAS,@BSTRF,@RECUSR ,@WEEKNO )");
return SqlStringBuilder.ToString();
}
/// <summary>
/// 获取插入sap_dspo的语句
/// </summary>
/// <returns></returns>
public string InsertMonthlyPlanData()
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO SAP_IF_DF.[dbo].[SWEB_MONTHLY_PLAN] (EBELN ,REVNO ,EVRTP ,LIFNR ,MATNR ,ZDEV_NUM, ");
SqlStringBuilder.Append("UNIT ,ZDATE ,ZCJSJ ,WERKS , LGORT , ZPZPS ,ZSTAS ,BSTRF ,RECUSR ,WEEKNO ,MODEL_NO) ");
SqlStringBuilder.Append("VALUES(@EBELN ,@REVNO ,@EVRTP ,@LIFNR ,@MATNR ,@ZDEV_NUM, ");
SqlStringBuilder.Append("@UNIT ,@ZDATE ,@ZCJSJ ,@WERKS , @LGORT , @ZPZPS ,@ZSTAS,@BSTRF,@RECUSR ,@WEEKNO ,@MODEL_NO )");
return SqlStringBuilder.ToString();
}
public List<SapDspo> IfZDATE(string zdate, string lifnr, string zcjsj)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string SqlString = "SELECT * FROM dbo.SAP_DSPO WHERE zdate='" + zdate + "' AND lifnr='" + lifnr + "' AND zcjsj='" + zcjsj + "'";
List<SapDspo> result = dbConn.Query<SapDspo>(SqlString).ToList();
return result;
}
}
public bool delDSPO(string zdate, string lifnr)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string SqlString = "update SAP_DSPO set Enabled='N' WHERE zdate='" + zdate + "' AND lifnr='" + lifnr + "'";
int result = dbConn.Execute(SqlString);
return result > 0 ? true : false;
}
}
public string updateSapDspo(string EBELN, string REVNO, int EVRTP, string LIFNR, string MATNR,
string ZDEV_NUM, string UNIT, string PSTYP, string ZDATE, string ZCJSJ, string WERKS,
string LGORT, string ZPZPS, string ZSTAS, decimal BSTRF)
{
string sqlString = string.Format("UPDATE SAP_DSPO SET EBELN = '{0}', REVNO = '{1}', EVRTP = {2}," +
" LIFNR = '{3}', MATNR = '{4}', ZDEV_NUM = '{5}', UNIT = '{6}', PSTYP = '{7}', ZDATE = '{8}', " +
" ZCJSJ = '{9}', WERKS = '{10}', LGORT = '{11}', ZPZPS = '{12}', ZSTAS = '{13}', BSTRF = '{14}',RECYMD = {15},RECHMS = {16} " +
" WHERE EBELN = '{0}' AND EVRTP = {2} ", EBELN, REVNO, EVRTP, LIFNR, MATNR,
ZDEV_NUM, UNIT, PSTYP, ZDATE, ZCJSJ, WERKS, LGORT, ZPZPS, ZSTAS, BSTRF,
"CONVERT(VARCHAR(100),GETDATE(),23)", "CONVERT(VARCHAR(100),GETDATE(),108)");
return sqlString;
}
public string insertSapDspo(string EBELN, string REVNO, int EVRTP, string LIFNR, string MATNR,
string ZDEV_NUM, string UNIT, string PSTYP, string ZDATE, string ZCJSJ, string WERKS,
string LGORT, string ZPZPS, string ZSTAS, decimal BSTRF)
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO SAP_DSPO (EBELN ,enabled,REVNO ,EVRTP ,LIFNR ,MATNR ,ZDEV_NUM, ");
SqlStringBuilder.Append("UNIT ,PSTYP ,ZDATE ,ZCJSJ ,WERKS , LGORT , ZPZPS ,ZSTAS,LOEKZ,BSTRF,PRNNUM) ");
SqlStringBuilder.Append(string.Format("VALUES('{0}','Y','{1}',{2},'{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}',{15},{16} )",
EBELN, REVNO, EVRTP, LIFNR, MATNR, ZDEV_NUM, UNIT, PSTYP, ZDATE, ZCJSJ, WERKS, LGORT, ZPZPS, ZSTAS, "", BSTRF, 0));
return SqlStringBuilder.ToString();
}
/// <summary>
/// 通过单号和行号获取订单数据
/// </summary>
/// <param name="ebeln"></param>
/// <param name="evrtp"></param>
/// <returns></returns>
public List<SapDspo> getSapDspoInfo(string ebeln, string evrtp)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string SqlString = "SELECT * FROM SAP_IF_DF.dbo.SAP_DSPO WHERE EBELN = @EBELN AND EVRTP = @EVRTP ";
DynamicParameters Params = new DynamicParameters();
Params.Add("@EBELN", ebeln);
Params.Add("@EVRTP", evrtp);
List<SapDspo> result = dbConn.Query<SapDspo>(SqlString, Params).ToList();
return result;
}
}
#endregion
#region 零星出入库
/// <summary>
/// 根据编号和行号获取零星出入库指令信息
/// </summary>
/// <param name="zinstNo"></param>
/// <param name="zeile"></param>
/// <returns></returns>
public List<SapMisco> getSapMiscoInfo(string zinstNo, string zeile)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sqlString = "SELECT * FROM SAP_MISCO WHERE ZINSTNO = @ZINSTNO AND ZEILE = @ZEILE ";
DynamicParameters Params = new DynamicParameters();
Params.Add("@ZINSTNO", zinstNo);
Params.Add("@ZEILE", zeile);
List<SapMisco> result = dbConn.Query<SapMisco>(sqlString, Params).ToList();
return result;
}
}
/// <summary>
/// 获得更新SAP_MISCO表的sql语句
/// </summary>
/// <param name="ZINSTNO"></param>
/// <param name="ZEILE"></param>
/// <param name="WERKS"></param>
/// <param name="LGORT"></param>
/// <param name="MATNR"></param>
/// <param name="ERFMG"></param>
/// <param name="ERFME"></param>
/// <param name="SOBKZ"></param>
/// <param name="HTEXT"></param>
/// <param name="ZZLZT"></param>
/// <param name="ZACTION"></param>
/// <returns></returns>
public string getUpdateSapMisco(string ZINSTNO, string ZEILE, string WERKS, string LGORT, string MATNR,
string ERFMG, string ERFME, string SOBKZ, string HTEXT, string ZZLZT, string ZACTION)
{
string sqlString = string.Format(" UPDATE SAP_MISCO SET ZINSTNO = '{0}', ZEILE = {1}, WERKS = {2}," +
" LGORT = '{3}', MATNR = '{4}', ERFMG = '{5}', ERFME = '{6}', ZZLZT = '{7}', ZACTION = '{8}',SOBKZ='{9}',HTEXT='{10}', " +
" RECYMD = {11},RECHMS = {12} " +
" WHERE ZINSTNO = '{0}' AND ZEILE = {1} AND ZACTION='{13}' ", ZINSTNO, ZEILE, WERKS, LGORT, MATNR, ERFMG, ERFME, ZZLZT, ZACTION, SOBKZ, HTEXT,
" CONVERT(VARCHAR(100),GETDATE(),23)", "CONVERT(VARCHAR(100),GETDATE(),108)", ZACTION);
return sqlString;
}
/// <summary>
/// 获得插入SAP_MISCO表的sql语句
/// </summary>
/// <param name="ZINSTNO"></param>
/// <param name="ZEILE"></param>
/// <param name="WERKS"></param>
/// <param name="LGORT"></param>
/// <param name="MATNR"></param>
/// <param name="ERFMG"></param>
/// <param name="ERFME"></param>
/// <param name="SOBKZ"></param>
/// <param name="HTEXT"></param>
/// <param name="ZZLZT"></param>
/// <param name="ZACTION"></param>
/// <returns></returns>
public string getInsertSapMisco(string ZINSTNO, string ZEILE, string WERKS, string LGORT, string MATNR,
string ERFMG, string ERFME, string SOBKZ, string HTEXT, string ZZLZT, string ZACTION)
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO SAP_MISCO (ZINSTNO ,ZEILE ,WERKS ,LGORT ,MATNR ,ERFMG,");
SqlStringBuilder.Append("ERFME,SOBKZ,HTEXT,ZZLZT,ZACTION,GUID) ");
SqlStringBuilder.Append(string.Format("VALUES('{0}',{1},{2},'{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}',NEWID())",
ZINSTNO, ZEILE, WERKS, LGORT, MATNR, ERFMG, ERFME, SOBKZ, HTEXT, ZZLZT, ZACTION));
return SqlStringBuilder.ToString();
}
#endregion
#region 非JIS发运
/// <summary>
/// 根据编号和行号获取非JIS发运指令
/// </summary>
/// <param name="vbeln"></param>
/// <param name="postnr"></param>
/// <returns></returns>
public List<SapDn> getSapDnInfo(string vbeln, string postnr)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sqlString = "SELECT * FROM SAP_DN WHERE VBELN = @VBELN AND POSNR = @POSNR";
DynamicParameters Params = new DynamicParameters();
Params.Add("@VBELN", vbeln);
Params.Add("@POSNR", postnr);
List<SapDn> result = dbConn.Query<SapDn>(sqlString, Params).ToList();
return result;
}
}
/// <summary>
/// 获取插入sap_dn表的语句
/// </summary>
/// <param name="VBELN"></param>
/// <param name="POSNR"></param>
/// <param name="WERKS"></param>
/// <param name="LGORT"></param>
/// <param name="LFDAT"></param>
/// <param name="KUNNR"></param>
/// <param name="MATNR"></param>
/// <param name="KDMAT"></param>
/// <param name="LFIMG"></param>
/// <param name="MEINS"></param>
/// <returns></returns>
public string getInsertSapDn(string VBELN, string POSNR, string WERKS, string LGORT, string LFDAT,
string KUNNR, string MATNR, string KDMAT, string LFIMG, string MEINS)
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO SAP_DN ([VBELN],[POSNR],[WERKS],[LGORT],[LFDAT],[KUNNR],");
SqlStringBuilder.Append("[MATNR],[KDMAT],[LFIMG],[MEINS],GUID) ");
SqlStringBuilder.Append(string.Format("VALUES('{0}','{1}',{2},'{3}','{4}','{5}','{6}','{7}','{8}','{9}',NEWID())",
VBELN, POSNR, WERKS, LGORT, LFDAT, KUNNR, MATNR, KDMAT, LFIMG, MEINS));
return SqlStringBuilder.ToString();
}
#endregion
#region SAP供应商退货指令SMRR/DMR)
/// <summary>
/// 根据编号和行号获取供应商退货指令信息
/// </summary>
/// <param name="zinstno"></param>
/// <param name="zeile"></param>
/// <returns></returns>
public List<SapReto> getSapRetoInfo(string zinstno, string zeile)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sqlString = "SELECT * FROM SAP_RETO WHERE ZINSTNO = @ZINSTNO AND ZEILE = @ZEILE";
DynamicParameters Params = new DynamicParameters();
Params.Add("@ZINSTNO", zinstno);
Params.Add("@ZEILE", zeile);
List<SapReto> result = dbConn.Query<SapReto>(sqlString, Params).ToList();
return result;
}
}
public string getUpdateSapReto(string ZACTION, string ZINSTNO, string ZEILE, string LIFNR, string UMWRK, string MATNR,
string LGORT, string ERFMG, string ERFME, string BKTXT, string ZQMD, string ZZLZT)
{
string sqlString = string.Format(" UPDATE SAP_RETO SET ZACTION = '{0}', LIFNR = '{3}', UMWRK = {4}," +
" MATNR = '{5}', LGORT = '{6}', ERFMG = '{7}', ERFME = '{8}', BKTXT = '{9}', ZQMD = '{10}',ZZLZT='{11}', " +
" RECYMD = {12},RECHMS = {13} " +
" WHERE ZINSTNO = '{1}' AND ZEILE ='{2}' AND ZACTION='{14}' ", ZACTION, ZINSTNO, ZEILE, LIFNR, UMWRK, MATNR, LGORT, ERFMG, ERFME, BKTXT, ZQMD, ZZLZT,
" CONVERT(VARCHAR(100),GETDATE(),23)", "CONVERT(VARCHAR(100),GETDATE(),108)", ZACTION);
return sqlString;
}
public string getInsertSapReto(string ZACTION, string ZINSTNO, string ZEILE, string LIFNR, string UMWRK, string MATNR,
string LGORT, string ERFMG, string ERFME, string BKTXT, string ZQMD, string ZZLZT)
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO SAP_RETO (ZACTION,ZINSTNO,ZEILE,");
SqlStringBuilder.Append("LIFNR,UMWRK,MATNR,LGORT,ERFMG,ERFME,BKTXT,ZQMD,ZZLZT,GUID) ");
SqlStringBuilder.Append(string.Format("VALUES('{0}','{1}',{2},'{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}',NEWID())",
ZACTION, ZINSTNO, ZEILE, LIFNR, UMWRK, MATNR, LGORT, ERFMG, ERFME, BKTXT, ZQMD, ZZLZT));
return SqlStringBuilder.ToString();
}
#endregion
#region SAP NC入库指令
public List<SapMovo> getSapMovoInfo(string refid, string zeile)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sqlString = "SELECT * FROM SAP_MOVO WHERE REFID = @REFID AND ZEILE = @ZEILE";
DynamicParameters Params = new DynamicParameters();
Params.Add("@REFID", refid);
Params.Add("@ZEILE", zeile);
List<SapMovo> result = dbConn.Query<SapMovo>(sqlString, Params).ToList();
return result;
}
}
public string getUpdateSapMovo(string REFID, string ACTION, string ZEILE, string WERKS, string LGORT, string UMLGO,
string MATNR, string UMMAT, string ERFMG, string ERFME, string ZSTAT, string SOBKZ, string HTEXT, string ZZLZT, string SGTXT, string ORDTYP)
{
string sqlString = string.Format(" UPDATE SAP_MOVO SET WERKS = '{0}', LGORT = '{1}', UMLGO = {2}," +
" MATNR = '{3}', UMMAT = '{4}', ERFMG = '{5}', ERFME = '{6}', ZSTAT = '{7}', SOBKZ = '{8}',HTEXT='{9}',ZZLZT='{10}',SGTXT='{11}', " +
" RECYMD = {14},RECHMS = {15} ,ORDTYP='{17}'" +
" WHERE REFID = '{12}' AND ZEILE = {13} AND ACTION='{16}' ", WERKS, LGORT, UMLGO, MATNR, UMMAT, ERFMG, ERFME, ZSTAT, SOBKZ, HTEXT, ZZLZT, SGTXT, REFID, ZEILE,
" CONVERT(VARCHAR(100),GETDATE(),23)", "CONVERT(VARCHAR(100),GETDATE(),108)", ACTION, ORDTYP);
return sqlString;
}
public string getInsertSapMovo(string REFID, string ACTION, string ZEILE, string WERKS, string LGORT, string UMLGO,
string MATNR, string UMMAT, string ERFMG, string ERFME, string ZSTAT, string SOBKZ, string HTEXT, string ZZLZT, string SGTXT, string ORDTYP)
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO SAP_MOVO (REFID,ACTION,ZEILE,WERKS,LGORT,UMLGO,MATNR,UMMAT,ERFMG,ERFME,ZSTAT,SOBKZ,");
SqlStringBuilder.Append("HTEXT,ZZLZT,SGTXT,ORDTYP,GUID) ");
SqlStringBuilder.Append(string.Format("VALUES('{0}','{1}',{2},'{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}',NEWID())",
REFID, ACTION, ZEILE, WERKS, LGORT, UMLGO, MATNR, UMMAT, ERFMG, ERFME, ZSTAT, SOBKZ, HTEXT, ZZLZT, SGTXT, ORDTYP));
return SqlStringBuilder.ToString();
}
#endregion
#region SAP 盘点表
public List<SapCyco> getSapCycoInfo(string iblnr, string zeili)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sqlString = "SELECT * FROM SAP_CYCO WHERE IBLNR = @IBLNR AND ZEILI = @ZEILI ";
DynamicParameters Params = new DynamicParameters();
Params.Add("@IBLNR", iblnr);
Params.Add("@ZEILI", zeili);
List<SapCyco> result = dbConn.Query<SapCyco>(sqlString, Params).ToList();
return result;
}
}
public string getInsertSapCyco(string IBLNR, string ZEILI, string MATNR, string MEINS, string WERKS, string LGORT, string ZSTAT, string SOBKZ, string ZXM,
string ZDJBS, string XLOEK, string GJAHR)
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO SAP_CYCO (IBLNR,ZEILI,MATNR,");
SqlStringBuilder.Append(" MEINS,WERKS,LGORT,ZSTAT,SOBKZ,ZXM,ZDJBS,XLOEK,GJAHR,GUID) ");
SqlStringBuilder.Append(string.Format("VALUES('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}',NEWID())",
IBLNR, ZEILI, MATNR, MEINS, WERKS, LGORT, ZSTAT, SOBKZ, ZXM, ZDJBS, XLOEK, GJAHR));
return SqlStringBuilder.ToString();
}
#endregion
#region SAP 盘点调差指令
public List<SapDifo> getSapDifoInfo(string iblnr, string zeili)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sqlString = "SELECT * FROM SAP_DIFO WHERE IBLNR = @IBLNR AND ZEILI = @ZEILI ";
DynamicParameters Params = new DynamicParameters();
Params.Add("@IBLNR", iblnr);
Params.Add("@ZEILI", zeili);
List<SapDifo> result = dbConn.Query<SapDifo>(sqlString, Params).ToList();
return result;
}
}
public string getInsertSapDifo(string WERKS, string IBLNR, string ZEILI, string ZTZBS, string GJAHR)
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO SAP_DIFO (WERKS,IBLNR,ZEILI,");
SqlStringBuilder.Append(" ZTZBS,GJAHR,GUID) ");
SqlStringBuilder.Append(string.Format("VALUES('{0}','{1}','{2}','{3}','{4}',NEWID())", WERKS, IBLNR, ZEILI, ZTZBS, GJAHR));
return SqlStringBuilder.ToString();
}
/// <summary>
/// 获取盘点单信息
/// </summary>
/// <returns></returns>
public List<WmsCheckStock> getCheckStockInfo(string orderNo)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sqlString = " select * from wms_check_stock where enabled = 'Y' AND status = 'C' AND order_no = @order_no ";
DynamicParameters Params = new DynamicParameters();
Params.Add("@order_no", orderNo);
List<WmsCheckStock> result = dbConn.Query<WmsCheckStock>(sqlString, Params).ToList();
return result;
}
}
#endregion
#region 销售退货收货指令
public List<SapRdn> getSapRdnInfo(string vbeln, string postnr)
{
using (IDbConnection dbConn = dapperDbContext.GetDbConnection())
{
dbConn.Open();
string sqlString = "SELECT * FROM SAP_RDN WHERE VBELN = @VBELN AND POSNR = @POSNR ";
DynamicParameters Params = new DynamicParameters();
Params.Add("@VBELN", vbeln);
Params.Add("@POSNR", postnr);
List<SapRdn> result = dbConn.Query<SapRdn>(sqlString, Params).ToList();
return result;
}
}
public string getInsertSapRdn(string VBELN, string POSNR, string WERKS, string LGORT, string LFDAT, string KUNNR,
string MATNR, string LFIMG, string MEINS)
{
StringBuilder SqlStringBuilder = new StringBuilder(1024);
SqlStringBuilder.Append("INSERT INTO SAP_RDN (VBELN,POSNR,WERKS,LGORT,LFDAT,");
SqlStringBuilder.Append("KUNNR,MATNR,LFIMG,MEINS,GUID) ");
SqlStringBuilder.Append(string.Format("VALUES('{0}','{1}',{2},'{3}','{4}','{5}','{6}','{7}','{8}',NEWID())",
VBELN, POSNR, WERKS, LGORT, LFDAT, KUNNR, MATNR, LFIMG, MEINS));
return SqlStringBuilder.ToString();
}
#endregion
}
}