using System;
using System.Collections.Generic;
using System.Data;
using Curtain.DataAccess;
///
/// SapFinishMenge 的摘要说明
///
public class SapMaterialCode
{
///
/// 更新物料主数据
///
///
///
public static string SyncSapMaterialCode()
{
try
{
string ZTYPE;
string ZMSG;
int result = 0;
DataTable dtResult = SapApi.ZMMFM054(out ZTYPE, out ZMSG, "TimeInterval", "", "");
if (dtResult != null && dtResult.Rows.Count > 0)
{
using (IDataAccess conn = DataAccess.Create())
{
// 开启事务
conn.BeginTransaction();
string sqlStr = @"SELECT * FROM TP_PC_SAPBOMDETAIL ";
List sqlPara = new List();
DataTable dt = conn.ExecuteDatatable(sqlStr, sqlPara.ToArray());
string sqlString = "";
foreach (DataRow row in dtResult.Rows)
{
DataRow[] drs = dt.Select("MATNR='" + row["MATNR"] + "' AND WERKS = '" + 5320 + "'");
if (drs != null && drs.Length > 0)
{
//修改
sqlString = @"
update TP_PC_SAPBOMDETAIL set
MAKTX=@MAKTX@
,MATKL=@MATKL@
,WGBEZ=@WGBEZ@
,MEINS=@MEINS@
,LABOR=@LABOR@
,LGFSB=@LGFSB@
,MTART=@MTART@
,LVORM=@LVORM@
,BSTRF=@BSTRF@
,PRDHA=@PRDHA@
,VTEXT=@VTEXT@
,BSTME=@BSTME@
,VOLUM=@VOLUM@
,BESKZ=@BESKZ@
,SOBSL=@SOBSL@
,LGPRO=@LGPRO@
,MTPOSMARA=@MTPOSMARA@
,GROES=@GROES@
,STPRS=@STPRS@
,UMREZ=@UMREZ@
,PEINH=@PEINH@
,XCHAR=@XCHAR@
,ZGG=@ZGG@
,ZYS=@ZYS@
,ZCSJ=@ZCSJ@
,VRKME=@VRKME@
,ERSDA=@ERSDA@
,MAABC=@MAABC@
,BRGEW=@BRGEW@
,NTGEW=@NTGEW@
,VOLEH=@VOLEH@
,ZWLFL=@ZWLFL@
,ZWXGG=@ZWXGG@
,ZWXMZ=@ZWXMZ@
,ZWXJZ=@ZWXJZ@
,ZEWSL=@ZEWSL@
,ZEWDW=@ZEWDW@
,ZMEINS=@ZMEINS@
,ZZXBZ=@ZZXBZ@
,ZWYM=@ZWYM@
,ZNMAE=@ZNMAE@
,ZMYYSL=@ZMYYSL@
,ZCPCCBZQ=@ZCPCCBZQ@
,ZCPCCBZH=@ZCPCCBZH@
,ZBY1=@ZBY1@
,ZBY2=@ZBY2@
,ZBY3=@ZBY3@
,ZBY4=@ZBY4@
,ZBY5=@ZBY5@
,ZBY6=@ZBY6@
,ZWLJC=@ZWLJC@
,ACCOUNTID=@ACCOUNTID@
,VALUEFLAG =@VALUEFLAG@
where MATNR=@MATNR@ and WERKS=@WERKS@";
}
else
{
//添加
sqlString = @"
INSERT INTO TP_PC_SAPBOMDETAIL (
MATNR
,WERKS
,MAKTX
,MATKL
,WGBEZ
,MEINS
,LABOR
,LGFSB
,MTART
,LVORM
,BSTRF
,PRDHA
,VTEXT
,BSTME
,VOLUM
,BESKZ
,SOBSL
,LGPRO
,MTPOSMARA
,GROES
,STPRS
,UMREZ
,PEINH
,XCHAR
,ZGG
,ZYS
,ZCSJ
,VRKME
,ERSDA
,MAABC
,BRGEW
,NTGEW
,VOLEH
,ZWLFL
,ZWXGG
,ZWXMZ
,ZWXJZ
,ZEWSL
,ZEWDW
,ZMEINS
,ZZXBZ
,ZWYM
,ZNMAE
,ZMYYSL
,ZCPCCBZQ
,ZCPCCBZH
,ZBY1
,ZBY2
,ZBY3
,ZBY4
,ZBY5
,ZBY6
,ACCOUNTID
,VALUEFLAG
,CREATEUSERID
,UPDATEUSERID
,ZWLJC
) values(
@MATNR@
,@WERKS@
,@MAKTX@
,@MATKL@
,@WGBEZ@
,@MEINS@
,@LABOR@
,@LGFSB@
,@MTART@
,@LVORM@
,@BSTRF@
,@PRDHA@
,@VTEXT@
,@BSTME@
,@VOLUM@
,@BESKZ@
,@SOBSL@
,@LGPRO@
,@MTPOSMARA@
,@GROES@
,@STPRS@
,@UMREZ@
,@PEINH@
,@XCHAR@
,@ZGG@
,@ZYS@
,@ZCSJ@
,@VRKME@
,@ERSDA@
,@MAABC@
,@BRGEW@
,@NTGEW@
,@VOLEH@
,@ZWLFL@
,@ZWXGG@
,@ZWXMZ@
,@ZWXJZ@
,@ZEWSL@
,@ZEWDW@
,@ZMEINS@
,@ZZXBZ@
,@ZWYM@
,@ZNMAE@
,@ZMYYSL@
,@ZCPCCBZQ@
,@ZCPCCBZH@
,@ZBY1@
,@ZBY2@
,@ZBY3@
,@ZBY4@
,@ZBY5@
,@ZBY6@
,@ACCOUNTID@
,@VALUEFLAG@
,@CREATEUSERID@
,@UPDATEUSERID@
,@ZWLJC@
)";
}
result += conn.ExecuteNonQuery(sqlString,
new CDAParameter("MATNR", row["MATNR"]),
new CDAParameter("WERKS", "5320"),
new CDAParameter("MAKTX", row["MAKTX"]),
new CDAParameter("MATKL", row["MATKL"]),
new CDAParameter("WGBEZ", row["WGBEZ"]),
new CDAParameter("MEINS", row["MEINS"]),
new CDAParameter("LABOR", row["LABOR"]),
new CDAParameter("LGFSB", row["LGFSB"]),
new CDAParameter("MTART", row["MTART"]),
new CDAParameter("LVORM", row["LVORM"]),
new CDAParameter("BSTRF", row["BSTRF"]),
new CDAParameter("PRDHA", row["PRDHA"]),
new CDAParameter("VTEXT", row["VTEXT"]),
new CDAParameter("BSTME", row["BSTME"]),
new CDAParameter("VOLUM", row["VOLUM"]),
new CDAParameter("BESKZ", row["BESKZ"]),
new CDAParameter("SOBSL", row["SOBSL"]),
new CDAParameter("LGPRO", row["LGPRO"]),
new CDAParameter("MTPOSMARA", row["MTPOS_MARA"]),
new CDAParameter("GROES", row["GROES"]),
new CDAParameter("STPRS", row["STPRS"]),
new CDAParameter("UMREZ", row["UMREZ"]),
new CDAParameter("PEINH", row["PEINH"]),
new CDAParameter("XCHAR", row["XCHAR"]),
new CDAParameter("ZGG", row["ZGG"]),
new CDAParameter("ZYS", row["ZYS"]),
new CDAParameter("ZCSJ", row["ZCSJ"]),
new CDAParameter("VRKME", row["VRKME"]),
new CDAParameter("ERSDA", row["ERSDA"]),
new CDAParameter("MAABC", row["MAABC"]),
new CDAParameter("BRGEW", row["BRGEW"]),
new CDAParameter("NTGEW", row["NTGEW"]),
new CDAParameter("VOLEH", row["VOLEH"]),
new CDAParameter("ZWLFL", row["ZWLFL"]),
new CDAParameter("ZWXGG", row["ZWXGG"]),
new CDAParameter("ZWXMZ", row["ZWXMZ"]),
new CDAParameter("ZWXJZ", row["ZWXJZ"]),
new CDAParameter("ZEWSL", row["ZEWSL"]),
new CDAParameter("ZEWDW", row["ZEWDW"]),
new CDAParameter("ZMEINS", row["ZMEINS"]),
new CDAParameter("ZZXBZ", row["ZZXBZ"]),
new CDAParameter("ZWYM", row["ZWYM"]),
new CDAParameter("ZNMAE", row["ZNMAE"]),
new CDAParameter("ZMYYSL", row["ZMYYSL"]),
new CDAParameter("ZCPCCBZQ", row["ZCPCC_BZQ"]),
new CDAParameter("ZCPCCBZH", row["ZCPCC_BZH"]),
new CDAParameter("ZBY1", row["ZBY1"]),
new CDAParameter("ZBY2", row["ZBY2"]),
new CDAParameter("ZBY3", row["ZBY3"]),
new CDAParameter("ZBY4", row["ZBY4"]),
new CDAParameter("ZBY5", row["ZBY5"]),
new CDAParameter("ZBY6", row["ZBY6"]),
new CDAParameter("ACCOUNTID", 1),
new CDAParameter("VALUEFLAG", 1),
new CDAParameter("CREATEUSERID",1), //HttpContext.Current.Session["userId"]),
new CDAParameter("UPDATEUSERID", 1), //HttpContext.Current.Session["userId"]),
new CDAParameter("ZWLJC", row["ZEXTN1"])
);
}
if (result > 0)
{
conn.Commit();
}
else
{
conn.Rollback();
}
}
}
return "操作成功:" + result;
}
catch (Exception e)
{
return "操作失败:" + e.Message;
}
}
}