diff --git a/ICSSoft.FromERP/ICSSoft.FromERP/App.config b/ICSSoft.FromERP/ICSSoft.FromERP/App.config
index 48f04d9..e5536af 100644
--- a/ICSSoft.FromERP/ICSSoft.FromERP/App.config
+++ b/ICSSoft.FromERP/ICSSoft.FromERP/App.config
@@ -9,12 +9,12 @@
-
+
-
-
+
+
diff --git a/ICSSoft.FromERP/ICSSoft.FromERP/ICSDeliveryNotice.cs b/ICSSoft.FromERP/ICSSoft.FromERP/ICSDeliveryNotice.cs
index c5f4fa1..7f34f2b 100644
--- a/ICSSoft.FromERP/ICSSoft.FromERP/ICSDeliveryNotice.cs
+++ b/ICSSoft.FromERP/ICSSoft.FromERP/ICSDeliveryNotice.cs
@@ -57,9 +57,9 @@ namespace ICSSoft.FromERP
{
SAPGetChkDocInfoVPN.ZWMS_SK_WS_CHECK client = new SAPGetChkDocInfoVPN.ZWMS_SK_WS_CHECK();
SAPGetChkDocInfoVPN.ZWMS_SK_WS_CHECK1 Info = new SAPGetChkDocInfoVPN.ZWMS_SK_WS_CHECK1();
- Info.PRUEFLOS = DocNO;
+ Info.PRUEFLOS = "";
Info.WERKS = dr["WorkPointCode"].ToString();
- Info.CHG_DATE = "";
+ Info.CHG_DATE = Date;
Info.ZCHECK_HEAD = new SAPGetChkDocInfoVPN.ZWMS_SK_CHECK_HEAD[1];
Info.ZCHECK_ITEM = new SAPGetChkDocInfoVPN.ZWMS_SK_CHECK_ITEM[1];
diff --git a/ICSSoft.FromERP/ICSSoft.FromERP/ICSDispatchDoc.cs b/ICSSoft.FromERP/ICSSoft.FromERP/ICSDispatchDoc.cs
index e55add5..0ec15b0 100644
--- a/ICSSoft.FromERP/ICSSoft.FromERP/ICSDispatchDoc.cs
+++ b/ICSSoft.FromERP/ICSSoft.FromERP/ICSDispatchDoc.cs
@@ -54,25 +54,25 @@ namespace ICSSoft.FromERP
#region 销售发退货单同步
foreach (DataRow dr in dt.Rows)
{
- SAPDispatchGetVPN.ZWMS_SK_DO_READ client = new SAPDispatchGetVPN.ZWMS_SK_DO_READ();
- SAPDispatchGetVPN.ZWMS_SK_DO_READ1 Info = new SAPDispatchGetVPN.ZWMS_SK_DO_READ1();
+ SAPDispatchGet.ZWMS_SK_DO_READ client = new SAPDispatchGet.ZWMS_SK_DO_READ();
+ SAPDispatchGet.ZWMS_SK_DO_READ1 Info = new SAPDispatchGet.ZWMS_SK_DO_READ1();
Info.VBELN = DocNO;
Info.CHG_DATE = "";
- Info.T_HEAD = new SAPDispatchGetVPN.ZWMS_DO_HEAD[1];
- Info.T_ITEM = new SAPDispatchGetVPN.ZWMS_DO_ITEM[1];
- Info.T_GERNR = new SAPDispatchGetVPN.ZWMS_DO_GERNR[1];
+ Info.T_HEAD = new SAPDispatchGet.ZWMS_DO_HEAD[1];
+ Info.T_ITEM = new SAPDispatchGet.ZWMS_DO_ITEM[1];
+ Info.T_GERNR = new SAPDispatchGet.ZWMS_DO_GERNR[1];
- SAPDispatchGetVPN.ZWMS_SK_DO_READResponse result = new SAPDispatchGetVPN.ZWMS_SK_DO_READResponse();
+ SAPDispatchGet.ZWMS_SK_DO_READResponse result = new SAPDispatchGet.ZWMS_SK_DO_READResponse();
result = client.CallZWMS_SK_DO_READ(Info);
- List ItemInfoList = new List();
+ List ItemInfoList = new List();
ItemInfoList.AddRange(result.T_ITEM);
- List SubLineInfoList = new List();
+ List SubLineInfoList = new List();
SubLineInfoList.AddRange(result.T_GERNR);
- foreach (SAPDispatchGetVPN.ZWMS_DO_HEAD HeadInfo in result.T_HEAD)
+ foreach (SAPDispatchGet.ZWMS_DO_HEAD HeadInfo in result.T_HEAD)
{
var ItemInfo = ItemInfoList.Where(a => a.VBELN == HeadInfo.VBELN);
int LineNum = 10;
- foreach (SAPDispatchGetVPN.ZWMS_DO_ITEM Item in ItemInfo)
+ foreach (SAPDispatchGet.ZWMS_DO_ITEM Item in ItemInfo)
{
if (Item.SERAIL != "ZS01")
{
@@ -131,7 +131,7 @@ namespace ICSSoft.FromERP
ExtensionID = Extensionline.ID;
}
- var rcvline = db.ICSSDN.SingleOrDefault(a => a.SDNCode == Item.VBELN && a.Sequence == Item.POSNR && a.WorkPoint == Item.WERKS);
+ var rcvline = db.ICSSDN.SingleOrDefault(a => a.SDNCode == Item.VBELN && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionID && a.WorkPoint == Item.WERKS);
if (rcvline == null)
{
isNew = true;
@@ -198,7 +198,7 @@ namespace ICSSoft.FromERP
else
{
var SubLineInfo = SubLineInfoList.Where(a => a.VBELN == Item.VBELN);
- foreach (SAPDispatchGetVPN.ZWMS_DO_GERNR SubInfo in SubLineInfo)
+ foreach (SAPDispatchGet.ZWMS_DO_GERNR SubInfo in SubLineInfo)
{
string ExtensionID = "";
bool isNew = false;
@@ -209,7 +209,7 @@ namespace ICSSoft.FromERP
}
else
{
- Colspan = "~~~~~000000~~~~~~~~~~";
+ Colspan = "~~" + SubInfo.GERNR + "~~000000~~~~~~~~~~";
}
var Extensionline = db.ICSExtension.SingleOrDefault(a => a.Colspan == Colspan);
if (Extensionline == null)
@@ -255,7 +255,7 @@ namespace ICSSoft.FromERP
ExtensionID = Extensionline.ID;
}
- var rcvline = db.ICSSDN.SingleOrDefault(a => a.SDNCode == Item.VBELN && a.Sequence == Item.POSNR && a.WorkPoint == Item.WERKS);
+ var rcvline = db.ICSSDN.SingleOrDefault(a => a.SDNCode == Item.VBELN && a.SAPSequence == Item.POSNR && a.ExtensionID== ExtensionID && a.WorkPoint == Item.WERKS);
if (rcvline == null)
{
isNew = true;
@@ -281,7 +281,7 @@ namespace ICSSoft.FromERP
{
rcvline.Type = "2";
}
- rcvline.Quantity = Item.LFIMG;//数量
+ rcvline.Quantity = 1;//数量
rcvline.Amount = 0;
rcvline.CreatePerson = "JOB";
rcvline.CreateDateTime = DateTime.Now;
diff --git a/ICSSoft.FromERP/ICSSoft.FromERP/ICSInventory.cs b/ICSSoft.FromERP/ICSSoft.FromERP/ICSInventory.cs
index 712b190..238463b 100644
--- a/ICSSoft.FromERP/ICSSoft.FromERP/ICSInventory.cs
+++ b/ICSSoft.FromERP/ICSSoft.FromERP/ICSInventory.cs
@@ -50,16 +50,16 @@ namespace ICSSoft.FromERP
{
foreach (DataRow dr in dt.Rows)
{
- SAPGetINVVPN.ZWMS_SK_MARA client = new SAPGetINVVPN.ZWMS_SK_MARA();
- SAPGetINVVPN.ZWMS_SK_MARA1 Info = new SAPGetINVVPN.ZWMS_SK_MARA1();
+ SAPGetINV.ZWMS_SK_MARA client = new SAPGetINV.ZWMS_SK_MARA();
+ SAPGetINV.ZWMS_SK_MARA1 Info = new SAPGetINV.ZWMS_SK_MARA1();
Info.WERKS = dr["WorkPointCode"].ToString();
- Info.LGORT = WHCode;
- //Info.CHG_DATE = Date;
- Info.T_MARA = new SAPGetINVVPN.ZWMS_MARA[1];
+ Info.LGORT = "";
+ Info.CHG_DATE = Date;
+ Info.T_MARA = new SAPGetINV.ZWMS_MARA[1];
- SAPGetINVVPN.ZWMS_SK_MARAResponse result = new SAPGetINVVPN.ZWMS_SK_MARAResponse();
+ SAPGetINV.ZWMS_SK_MARAResponse result = new SAPGetINV.ZWMS_SK_MARAResponse();
result = client.CallZWMS_SK_MARA(Info);
- foreach (SAPGetINVVPN.ZWMS_MARA item in result.T_MARA)
+ foreach (SAPGetINV.ZWMS_MARA item in result.T_MARA)
{
var line = db.ICSInventory.SingleOrDefault(a => a.InvCode == item.MATNR && a.WorkPoint == item.WERKS);
bool isNew = false;
diff --git a/ICSSoft.FromERP/ICSSoft.FromERP/ICSSAPDocGet.cs b/ICSSoft.FromERP/ICSSoft.FromERP/ICSSAPDocGet.cs
index a2f6a39..0d2569e 100644
--- a/ICSSoft.FromERP/ICSSoft.FromERP/ICSSAPDocGet.cs
+++ b/ICSSoft.FromERP/ICSSoft.FromERP/ICSSAPDocGet.cs
@@ -53,11 +53,13 @@ namespace ICSSoft.FromERP
{
foreach (DataRow dr in dt.Rows)
{
+ //1.wms读取sap时 SET_NOTMODIFY 传X。 sap会打上标识
+ //2. wms 更新失败 CLEAR_NOTMODIFY 传X。 sap会取消标识
SAPGetDocInfo.ZWMS_SK_WS_HEAD client = new SAPGetDocInfo.ZWMS_SK_WS_HEAD();
SAPGetDocInfo.ZWMS_SK_WS_HEAD1 DocInfo = new SAPGetDocInfo.ZWMS_SK_WS_HEAD1();
- DocInfo.DANJU = DocNO;
+ DocInfo.DANJU = "";
DocInfo.WERKS = dr["WorkPointCode"].ToString();
- DocInfo.CHG_DATE = "";
+ DocInfo.CHG_DATE = Date;
DocInfo.SET_NOTMODIFY = "";
DocInfo.CLEAR_NOTMODIFY = "";
DocInfo.Z_HEAD = new SAPGetDocInfo.ZWMS_SK_HEAD[1];
@@ -154,7 +156,7 @@ namespace ICSSoft.FromERP
ExtensionID = Extensionline.ID;
}
- var line = db.ICSDeliveryNotice.SingleOrDefault(a => a.DNCode == Item.DANJU && a.Sequence == Item.POSNR && a.WorkPoint == Info.WERKS);
+ var line = db.ICSDeliveryNotice.SingleOrDefault(a => a.DNCode == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionID && a.WorkPoint == Info.WERKS);
if (line == null)
{
isNew = true;
@@ -259,7 +261,7 @@ namespace ICSSoft.FromERP
ExtensionID = Extensionline.ID;
}
- var line = db.ICSDeliveryNotice.SingleOrDefault(a => a.DNCode == Item.DANJU && a.Sequence == Item.POSNR && a.WorkPoint == Info.WERKS);
+ var line = db.ICSDeliveryNotice.SingleOrDefault(a => a.DNCode == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionID && a.WorkPoint == Info.WERKS);
if (line == null)
{
isNew = true;
@@ -410,7 +412,7 @@ namespace ICSSoft.FromERP
ExtensionID = Extensionline.ID;
}
- var line = db.ICSOApply.SingleOrDefault(a => a.ApplyCode == Item.DANJU && a.Sequence == Item.POSNR && a.WorkPoint == Info.WERKS);
+ var line = db.ICSOApply.SingleOrDefault(a => a.ApplyCode == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionID && a.WorkPoint == Info.WERKS);
if (line == null)
{
isNew = true;
@@ -512,7 +514,7 @@ namespace ICSSoft.FromERP
ExtensionID = Extensionline.ID;
}
- var line = db.ICSOApply.SingleOrDefault(a => a.ApplyCode == Item.DANJU && a.Sequence == Item.POSNR && a.WorkPoint == Info.WERKS);
+ var line = db.ICSOApply.SingleOrDefault(a => a.ApplyCode == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionID && a.WorkPoint == Info.WERKS);
if (line == null)
{
isNew = true;
@@ -663,7 +665,7 @@ namespace ICSSoft.FromERP
ExtensionID = Extensionline.ID;
}
- var line = db.ICSMOApply.SingleOrDefault(a => a.ApplyCode == Item.DANJU && a.Sequence == Item.POSNR && a.WorkPoint == Info.WERKS);
+ var line = db.ICSMOApply.SingleOrDefault(a => a.ApplyCode == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionID && a.WorkPoint == Info.WERKS);
if (line == null)
{
isNew = true;
@@ -826,7 +828,7 @@ namespace ICSSoft.FromERP
ExtensionID = Extensionline.ID;
}
- var line = db.ICSMOApply.SingleOrDefault(a => a.ApplyCode == Item.DANJU && a.Sequence == Item.POSNR && a.WorkPoint == Info.WERKS);
+ var line = db.ICSMOApply.SingleOrDefault(a => a.ApplyCode == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionID && a.WorkPoint == Info.WERKS);
if (line == null)
{
isNew = true;
@@ -846,7 +848,7 @@ namespace ICSSoft.FromERP
line.CreateDateTime = Convert.ToDateTime(Info.DATE_C);//检验时间
line.SourceCode = Item.EBELN;//采购凭证号
line.SourceSequence = Item.EBELP;//采购凭证的项目编号
- line.Quantity = Item.LINGYSL;//领用数量
+ line.Quantity = 1;//领用数量
line.Amount = 0;
line.WHCode = Item.LGORT;//仓库
line.Status = "2";
@@ -1048,7 +1050,7 @@ namespace ICSSoft.FromERP
ExtensionID = Extensionline.ID;
}
- var line = db.ICSMOApplyNegDetail.SingleOrDefault(a => a.ApplyNegCode == Item.DANJU && a.Sequence == Item.POSNR && a.WorkPoint == Info.WERKS);
+ var line = db.ICSMOApplyNegDetail.SingleOrDefault(a => a.ApplyNegCode == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionID && a.WorkPoint == Info.WERKS);
if (line == null)
{
isNew = true;
@@ -1137,7 +1139,7 @@ namespace ICSSoft.FromERP
ExtensionID = Extensionline.ID;
}
- var line = db.ICSMOApplyNegDetail.SingleOrDefault(a => a.ApplyNegCode == Item.DANJU && a.Sequence == Item.POSNR && a.WorkPoint == Info.WERKS);
+ var line = db.ICSMOApplyNegDetail.SingleOrDefault(a => a.ApplyNegCode == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionID && a.WorkPoint == Info.WERKS);
if (line == null)
{
isNew = true;
@@ -1150,7 +1152,7 @@ namespace ICSSoft.FromERP
line.InvCode = Item.MATNR;//物料编码
line.SourceDetailID = "";
}
- line.Quantity = Item.LINGYSL;//领用数量
+ line.Quantity = 1;//领用数量
line.SourceDetailID = Item.LGORT;//仓库
line.WHCode = Item.LGORT;//仓库
line.Amount = 0;
@@ -1256,7 +1258,7 @@ namespace ICSSoft.FromERP
ExtensionID = Extensionline.ID;
}
- var line = db.ICSManufactureReceive.SingleOrDefault(a => a.RCVCode == Item.DANJU && a.Sequence == Item.POSNR && a.WorkPoint == Info.WERKS);
+ var line = db.ICSManufactureReceive.SingleOrDefault(a => a.RCVCode == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionID && a.WorkPoint == Info.WERKS);
if (line == null)
{
isNew = true;
@@ -1381,7 +1383,7 @@ namespace ICSSoft.FromERP
ExtensionID = Extensionline.ID;
}
- var line = db.ICSManufactureReceive.SingleOrDefault(a => a.RCVCode == Item.DANJU && a.Sequence == Item.POSNR && a.WorkPoint == Info.WERKS);
+ var line = db.ICSManufactureReceive.SingleOrDefault(a => a.RCVCode == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionID && a.WorkPoint == Info.WERKS);
if (line == null)
{
isNew = true;
@@ -1399,7 +1401,7 @@ namespace ICSSoft.FromERP
line.CreateDateTime = Convert.ToDateTime(Info.DATE_C);//检验时间
line.SourceCode = Item.EBELN;//采购凭证号
line.SourceSequence = Item.EBELP;//采购凭证的项目编号
- line.Quantity = Item.LINGYSL;//领用数量
+ line.Quantity = 1;//领用数量
line.Amount = 0;
line.WHCode = Item.LGORT;//仓库
if (Info.TEST1 == "N")//Info.TEST1=N为SAP未过账入库单 Info.TEST1=Y为SAP已过账入库单
@@ -1535,7 +1537,7 @@ namespace ICSSoft.FromERP
ExtensionID = Extensionline.ID;
}
- var line = db.ICSTransfer.SingleOrDefault(a => a.TransferNO == Item.DANJU && a.Sequence == Item.POSNR && a.WorkPoint == Info.WERKS);
+ var line = db.ICSTransfer.SingleOrDefault(a => a.TransferNO == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionID && a.WorkPoint == Info.WERKS);
if (line == null)
{
isNew = true;
@@ -1661,7 +1663,7 @@ namespace ICSSoft.FromERP
ExtensionID = Extensionline.ID;
}
- var line = db.ICSTransfer.SingleOrDefault(a => a.TransferNO == Item.DANJU && a.Sequence == Item.POSNR && a.WorkPoint == Info.WERKS);
+ var line = db.ICSTransfer.SingleOrDefault(a => a.TransferNO == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionID && a.WorkPoint == Info.WERKS);
if (line == null)
{
isNew = true;
@@ -1678,7 +1680,7 @@ namespace ICSSoft.FromERP
line.ToWarehouseCode = Item.LGORT_JS;
line.ToLocationCode = "";
line.Status = "2";
- line.Quantity = Item.LINGYSL;//领用数量
+ line.Quantity = 1;//领用数量
line.Amount = 0;
line.Type = "1";
line.CreatePerson = Info.XINGMING;
@@ -1816,7 +1818,7 @@ namespace ICSSoft.FromERP
ExtensionID = Extensionline.ID;
}
- var linebefore = db.ICSMTDOC.SingleOrDefault(a => a.MTDOCCode == Item.DANJU && a.Sequence == Item.POSNR && a.MTDOCType == "1" && a.WorkPoint == Info.WERKS);
+ var linebefore = db.ICSMTDOC.SingleOrDefault(a => a.MTDOCCode == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionID && a.MTDOCType == "1" && a.WorkPoint == Info.WERKS);
if (linebefore == null)
{
isNew = true;
@@ -1851,7 +1853,7 @@ namespace ICSSoft.FromERP
}
db.SubmitChanges();
- var lineafter = db.ICSMTDOC.SingleOrDefault(a => a.MTDOCCode == Item.DANJU && a.Sequence == Item.POSNR && a.MTDOCType == "2" && a.WorkPoint == Info.WERKS);
+ var lineafter = db.ICSMTDOC.SingleOrDefault(a => a.MTDOCCode == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionID && a.MTDOCType == "2" && a.WorkPoint == Info.WERKS);
if (lineafter == null)
{
isNew = true;
@@ -1947,7 +1949,7 @@ namespace ICSSoft.FromERP
ExtensionID = Extensionline.ID;
}
- var linebefore = db.ICSMTDOC.SingleOrDefault(a => a.MTDOCCode == Item.DANJU && a.Sequence == Item.POSNR && a.MTDOCType == "1" && a.WorkPoint == Info.WERKS);
+ var linebefore = db.ICSMTDOC.SingleOrDefault(a => a.MTDOCCode == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionID && a.MTDOCType == "1" && a.WorkPoint == Info.WERKS);
if (linebefore == null)
{
isNew = true;
@@ -1961,7 +1963,7 @@ namespace ICSSoft.FromERP
}
linebefore.DepCode = Info.KOSTL;
linebefore.WHCode = Item.LGORT;
- linebefore.Quantity = Item.LINGYSL;//领用数量
+ linebefore.Quantity = 1;//领用数量
linebefore.Amount = 0;
linebefore.Memo = "";
linebefore.Status = "2";
@@ -1982,7 +1984,7 @@ namespace ICSSoft.FromERP
}
db.SubmitChanges();
- var lineafter = db.ICSMTDOC.SingleOrDefault(a => a.MTDOCCode == Item.DANJU && a.Sequence == Item.POSNR && a.MTDOCType == "2" && a.WorkPoint == Info.WERKS);
+ var lineafter = db.ICSMTDOC.SingleOrDefault(a => a.MTDOCCode == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionID && a.MTDOCType == "2" && a.WorkPoint == Info.WERKS);
if (lineafter == null)
{
isNew = true;
@@ -2155,7 +2157,7 @@ namespace ICSSoft.FromERP
ExtensionAfter = ExtensionlineAfter.ID;
}
- var linebefore = db.ICSMTDOC.SingleOrDefault(a => a.MTDOCCode == Item.DANJU && a.Sequence == Item.POSNR && a.MTDOCType == "1" && a.WorkPoint == Info.WERKS);
+ var linebefore = db.ICSMTDOC.SingleOrDefault(a => a.MTDOCCode == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionBefore && a.MTDOCType == "1" && a.WorkPoint == Info.WERKS);
if (linebefore == null)
{
isNew = true;
@@ -2190,7 +2192,7 @@ namespace ICSSoft.FromERP
}
db.SubmitChanges();
- var lineafter = db.ICSMTDOC.SingleOrDefault(a => a.MTDOCCode == Item.DANJU && a.Sequence == Item.POSNR && a.MTDOCType == "2" && a.WorkPoint == Info.WERKS);
+ var lineafter = db.ICSMTDOC.SingleOrDefault(a => a.MTDOCCode == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionAfter && a.MTDOCType == "2" && a.WorkPoint == Info.WERKS);
if (lineafter == null)
{
isNew = true;
@@ -2243,10 +2245,9 @@ namespace ICSSoft.FromERP
}
else
{
- Colspan = "~~~~~000000~~~~~~~~~~";
- ColspanAfter = "~~~~~000000~~~~~~~~~~";
+ Colspan = "~~" + SubInfo.GERNR + "~~000000~~~~~~~~~~";
+ ColspanAfter = "~~" + SubInfo.GERNR + "~~000000~~~~~~~~~~";
}
- Colspan = Item.VBELN_VA + "~" + Item.SERNP + "~~" + Item.POSNR_VA + "~~~~~~~~~~";
var Extensionline = db.ICSExtension.SingleOrDefault(a => a.Colspan == Colspan && a.WorkPoint == Info.WERKS);
if (Extensionline == null)
@@ -2335,7 +2336,7 @@ namespace ICSSoft.FromERP
ExtensionAfter = ExtensionlineAfter.ID;
}
- var linebefore = db.ICSMTDOC.SingleOrDefault(a => a.MTDOCCode == Item.DANJU && a.Sequence == Item.POSNR && a.MTDOCType == "1" && a.WorkPoint == Info.WERKS);
+ var linebefore = db.ICSMTDOC.SingleOrDefault(a => a.MTDOCCode == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionBefore && a.MTDOCType == "1" && a.WorkPoint == Info.WERKS);
if (linebefore == null)
{
isNew = true;
@@ -2349,7 +2350,7 @@ namespace ICSSoft.FromERP
}
linebefore.DepCode = Info.KOSTL;
linebefore.WHCode = Item.LGORT;
- linebefore.Quantity = Item.LINGYSL;//领用数量
+ linebefore.Quantity = 1;//领用数量
linebefore.Amount = 0;
linebefore.Memo = Item.SOBKZ_JS;
linebefore.Status = "2";
@@ -2370,7 +2371,7 @@ namespace ICSSoft.FromERP
}
db.SubmitChanges();
- var lineafter = db.ICSMTDOC.SingleOrDefault(a => a.MTDOCCode == Item.DANJU && a.Sequence == Item.POSNR && a.MTDOCType == "2" && a.WorkPoint == Info.WERKS);
+ var lineafter = db.ICSMTDOC.SingleOrDefault(a => a.MTDOCCode == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionAfter && a.MTDOCType == "2" && a.WorkPoint == Info.WERKS);
if (lineafter == null)
{
isNew = true;
@@ -2384,7 +2385,7 @@ namespace ICSSoft.FromERP
}
lineafter.DepCode = Info.KOSTL;
lineafter.WHCode = Item.LGORT;
- lineafter.Quantity = Item.LINGYSL;//领用数量
+ lineafter.Quantity = 1;//领用数量
lineafter.Amount = 0;
lineafter.Memo = Item.SOBKZ_JS;
lineafter.Status = "2";
@@ -2496,7 +2497,7 @@ namespace ICSSoft.FromERP
}
if (Info.LEIXING == "09")
{
- var line = db.ICSOtherOut.SingleOrDefault(a => a.OutCode == Item.DANJU && a.Sequence == Item.POSNR && a.WorkPoint == Info.WERKS);
+ var line = db.ICSOtherOut.SingleOrDefault(a => a.OutCode == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionID && a.WorkPoint == Info.WERKS);
if (line == null)
{
isNew = true;
@@ -2551,7 +2552,7 @@ namespace ICSSoft.FromERP
}
else
{
- var line = db.ICSOtherIn.SingleOrDefault(a => a.InCode == Item.DANJU && a.Sequence == Item.POSNR && a.WorkPoint == Info.WERKS);
+ var line = db.ICSOtherIn.SingleOrDefault(a => a.InCode == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionID && a.WorkPoint == Info.WERKS);
if (line == null)
{
isNew = true;
@@ -2663,7 +2664,7 @@ namespace ICSSoft.FromERP
}
if (Info.LEIXING == "09")
{
- var line = db.ICSOtherOut.SingleOrDefault(a => a.OutCode == Item.DANJU && a.Sequence == Item.POSNR && a.WorkPoint == Info.WERKS);
+ var line = db.ICSOtherOut.SingleOrDefault(a => a.OutCode == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionID && a.WorkPoint == Info.WERKS);
if (line == null)
{
isNew = true;
@@ -2718,7 +2719,7 @@ namespace ICSSoft.FromERP
}
else
{
- var line = db.ICSOtherIn.SingleOrDefault(a => a.InCode == Item.DANJU && a.Sequence == Item.POSNR && a.WorkPoint == Info.WERKS);
+ var line = db.ICSOtherIn.SingleOrDefault(a => a.InCode == Item.DANJU && a.SAPSequence == Item.POSNR && a.ExtensionID == ExtensionID && a.WorkPoint == Info.WERKS);
if (line == null)
{
isNew = true;
diff --git a/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSManufactureService.cs b/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSManufactureService.cs
index cea1dd7..52d447e 100644
--- a/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSManufactureService.cs
+++ b/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSManufactureService.cs
@@ -252,7 +252,7 @@ namespace ICSSoft.DataProject
{
try
{
- #region SAP
+ #region SAP(三层结构)
string IsSuccess = "";
string ErrorMessage = "";
string sql = @" select Distinct A.ApplyCode,A.WorkPoint,A.EATTRIBUTE from ICSMOApply A
@@ -271,53 +271,66 @@ namespace ICSSoft.DataProject
GROUP BY ApplyCode,WorkPoint";
chksql = string.Format(chksql, dt.Rows[i]["ApplyCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
DataTable chkdt = DBHelper.SQlReturnData(chksql, cmd);
- if (Convert.ToDecimal(chkdt.Rows[0]["Quantity"]) != Convert.ToDecimal(chkdt.Rows[0]["IssueQuantity"]))
+ if (Convert.ToDecimal(chkdt.Rows[0]["Quantity"]) == Convert.ToDecimal(chkdt.Rows[0]["IssueQuantity"]))
{
- throw new Exception(string.Format(language.GetNameByCode("WMSAPIInfo203"), chkdt.Rows[0]["Quantity"].ToString(), chkdt.Rows[0]["IssueQuantity"].ToString()));//单次提交数量卡控(必须整单提交)
- }
- SAPCallBackDocVPN.ZWMS_SK_WS_PZ Client = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ();
- SAPCallBackDocVPN.ZWMS_SK_WS_PZ1 Info = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ1();
- Info.NEWID = Identification;
- Info.DANJU = dt.Rows[i]["ApplyCode"].ToString();
- if (dt.Rows[i]["EATTRIBUTE"].ToString() == "01")
- {
- Info.STATE = "1";
- }
- else
- {
- Info.STATE = "0";
- }
- List ItemList = new List();
- Info.Z_GERNR = new SAPCallBackDocVPN.ZWEBS_GERNR[1];
- Info.Z_FLAG = new SAPCallBackDocVPN.ZWEB_RETURN[1];
- sql = @"select A.ApplyCode,A.Sequence,A.Quantity,A.IssueQuantity,B.BatchCode from ICSMOApply A
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZ Client = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ();
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZ1 Info = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ1();
+ Info.NEWID = Identification;
+ Info.DANJU = dt.Rows[i]["ApplyCode"].ToString();
+ if (dt.Rows[i]["EATTRIBUTE"].ToString() == "01")
+ {
+ Info.STATE = "1";
+ }
+ else
+ {
+ Info.STATE = "0";
+ }
+ List ItemList = new List();
+ List ItemLineList = new List();
+ Info.Z_GERNR = new SAPCallBackDocVPN.ZWEBS_GERNR[1];
+ Info.Z_FLAG = new SAPCallBackDocVPN.ZWEB_RETURN[1];
+ sql = @"select A.ApplyCode,A.InvCode,A.Sequence,A.SAPSequence,A.Quantity,A.IssueQuantity
+ ,ISNULL(B.BatchCode,'') AS BatchCode from ICSMOApply A
LEFT JOIN ICSExtension B ON B.ID=A.ExtensionID AND B.WorkPoint=A.WorkPoint
WHERE ApplyCode='{0}' AND A.WorkPoint='{1}'";
- sql = string.Format(sql, dt.Rows[i]["ApplyCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
- DataTable Sapdt = DBHelper.SQlReturnData(sql, cmd);
- foreach (DataRow dr in Sapdt.Rows)
- {
- if (Convert.ToDecimal(dr["Quantity"].ToString()) == Convert.ToDecimal(dr["IssueQuantity"].ToString()))
+ sql = string.Format(sql, dt.Rows[i]["ApplyCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
+ DataTable Sapdt = DBHelper.SQlReturnData(sql, cmd);
+ foreach (DataRow dr in Sapdt.Rows)
{
- SAPCallBackDocVPN.ZWMS_PZ Item = new SAPCallBackDocVPN.ZWMS_PZ();
- Item.DANJU = dr["ApplyCode"].ToString();
- Item.POSNR = dr["Sequence"].ToString();
- Item.LINGYSL = System.Decimal.Round(Convert.ToDecimal(dr["Quantity"].ToString()), 3);
- Item.SERNP = dr["BatchCode"].ToString();
- ItemList.Add(Item);
+ if (Convert.ToDecimal(dr["Quantity"].ToString()) == Convert.ToDecimal(dr["IssueQuantity"].ToString()))
+ {
+ SAPCallBackDocVPN.ZWMS_PZ Item = new SAPCallBackDocVPN.ZWMS_PZ();
+ SAPCallBackDocVPN.ZWEBS_GERNR ItemLine = new SAPCallBackDocVPN.ZWEBS_GERNR();
+ Item.DANJU = dr["ApplyCode"].ToString();
+ Item.POSNR = dr["SAPSequence"].ToString();
+ Item.LINGYSL = System.Decimal.Round(Convert.ToDecimal(dr["Quantity"].ToString()), 3);
+ ItemList.Add(Item);
+ if (dr["BatchCode"].ToString() != "")
+ {
+ ItemLine.DANJU = dr["ApplyCode"].ToString();
+ ItemLine.POSNR = dr["SAPSequence"].ToString();
+ ItemLine.MATNR = dr["InvCode"].ToString();
+ ItemLine.GERNR = dr["BatchCode"].ToString();
+ ItemLineList.Add(ItemLine);
+ }
+ }
}
- }
- if (ItemList.Count > 0)
- {
- Info.Z_ITEM = ItemList.ToArray();
- SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse result = new SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse();
- result = Client.CallZWMS_SK_WS_PZ(Info);
- if (result.Z_NULL == "N")
+ if (ItemList.Count > 0)
{
- foreach (SAPCallBackDocVPN.ZWEB_RETURN resultItem in result.Z_FLAG)
+ Info.Z_ITEM = ItemList.ToArray();
+ if (ItemLineList.Count > 0)
{
- IsSuccess = "N";
- ErrorMessage += resultItem.L_MESSAGE + "/r/n";
+ Info.Z_GERNR = ItemLineList.ToArray();
+ }
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse result = new SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse();
+ result = Client.CallZWMS_SK_WS_PZ(Info);
+ if (result.Z_NULL == "N")
+ {
+ foreach (SAPCallBackDocVPN.ZWEB_RETURN resultItem in result.Z_FLAG)
+ {
+ IsSuccess = "N";
+ ErrorMessage += resultItem.L_MESSAGE + "/r/n";
+ }
}
}
}
@@ -345,10 +358,11 @@ namespace ICSSoft.DataProject
{
try
{
- #region SAP
+ #region SAP(三层结构)
string IsSuccess = "";
string ErrorMessage = "";
- string sql = @"select A.ID,A.ApplyCode,A.Sequence,A.Quantity,A.IssueQuantity,B.BatchCode from ICSMOApply A
+ string sql = @"select A.ID,A.ApplyCode,A.InvCode,A.Sequence,A.SAPSequence,A.Quantity,A.IssueQuantity
+ ,ISNULL(B.BatchCode,'') AS BatchCode from ICSMOApply A
LEFT JOIN ICSExtension B ON B.ID=A.ExtensionID AND B.WorkPoint=A.WorkPoint
WHERE ApplyCode='{0}' AND A.WorkPoint='{1}'";
sql = string.Format(sql, TransCode, WorkPoint);
@@ -363,7 +377,7 @@ namespace ICSSoft.DataProject
Info.DANJU = TransCode;
Info.STATE = "0";
List ItemList = new List();
- Info.Z_GERNR = new SAPCallBackDocVPN.ZWEBS_GERNR[1];
+ List ItemLineList = new List();
Info.Z_FLAG = new SAPCallBackDocVPN.ZWEB_RETURN[1];
foreach (DataRow dr in Sapdt.Rows)
@@ -371,16 +385,29 @@ namespace ICSSoft.DataProject
if (Convert.ToDecimal(dr["Quantity"].ToString()) == Convert.ToDecimal(dr["IssueQuantity"].ToString()))
{
SAPCallBackDocVPN.ZWMS_PZ Item = new SAPCallBackDocVPN.ZWMS_PZ();
+ SAPCallBackDocVPN.ZWEBS_GERNR ItemLine = new SAPCallBackDocVPN.ZWEBS_GERNR();
Item.DANJU = dr["ApplyCode"].ToString();
- Item.POSNR = dr["Sequence"].ToString();
+ Item.POSNR = dr["SAPSequence"].ToString();
Item.LINGYSL = System.Decimal.Round(Convert.ToDecimal(dr["Quantity"].ToString()), 3);
- Item.SERNP = dr["BatchCode"].ToString();
ItemList.Add(Item);
+ if (dr["BatchCode"].ToString() != "")
+ {
+ ItemLine.DANJU = dr["ApplyCode"].ToString();
+ ItemLine.POSNR = dr["SAPSequence"].ToString();
+ ItemLine.MATNR = dr["InvCode"].ToString();
+ ItemLine.GERNR = dr["BatchCode"].ToString();
+ ItemLineList.Add(ItemLine);
+ }
+
}
}
if (ItemList.Count > 0)
{
Info.Z_ITEM = ItemList.ToArray();
+ if (ItemLineList.Count > 0)
+ {
+ Info.Z_GERNR = ItemLineList.ToArray();
+ }
SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse result = new SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse();
result = Client.CallZWMS_SK_WS_PZ(Info);
if (result.Z_NULL == "N")
@@ -575,9 +602,9 @@ namespace ICSSoft.DataProject
END";
}
- else
+ else
{
- sql = @"UPDATE c SET IssueNegQuantity=ISNULL(IssueNegQuantity,0)+'{2}'
+ sql = @"UPDATE c SET IssueNegQuantity=ISNULL(IssueNegQuantity,0)+'{2}'
FROM ICSInventoryLot a
INNER JOIN ICSInventoryLotDetail b ON a.LotNo=b.LotNo AND a.WorkPoint=b.WorkPoint
INNER JOIN ICSMOApplyNegDetail c ON b.TransCode=c.ApplyNegCode AND b.TransSequence=c.Sequence AND b.WorkPoint=c.WorkPoint
@@ -609,10 +636,10 @@ namespace ICSSoft.DataProject
RAISERROR('" + language.GetNameByCode("WMSAPIInfo192") + @"',16,1);
END";
}
-
+
sql = string.Format(sql, LotNo, WorkPoint, Quantity, table, type);
#endregion
- }
+ }
else
{
if (TransType == TransTypeEnum.MOIssueDocNegative.GetDescription())
@@ -667,7 +694,7 @@ namespace ICSSoft.DataProject
{
try
{
- #region SAP
+ #region SAP(三层结构)
string IsSuccess = "";
string ErrorMessage = "";
string sql = @" select Distinct A.ApplyNegCode,A.WorkPoint from ICSMOApplyNeg A
@@ -687,47 +714,59 @@ namespace ICSSoft.DataProject
GROUP BY A.ApplyNegCode,A.WorkPoint";
chksql = string.Format(chksql, dt.Rows[i]["ApplyNegCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
DataTable chkdt = DBHelper.SQlReturnData(chksql, cmd);
- if (Convert.ToDecimal(chkdt.Rows[0]["Quantity"]) != Convert.ToDecimal(chkdt.Rows[0]["IssueQuantity"]))
+ if (Convert.ToDecimal(chkdt.Rows[0]["Quantity"]) == Convert.ToDecimal(chkdt.Rows[0]["IssueQuantity"]))
{
- throw new Exception(string.Format(language.GetNameByCode("WMSAPIInfo203"), chkdt.Rows[0]["Quantity"].ToString(), chkdt.Rows[0]["IssueQuantity"].ToString()));//单次提交数量卡控(必须整单提交)
- }
- SAPCallBackDocVPN.ZWMS_SK_WS_PZ Client = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ();
- SAPCallBackDocVPN.ZWMS_SK_WS_PZ1 Info = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ1();
- Info.NEWID = Identification;
- Info.DANJU = dt.Rows[i]["ApplyNegCode"].ToString();
- Info.STATE = "0";
- List ItemList = new List();
- Info.Z_GERNR = new SAPCallBackDocVPN.ZWEBS_GERNR[1];
- Info.Z_FLAG = new SAPCallBackDocVPN.ZWEB_RETURN[1];
- sql = @" select A.ApplyNegCode,B.Sequence,B.Quantity,B.IssueNegQuantity,C.BatchCode from ICSMOApplyNeg A
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZ Client = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ();
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZ1 Info = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ1();
+ Info.NEWID = Identification;
+ Info.DANJU = dt.Rows[i]["ApplyNegCode"].ToString();
+ Info.STATE = "0";
+ List ItemList = new List();
+ List ItemLineList = new List();
+ Info.Z_FLAG = new SAPCallBackDocVPN.ZWEB_RETURN[1];
+ sql = @" select A.ApplyNegCode,B.SAPSequence,B.InvCode,B.Sequence,B.Quantity,B.IssueNegQuantity
+ ,ISNULL(C.BatchCode,'') AS BatchCode from ICSMOApplyNeg A
LEFT JOIN ICSMOApplyNegDetail B ON B.ApplyNegCode=A.ApplyNegCode AND B.WorkPoint=A.WorkPoint
LEFT JOIN ICSExtension C ON C.ID=B.ExtensionID AND C.WorkPoint=B.WorkPoint
WHERE A.ApplyNegCode='{0}' AND A.WorkPoint='{1}'";
- sql = string.Format(sql, dt.Rows[i]["ApplyNegCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
- DataTable Sapdt = DBHelper.SQlReturnData(sql, cmd);
- foreach (DataRow dr in Sapdt.Rows)
- {
- if (Convert.ToDecimal(dr["Quantity"].ToString()) == Convert.ToDecimal(dr["IssueNegQuantity"].ToString()))
+ sql = string.Format(sql, dt.Rows[i]["ApplyNegCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
+ DataTable Sapdt = DBHelper.SQlReturnData(sql, cmd);
+ foreach (DataRow dr in Sapdt.Rows)
{
- SAPCallBackDocVPN.ZWMS_PZ Item = new SAPCallBackDocVPN.ZWMS_PZ();
- Item.DANJU = dr["ApplyNegCode"].ToString();
- Item.POSNR = dr["Sequence"].ToString();
- Item.LINGYSL = System.Decimal.Round(Convert.ToDecimal(dr["Quantity"].ToString()), 3);
- Item.SERNP = dr["BatchCode"].ToString();
- ItemList.Add(Item);
+ if (Convert.ToDecimal(dr["Quantity"].ToString()) == Convert.ToDecimal(dr["IssueNegQuantity"].ToString()))
+ {
+ SAPCallBackDocVPN.ZWMS_PZ Item = new SAPCallBackDocVPN.ZWMS_PZ();
+ SAPCallBackDocVPN.ZWEBS_GERNR ItemLine = new SAPCallBackDocVPN.ZWEBS_GERNR();
+ Item.DANJU = dr["ApplyNegCode"].ToString();
+ Item.POSNR = dr["SAPSequence"].ToString();
+ Item.LINGYSL = System.Decimal.Round(Convert.ToDecimal(dr["Quantity"].ToString()), 3);
+ ItemList.Add(Item);
+ if (dr["BatchCode"].ToString() != "")
+ {
+ ItemLine.DANJU = dr["ApplyNegCode"].ToString();
+ ItemLine.POSNR = dr["SAPSequence"].ToString();
+ ItemLine.MATNR = dr["InvCode"].ToString();
+ ItemLine.GERNR = dr["BatchCode"].ToString();
+ ItemLineList.Add(ItemLine);
+ }
+ }
}
- }
- if (ItemList.Count > 0)
- {
- Info.Z_ITEM = ItemList.ToArray();
- SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse result = new SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse();
- result = Client.CallZWMS_SK_WS_PZ(Info);
- if (result.Z_NULL == "N")
+ if (ItemList.Count > 0)
{
- foreach (SAPCallBackDocVPN.ZWEB_RETURN resultItem in result.Z_FLAG)
+ Info.Z_ITEM = ItemList.ToArray();
+ if (ItemLineList.Count > 0)
{
- IsSuccess = "N";
- ErrorMessage += resultItem.L_MESSAGE + "/r/n";
+ Info.Z_GERNR = ItemLineList.ToArray();
+ }
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse result = new SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse();
+ result = Client.CallZWMS_SK_WS_PZ(Info);
+ if (result.Z_NULL == "N")
+ {
+ foreach (SAPCallBackDocVPN.ZWEB_RETURN resultItem in result.Z_FLAG)
+ {
+ IsSuccess = "N";
+ ErrorMessage += resultItem.L_MESSAGE + "/r/n";
+ }
}
}
}
@@ -977,7 +1016,7 @@ namespace ICSSoft.DataProject
{
try
{
- #region SAP
+ #region SAP(三层结构)
string IsSuccess = "";
string ErrorMessage = "";
string sql = @" select Distinct A.RCVCode,A.WorkPoint from ICSManufactureReceive A
@@ -996,46 +1035,58 @@ namespace ICSSoft.DataProject
GROUP BY RCVCode,WorkPoint";
chksql = string.Format(chksql, dt.Rows[i]["RCVCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
DataTable chkdt = DBHelper.SQlReturnData(chksql, cmd);
- if (Convert.ToDecimal(chkdt.Rows[0]["Quantity"]) != Convert.ToDecimal(chkdt.Rows[0]["RCVQuantity"]))
+ if (Convert.ToDecimal(chkdt.Rows[0]["Quantity"]) == Convert.ToDecimal(chkdt.Rows[0]["RCVQuantity"]))
{
- throw new Exception(string.Format(language.GetNameByCode("WMSAPIInfo203"), chkdt.Rows[0]["Quantity"].ToString(), chkdt.Rows[0]["RCVQuantity"].ToString()));//单次提交数量卡控(必须整单提交)
- }
- SAPCallBackDocVPN.ZWMS_SK_WS_PZ Client = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ();
- SAPCallBackDocVPN.ZWMS_SK_WS_PZ1 Info = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ1();
- Info.NEWID = Identification;
- Info.DANJU = dt.Rows[i]["RCVCode"].ToString();
- Info.STATE = "0";
- List ItemList = new List();
- Info.Z_GERNR = new SAPCallBackDocVPN.ZWEBS_GERNR[1];
- Info.Z_FLAG = new SAPCallBackDocVPN.ZWEB_RETURN[1];
- sql = @"select A.RCVCode,A.Sequence,A.Quantity,A.RCVQuantity,B.BatchCode from ICSManufactureReceive A
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZ Client = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ();
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZ1 Info = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ1();
+ Info.NEWID = Identification;
+ Info.DANJU = dt.Rows[i]["RCVCode"].ToString();
+ Info.STATE = "0";
+ List ItemList = new List();
+ List ItemLineList = new List();
+ Info.Z_FLAG = new SAPCallBackDocVPN.ZWEB_RETURN[1];
+ sql = @"select A.RCVCode,A.SAPSequence,A.InvCode,A.Sequence,A.Quantity,A.RCVQuantity
+ ,ISNULL(B.BatchCode,'') AS BatchCode from ICSManufactureReceive A
LEFT JOIN ICSExtension B ON B.ID=A.ExtensionID AND B.WorkPoint=A.WorkPoint
WHERE RCVCode='{0}' AND A.WorkPoint='{1}'";
- sql = string.Format(sql, dt.Rows[i]["RCVCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
- DataTable Sapdt = DBHelper.SQlReturnData(sql, cmd);
- foreach (DataRow dr in Sapdt.Rows)
- {
- if (Convert.ToDecimal(dr["Quantity"].ToString()) == Convert.ToDecimal(dr["RCVQuantity"].ToString()))
+ sql = string.Format(sql, dt.Rows[i]["RCVCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
+ DataTable Sapdt = DBHelper.SQlReturnData(sql, cmd);
+ foreach (DataRow dr in Sapdt.Rows)
{
- SAPCallBackDocVPN.ZWMS_PZ Item = new SAPCallBackDocVPN.ZWMS_PZ();
- Item.DANJU = dr["RCVCode"].ToString();
- Item.POSNR = dr["Sequence"].ToString();
- Item.LINGYSL = System.Decimal.Round(Convert.ToDecimal(dr["Quantity"].ToString()), 3);
- Item.SERNP = dr["BatchCode"].ToString();
- ItemList.Add(Item);
+ if (Convert.ToDecimal(dr["Quantity"].ToString()) == Convert.ToDecimal(dr["RCVQuantity"].ToString()))
+ {
+ SAPCallBackDocVPN.ZWMS_PZ Item = new SAPCallBackDocVPN.ZWMS_PZ();
+ SAPCallBackDocVPN.ZWEBS_GERNR ItemLine = new SAPCallBackDocVPN.ZWEBS_GERNR();
+ Item.DANJU = dr["RCVCode"].ToString();
+ Item.POSNR = dr["SAPSequence"].ToString();
+ Item.LINGYSL = System.Decimal.Round(Convert.ToDecimal(dr["Quantity"].ToString()), 3);
+ ItemList.Add(Item);
+ if (dr["BatchCode"].ToString() != "")
+ {
+ ItemLine.DANJU= dr["RCVCode"].ToString();
+ ItemLine.POSNR = dr["SAPSequence"].ToString();
+ ItemLine.MATNR = dr["InvCode"].ToString();
+ ItemLine.GERNR = dr["BatchCode"].ToString();
+ ItemLineList.Add(ItemLine);
+ }
+ }
}
- }
- if (ItemList.Count > 0)
- {
- Info.Z_ITEM = ItemList.ToArray();
- SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse result = new SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse();
- result = Client.CallZWMS_SK_WS_PZ(Info);
- if (result.Z_NULL == "N")
+ if (ItemList.Count > 0)
{
- foreach (SAPCallBackDocVPN.ZWEB_RETURN resultItem in result.Z_FLAG)
+ Info.Z_ITEM = ItemList.ToArray();
+ if (ItemLineList.Count > 0)
{
- IsSuccess = "N";
- ErrorMessage += resultItem.L_MESSAGE + "/r/n";
+ Info.Z_GERNR = ItemLineList.ToArray();
+ }
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse result = new SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse();
+ result = Client.CallZWMS_SK_WS_PZ(Info);
+ if (result.Z_NULL == "N")
+ {
+ foreach (SAPCallBackDocVPN.ZWEB_RETURN resultItem in result.Z_FLAG)
+ {
+ IsSuccess = "N";
+ ErrorMessage += resultItem.L_MESSAGE + "/r/n";
+ }
}
}
}
diff --git a/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSOutsourcingService.cs b/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSOutsourcingService.cs
index 8f99fba..d5f8de9 100644
--- a/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSOutsourcingService.cs
+++ b/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSOutsourcingService.cs
@@ -80,7 +80,7 @@ namespace ICSSoft.DataProject
///
///
///
- public static void OutsourcingIssueDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary language,string BusinessCode)
+ public static void OutsourcingIssueDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary language, string BusinessCode)
{
try
{
@@ -131,7 +131,7 @@ namespace ICSSoft.DataProject
string allcol = jo["cWhCode"].ToString() + det["ProjectCode"].ToString() + det["cBatch"].ToString() + det["version"].ToString() + det["brand"].ToString() + det["cFree1"].ToString() + det["cFree2"].ToString() + det["cFree3"].ToString() + det["cFree4"].ToString() + det["cFree5"].ToString()
+ det["cFree6"].ToString() + det["cFree7"].ToString() + det["cFree8"].ToString() + det["cFree9"].ToString() + det["cFree10"].ToString();
ICSWareHouseLotInfoService.WareHouseLotInfoLogUpdate(TransType, det["SourceDetailID"].ToString(), Identification, jo["ID"].ToString(),
- det["DetailID"].ToString(), jo["IssueCode"].ToString(), det["Sequence"].ToString(), allcol,cmd, language, BusinessCode);
+ det["DetailID"].ToString(), jo["IssueCode"].ToString(), det["Sequence"].ToString(), allcol, cmd, language, BusinessCode);
}
}
}
@@ -211,11 +211,11 @@ namespace ICSSoft.DataProject
///
///
///
- public static void OOApplyERP(string TransType, string Identification, SqlCommand cmd, Dictionary language,string BusinessCode)
+ public static void OOApplyERP(string TransType, string Identification, SqlCommand cmd, Dictionary language, string BusinessCode)
{
try
{
- #region SAP
+ #region SAP(三层结构)
string IsSuccess = "";
string ErrorMessage = "";
string sql = @" select Distinct A.ApplyCode,A.WorkPoint from ICSOApply A
@@ -234,46 +234,55 @@ namespace ICSSoft.DataProject
GROUP BY ApplyCode,WorkPoint";
chksql = string.Format(chksql, dt.Rows[i]["ApplyCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
DataTable chkdt = DBHelper.SQlReturnData(chksql, cmd);
- if (Convert.ToDecimal(chkdt.Rows[0]["Quantity"]) != Convert.ToDecimal(chkdt.Rows[0]["IssueQuantity"]))
+ if (Convert.ToDecimal(chkdt.Rows[0]["Quantity"]) == Convert.ToDecimal(chkdt.Rows[0]["IssueQuantity"]))
{
- throw new Exception(string.Format(language.GetNameByCode("WMSAPIInfo203"), chkdt.Rows[0]["Quantity"].ToString(), chkdt.Rows[0]["IssueQuantity"].ToString()));//单次提交数量卡控(必须整单提交)
- }
- SAPCallBackDocVPN.ZWMS_SK_WS_PZ Client = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ();
- SAPCallBackDocVPN.ZWMS_SK_WS_PZ1 Info = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ1();
- Info.NEWID = Identification;
- Info.DANJU = dt.Rows[i]["ApplyCode"].ToString();
- Info.STATE = "0";
- List ItemList = new List();
- Info.Z_GERNR = new SAPCallBackDocVPN.ZWEBS_GERNR[1];
- Info.Z_FLAG = new SAPCallBackDocVPN.ZWEB_RETURN[1];
- sql = @" select A.ApplyCode,A.Sequence,A.Quantity,A.IssueQuantity,B.BatchCode from ICSOApply A
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZ Client = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ();
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZ1 Info = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ1();
+ Info.NEWID = Identification;
+ Info.DANJU = dt.Rows[i]["ApplyCode"].ToString();
+ Info.STATE = "0";
+ List ItemList = new List();
+ List ItemLineList = new List();
+ Info.Z_FLAG = new SAPCallBackDocVPN.ZWEB_RETURN[1];
+ sql = @" select A.ApplyCode,A.SAPSequence,A.InvCode,A.Sequence,A.Quantity,A.IssueQuantity
+ ,ISNULL(B.BatchCode,'') AS BatchCode from ICSOApply A
LEFT JOIN ICSExtension B ON B.ID=A.ExtensionID AND B.WorkPoint=A.WorkPoint
WHERE ApplyCode='{0}' AND A.WorkPoint='{1}'";
- sql = string.Format(sql, dt.Rows[i]["ApplyCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
- DataTable Sapdt = DBHelper.SQlReturnData(sql, cmd);
- foreach (DataRow dr in Sapdt.Rows)
- {
- if (Convert.ToDecimal(dr["Quantity"].ToString()) == Convert.ToDecimal(dr["IssueQuantity"].ToString()))
+ sql = string.Format(sql, dt.Rows[i]["ApplyCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
+ DataTable Sapdt = DBHelper.SQlReturnData(sql, cmd);
+ foreach (DataRow dr in Sapdt.Rows)
{
- SAPCallBackDocVPN.ZWMS_PZ Item = new SAPCallBackDocVPN.ZWMS_PZ();
- Item.DANJU = dr["ApplyCode"].ToString();
- Item.POSNR = dr["Sequence"].ToString();
- Item.LINGYSL = System.Decimal.Round(Convert.ToDecimal(dr["Quantity"].ToString()), 3);
- Item.SERNP = dr["BatchCode"].ToString();
- ItemList.Add(Item);
+ if (Convert.ToDecimal(dr["Quantity"].ToString()) == Convert.ToDecimal(dr["IssueQuantity"].ToString()))
+ {
+ SAPCallBackDocVPN.ZWMS_PZ Item = new SAPCallBackDocVPN.ZWMS_PZ();
+ SAPCallBackDocVPN.ZWEBS_GERNR ItemLine = new SAPCallBackDocVPN.ZWEBS_GERNR();
+ Item.DANJU = dr["ApplyCode"].ToString();
+ Item.POSNR = dr["SAPSequence"].ToString();
+ Item.LINGYSL = System.Decimal.Round(Convert.ToDecimal(dr["Quantity"].ToString()), 3);
+ ItemList.Add(Item);
+ ItemLine.DANJU= dr["ApplyCode"].ToString();
+ ItemLine.POSNR= dr["SAPSequence"].ToString();
+ ItemLine.MATNR = dr["InvCode"].ToString();
+ ItemLine.GERNR = dr["BatchCode"].ToString();
+ ItemLineList.Add(ItemLine);
+ }
}
- }
- if (ItemList.Count > 0)
- {
- Info.Z_ITEM = ItemList.ToArray();
- SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse result = new SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse();
- result = Client.CallZWMS_SK_WS_PZ(Info);
- if (result.Z_NULL == "N")
+ if (ItemList.Count > 0)
{
- foreach (SAPCallBackDocVPN.ZWEB_RETURN resultItem in result.Z_FLAG)
+ Info.Z_ITEM = ItemList.ToArray();
+ if (ItemLineList.Count > 0)
{
- IsSuccess = "N";
- ErrorMessage += resultItem.L_MESSAGE + "/r/n";
+ Info.Z_GERNR = ItemLineList.ToArray();
+ }
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse result = new SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse();
+ result = Client.CallZWMS_SK_WS_PZ(Info);
+ if (result.Z_NULL == "N")
+ {
+ foreach (SAPCallBackDocVPN.ZWEB_RETURN resultItem in result.Z_FLAG)
+ {
+ IsSuccess = "N";
+ ErrorMessage += resultItem.L_MESSAGE + "/r/n";
+ }
}
}
}
@@ -348,7 +357,7 @@ namespace ICSSoft.DataProject
///
///
///
- public static void OOIssueERP(string TransType, string Identification, SqlCommand cmd, Dictionary language,string BusinessCode)
+ public static void OOIssueERP(string TransType, string Identification, SqlCommand cmd, Dictionary language, string BusinessCode)
{
try
{
@@ -523,7 +532,7 @@ namespace ICSSoft.DataProject
///
///
///
- public static void OutsourcingIssueDoNegativeERP(string TransType, string Identification, SqlCommand cmd, Dictionary language,string BusinessCode)
+ public static void OutsourcingIssueDoNegativeERP(string TransType, string Identification, SqlCommand cmd, Dictionary language, string BusinessCode)
{
try
{
@@ -869,7 +878,7 @@ namespace ICSSoft.DataProject
///
///
///
- public static void OutsourcingReceiveDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary language,string BusinessCode)
+ public static void OutsourcingReceiveDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary language, string BusinessCode)
{
try
{
@@ -954,7 +963,7 @@ namespace ICSSoft.DataProject
LEFT JOIN ICSOOPick c ON b.OODetailID=c.OODetailID AND b.WorkPoint=c.WorkPoint AND a.TransSequence=b.Sequence+'~'+c.Sequence
WHERE c.PickID='{0}' and a.Identification='{1}' AND ERPUpload='0' AND a.BusinessCode='{6}'";
ERPupdate = string.Format(ERPupdate, dets["SourceDetailID"].ToString(), Identification, dets["IDs"].ToString(), dets["ERPDetailID"].ToString(), dets["MRCVCode"].ToString()
- , dets["Sequence"].ToString(),BusinessCode);
+ , dets["Sequence"].ToString(), BusinessCode);
if (!DBHelper.ExecuteNonQuery(ERPupdate, cmd))
{
throw new Exception(language.GetNameByCode("WMSAPIInfo079"));//"委外倒冲回写失败!";
@@ -962,7 +971,7 @@ namespace ICSSoft.DataProject
//ICSWareHouseLotInfoService.WareHouseLotInfoLogUpdate(TransType, det["OODetailID"].ToString(), Identification, dets["ERPID"].ToString(),
// dets[" "].ToString(), dets["MRCVCode"].ToString(), dets["Sequence"].ToString(), allcol, cmd, language);
}
-
+
}
}
@@ -1047,7 +1056,7 @@ namespace ICSSoft.DataProject
///
///
///
- public static void ODeliveryNoticeInERP(string TransType, string Identification, SqlCommand cmd, Dictionary language,string BusinessCode)
+ public static void ODeliveryNoticeInERP(string TransType, string Identification, SqlCommand cmd, Dictionary language, string BusinessCode)
{
try
{
@@ -1076,7 +1085,7 @@ namespace ICSSoft.DataProject
FROM #TempERP
DROP TABLE #TempERP";
- sql = string.Format(sql, Identification,BusinessCode);
+ sql = string.Format(sql, Identification, BusinessCode);
DataSet ds = DBHelper.SQlReturnDataSet(sql, cmd);
string Inputstr = DataToJsonHelper.DataSetToJson(ds, "details", "Costre");
@@ -1180,7 +1189,7 @@ namespace ICSSoft.DataProject
///
///
///
- public static void OutsourcingRejectDocInERP(string TransType, string Identification, SqlCommand cmd, Dictionary language,string BusinessCode)
+ public static void OutsourcingRejectDocInERP(string TransType, string Identification, SqlCommand cmd, Dictionary language, string BusinessCode)
{
// try
// {
@@ -1388,7 +1397,7 @@ namespace ICSSoft.DataProject
///
///
///
- public static void OutsourcingReturnBackERP(string TransType, string Identification, SqlCommand cmd, Dictionary language,string BusinessCode)
+ public static void OutsourcingReturnBackERP(string TransType, string Identification, SqlCommand cmd, Dictionary language, string BusinessCode)
{
try
{
@@ -1518,7 +1527,7 @@ namespace ICSSoft.DataProject
///
///
///
- public static void OutsourcingReceiveDocNegativeERP(string TransType, string Identification, SqlCommand cmd, Dictionary language,string BusinessCode)
+ public static void OutsourcingReceiveDocNegativeERP(string TransType, string Identification, SqlCommand cmd, Dictionary language, string BusinessCode)
{
try
{
diff --git a/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSPurchaseService.cs b/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSPurchaseService.cs
index 0967945..d70d787 100644
--- a/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSPurchaseService.cs
+++ b/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSPurchaseService.cs
@@ -345,7 +345,7 @@ namespace ICSSoft.DataProject
{
try
{
- #region SAP
+ #region SAP(检验合格单为两层结构 一行对应一个序列号)
string IsSuccess = "";
string ErrorMessage = "";
string sql = @" select Distinct A.DNCode,A.WorkPoint from ICSDeliveryNotice A
@@ -818,46 +818,58 @@ namespace ICSSoft.DataProject
GROUP BY DNCode,WorkPoint";
chksql = string.Format(chksql, dt.Rows[i]["DNCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
DataTable chkdt = DBHelper.SQlReturnData(chksql, cmd);
- if (Convert.ToDecimal(chkdt.Rows[0]["Quantity"]) != Convert.ToDecimal(chkdt.Rows[0]["RCVQuantity"]))
+ if (Convert.ToDecimal(chkdt.Rows[0]["Quantity"]) == Convert.ToDecimal(chkdt.Rows[0]["RCVQuantity"]))
{
- throw new Exception(string.Format(language.GetNameByCode("WMSAPIInfo203"), chkdt.Rows[0]["Quantity"].ToString(), chkdt.Rows[0]["RCVQuantity"].ToString()));//单次提交数量卡控(必须整单提交)
- }
- SAPCallBackDocVPN.ZWMS_SK_WS_PZ Client = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ();
- SAPCallBackDocVPN.ZWMS_SK_WS_PZ1 Info = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ1();
- Info.NEWID = Identification;
- Info.DANJU = dt.Rows[i]["DNCode"].ToString();
- Info.STATE = "0";
- List ItemList = new List();
- Info.Z_GERNR = new SAPCallBackDocVPN.ZWEBS_GERNR[1];
- Info.Z_FLAG = new SAPCallBackDocVPN.ZWEB_RETURN[1];
- sql = @"select A.DNCode,A.Sequence,A.Quantity,A.RCVQuantity,B.BatchCode from ICSDeliveryNotice A
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZ Client = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ();
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZ1 Info = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ1();
+ Info.NEWID = Identification;
+ Info.DANJU = dt.Rows[i]["DNCode"].ToString();
+ Info.STATE = "0";
+ List ItemList = new List();
+ List ItemLineList = new List();
+ Info.Z_FLAG = new SAPCallBackDocVPN.ZWEB_RETURN[1];
+ sql = @"select A.DNCode,A.SAPSequence,A.InvCode,A.Sequence,A.Quantity,A.RCVQuantity
+ ,ISNULL(B.BatchCode,'') AS BatchCode from ICSDeliveryNotice A
LEFT JOIN ICSExtension B ON B.ID=A.ExtensionID AND B.WorkPoint=A.WorkPoint
WHERE DNCode='{0}' AND A.WorkPoint='{1}'";
- sql = string.Format(sql, dt.Rows[i]["DNCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
- DataTable Sapdt = DBHelper.SQlReturnData(sql, cmd);
- foreach (DataRow dr in Sapdt.Rows)
- {
- if (Convert.ToDecimal(dr["Quantity"].ToString()) == Convert.ToDecimal(dr["RCVQuantity"].ToString()))
+ sql = string.Format(sql, dt.Rows[i]["DNCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
+ DataTable Sapdt = DBHelper.SQlReturnData(sql, cmd);
+ foreach (DataRow dr in Sapdt.Rows)
{
- SAPCallBackDocVPN.ZWMS_PZ Item = new SAPCallBackDocVPN.ZWMS_PZ();
- Item.DANJU = dr["DNCode"].ToString();
- Item.POSNR = dr["Sequence"].ToString();
- Item.LINGYSL = System.Decimal.Round(Convert.ToDecimal(dr["Quantity"].ToString()), 3);
- Item.SERNP = dr["BatchCode"].ToString();
- ItemList.Add(Item);
+ if (Convert.ToDecimal(dr["Quantity"].ToString()) == Convert.ToDecimal(dr["RCVQuantity"].ToString()))
+ {
+ SAPCallBackDocVPN.ZWMS_PZ Item = new SAPCallBackDocVPN.ZWMS_PZ();
+ SAPCallBackDocVPN.ZWEBS_GERNR ItemLine = new SAPCallBackDocVPN.ZWEBS_GERNR();
+ Item.DANJU = dr["DNCode"].ToString();
+ Item.POSNR = dr["SAPSequence"].ToString();
+ Item.LINGYSL = System.Decimal.Round(Convert.ToDecimal(dr["Quantity"].ToString()), 3);
+ ItemList.Add(Item);
+ if (dr["BatchCode"].ToString() != "")
+ {
+ ItemLine.DANJU= dr["DNCode"].ToString();
+ ItemLine.POSNR= dr["SAPSequence"].ToString();
+ ItemLine.MATNR = dr["InvCode"].ToString();
+ ItemLine.GERNR = dr["BatchCode"].ToString();
+ ItemLineList.Add(ItemLine);
+ }
+ }
}
- }
- if (ItemList.Count > 0)
- {
- Info.Z_ITEM = ItemList.ToArray();
- SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse result = new SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse();
- result = Client.CallZWMS_SK_WS_PZ(Info);
- if (result.Z_NULL == "N")
+ if (ItemList.Count > 0)
{
- foreach (SAPCallBackDocVPN.ZWEB_RETURN resultItem in result.Z_FLAG)
+ Info.Z_ITEM = ItemList.ToArray();
+ if (ItemLineList.Count > 0)
{
- IsSuccess = "N";
- ErrorMessage += resultItem.L_MESSAGE + "/r/n";
+ Info.Z_GERNR = ItemLineList.ToArray();
+ }
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse result = new SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse();
+ result = Client.CallZWMS_SK_WS_PZ(Info);
+ if (result.Z_NULL == "N")
+ {
+ foreach (SAPCallBackDocVPN.ZWEB_RETURN resultItem in result.Z_FLAG)
+ {
+ IsSuccess = "N";
+ ErrorMessage += resultItem.L_MESSAGE + "/r/n";
+ }
}
}
}
diff --git a/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSalesService.cs b/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSalesService.cs
index 60b6052..9776284 100644
--- a/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSalesService.cs
+++ b/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSalesService.cs
@@ -82,7 +82,7 @@ namespace ICSSoft.DataProject
{
try
{
- #region SAP
+ #region SAP(三层结构)
string IsSuccess = "";
string ErrorMessage = "";
string sql = @" select Distinct A.SDNCode,A.WorkPoint from ICSSDN A
@@ -101,48 +101,59 @@ namespace ICSSoft.DataProject
GROUP BY SDNCode,WorkPoint";
chksql = string.Format(chksql, dt.Rows[i]["SDNCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
DataTable chkdt = DBHelper.SQlReturnData(chksql, cmd);
- if (Convert.ToDecimal(chkdt.Rows[0]["Quantity"]) != Convert.ToDecimal(chkdt.Rows[0]["SDNQuantity"]))
+ if (Convert.ToDecimal(chkdt.Rows[0]["Quantity"]) == Convert.ToDecimal(chkdt.Rows[0]["SDNQuantity"]))
{
- throw new Exception(string.Format(language.GetNameByCode("WMSAPIInfo203"), chkdt.Rows[0]["Quantity"].ToString(), chkdt.Rows[0]["SDNQuantity"].ToString()));//单次提交数量卡控(必须整单提交)
- }
- SAPCallBackDispatchVPN.ZWMS_SK_DO_GZ Client = new SAPCallBackDispatchVPN.ZWMS_SK_DO_GZ();
- SAPCallBackDispatchVPN.ZWMS_SK_DO_GZ1 Info = new SAPCallBackDispatchVPN.ZWMS_SK_DO_GZ1();
- List headlist = new List();
- SAPCallBackDispatchVPN.ZWMS_DO_HEAD head = new SAPCallBackDispatchVPN.ZWMS_DO_HEAD();
- head.VBELN = dt.Rows[i]["SDNCode"].ToString();
- headlist.Add(head);
- Info.T_HEAD = headlist.ToArray();
- List ItemList = new List();
- Info.T_GERNR = new SAPCallBackDispatchVPN.ZWMS_DO_GERNR[1];
- Info.T_RETURN = new SAPCallBackDispatchVPN.ZWMS_DO_RETURN[1];
- sql = @" select A.SDNCode,A.Sequence,A.Quantity,A.SDNQuantity,B.BatchCode from ICSSDN A
+ SAPCallBackDispatchVPN.ZWMS_SK_DO_GZ Client = new SAPCallBackDispatchVPN.ZWMS_SK_DO_GZ();
+ SAPCallBackDispatchVPN.ZWMS_SK_DO_GZ1 Info = new SAPCallBackDispatchVPN.ZWMS_SK_DO_GZ1();
+ List headlist = new List();
+ SAPCallBackDispatchVPN.ZWMS_DO_HEAD head = new SAPCallBackDispatchVPN.ZWMS_DO_HEAD();
+ head.VBELN = dt.Rows[i]["SDNCode"].ToString();
+ headlist.Add(head);
+ Info.T_HEAD = headlist.ToArray();
+ List ItemList = new List();
+ List ItemLineList = new List();
+ Info.T_RETURN = new SAPCallBackDispatchVPN.ZWMS_DO_RETURN[1];
+ sql = @" select A.SDNCode,A.InvCode,A.SAPSequence,A.Sequence,A.Quantity,A.SDNQuantity
+ ,ISNULL(B.BatchCode,'') AS BatchCode from ICSSDN A
LEFT JOIN ICSExtension B ON B.ID=A.ExtensionID AND B.WorkPoint=A.WorkPoint
WHERE SDNCode='{0}' AND A.WorkPoint='{1}'";
- sql = string.Format(sql, dt.Rows[i]["SDNCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
- DataTable Sapdt = DBHelper.SQlReturnData(sql, cmd);
- foreach (DataRow dr in Sapdt.Rows)
- {
- if (Convert.ToDecimal(dr["Quantity"].ToString()) == Convert.ToDecimal(dr["SDNQuantity"].ToString()))
+ sql = string.Format(sql, dt.Rows[i]["SDNCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
+ DataTable Sapdt = DBHelper.SQlReturnData(sql, cmd);
+ foreach (DataRow dr in Sapdt.Rows)
{
- SAPCallBackDispatchVPN.ZWMS_DO_ITEM Item = new SAPCallBackDispatchVPN.ZWMS_DO_ITEM();
- Item.VBELN = dr["SDNCode"].ToString();
- Item.POSNR = dr["Sequence"].ToString();
- Item.LFIMG = System.Decimal.Round(Convert.ToDecimal(dr["Quantity"].ToString()), 3);
- Item.SERAIL = dr["BatchCode"].ToString();
- ItemList.Add(Item);
+ if (Convert.ToDecimal(dr["Quantity"].ToString()) == Convert.ToDecimal(dr["SDNQuantity"].ToString()))
+ {
+ SAPCallBackDispatchVPN.ZWMS_DO_GERNR ItemLine = new SAPCallBackDispatchVPN.ZWMS_DO_GERNR();
+ SAPCallBackDispatchVPN.ZWMS_DO_ITEM Item = new SAPCallBackDispatchVPN.ZWMS_DO_ITEM();
+ Item.VBELN = dr["SDNCode"].ToString();
+ Item.POSNR = dr["SAPSequence"].ToString();
+ Item.LFIMG = System.Decimal.Round(Convert.ToDecimal(dr["Quantity"].ToString()), 3);
+ ItemList.Add(Item);
+ if (dr["BatchCode"].ToString() != "")
+ {
+ ItemLine.VBELN = dr["SDNCode"].ToString();
+ ItemLine.POSNR = dr["SAPSequence"].ToString();
+ ItemLine.GERNR = dr["BatchCode"].ToString();
+ ItemLineList.Add(ItemLine);
+ }
+ }
}
- }
- if (ItemList.Count > 0)
- {
- Info.T_ITEM = ItemList.ToArray();
- SAPCallBackDispatchVPN.ZWMS_SK_DO_GZResponse result = new SAPCallBackDispatchVPN.ZWMS_SK_DO_GZResponse();
- result = Client.CallZWMS_SK_DO_GZ(Info);
- foreach (SAPCallBackDispatchVPN.ZWMS_DO_RETURN resultItem in result.T_RETURN)
+ if (ItemList.Count > 0)
{
- if (resultItem.ZFLG == "N")
+ Info.T_ITEM = ItemList.ToArray();
+ if (ItemLineList.Count > 0)
+ {
+ Info.T_GERNR = ItemLineList.ToArray();
+ }
+ SAPCallBackDispatchVPN.ZWMS_SK_DO_GZResponse result = new SAPCallBackDispatchVPN.ZWMS_SK_DO_GZResponse();
+ result = Client.CallZWMS_SK_DO_GZ(Info);
+ foreach (SAPCallBackDispatchVPN.ZWMS_DO_RETURN resultItem in result.T_RETURN)
{
- IsSuccess = "N";
- ErrorMessage += resultItem.ZMESS + "/r/n";
+ if (resultItem.ZFLG == "N")
+ {
+ IsSuccess = "N";
+ ErrorMessage += resultItem.ZMESS + "/r/n";
+ }
}
}
}
@@ -223,7 +234,7 @@ namespace ICSSoft.DataProject
{
try
{
- #region SAP
+ #region SAP(三层结构)
string IsSuccess = "";
string ErrorMessage = "";
string sql = @" select Distinct A.SDNCode,A.WorkPoint from ICSSDN A
@@ -242,48 +253,59 @@ namespace ICSSoft.DataProject
GROUP BY SDNCode,WorkPoint";
chksql = string.Format(chksql, dt.Rows[i]["SDNCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
DataTable chkdt = DBHelper.SQlReturnData(chksql, cmd);
- if (Convert.ToDecimal(chkdt.Rows[0]["Quantity"]) != Convert.ToDecimal(chkdt.Rows[0]["SDNQuantity"]))
+ if (Convert.ToDecimal(chkdt.Rows[0]["Quantity"]) == Convert.ToDecimal(chkdt.Rows[0]["SDNQuantity"]))
{
- throw new Exception(string.Format(language.GetNameByCode("WMSAPIInfo203"), chkdt.Rows[0]["Quantity"].ToString(), chkdt.Rows[0]["SDNQuantity"].ToString()));//单次提交数量卡控(必须整单提交)
- }
- SAPCallBackDispatchVPN.ZWMS_SK_DO_GZ Client = new SAPCallBackDispatchVPN.ZWMS_SK_DO_GZ();
- SAPCallBackDispatchVPN.ZWMS_SK_DO_GZ1 Info = new SAPCallBackDispatchVPN.ZWMS_SK_DO_GZ1();
- List headlist = new List();
- SAPCallBackDispatchVPN.ZWMS_DO_HEAD head = new SAPCallBackDispatchVPN.ZWMS_DO_HEAD();
- head.VBELN = dt.Rows[i]["SDNCode"].ToString();
- headlist.Add(head);
- Info.T_HEAD = headlist.ToArray();
- List ItemList = new List();
- Info.T_GERNR = new SAPCallBackDispatchVPN.ZWMS_DO_GERNR[1];
- Info.T_RETURN = new SAPCallBackDispatchVPN.ZWMS_DO_RETURN[1];
- sql = @" select A.SDNCode,A.Sequence,A.Quantity,A.SDNQuantity,B.BatchCode from ICSSDN A
+ SAPCallBackDispatchVPN.ZWMS_SK_DO_GZ Client = new SAPCallBackDispatchVPN.ZWMS_SK_DO_GZ();
+ SAPCallBackDispatchVPN.ZWMS_SK_DO_GZ1 Info = new SAPCallBackDispatchVPN.ZWMS_SK_DO_GZ1();
+ List headlist = new List();
+ SAPCallBackDispatchVPN.ZWMS_DO_HEAD head = new SAPCallBackDispatchVPN.ZWMS_DO_HEAD();
+ head.VBELN = dt.Rows[i]["SDNCode"].ToString();
+ headlist.Add(head);
+ Info.T_HEAD = headlist.ToArray();
+ List ItemList = new List();
+ List ItemLineList = new List();
+ Info.T_RETURN = new SAPCallBackDispatchVPN.ZWMS_DO_RETURN[1];
+ sql = @" select A.SDNCode,A.SAPSequence,A.InvCode,A.Sequence,A.Quantity,A.SDNQuantity
+ ,ISNULL(B.BatchCode,'') AS BatchCode from ICSSDN A
LEFT JOIN ICSExtension B ON B.ID=A.ExtensionID AND B.WorkPoint=A.WorkPoint
WHERE SDNCode='{0}' AND A.WorkPoint='{1}'";
- sql = string.Format(sql, dt.Rows[i]["SDNCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
- DataTable Sapdt = DBHelper.SQlReturnData(sql, cmd);
- foreach (DataRow dr in Sapdt.Rows)
- {
- if (Convert.ToDecimal(dr["Quantity"].ToString()) == Convert.ToDecimal(dr["SDNQuantity"].ToString()))
+ sql = string.Format(sql, dt.Rows[i]["SDNCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
+ DataTable Sapdt = DBHelper.SQlReturnData(sql, cmd);
+ foreach (DataRow dr in Sapdt.Rows)
{
- SAPCallBackDispatchVPN.ZWMS_DO_ITEM Item = new SAPCallBackDispatchVPN.ZWMS_DO_ITEM();
- Item.VBELN = dr["SDNCode"].ToString();
- Item.POSNR = dr["Sequence"].ToString();
- Item.LFIMG = System.Decimal.Round(Convert.ToDecimal(dr["Quantity"].ToString()), 3);
- Item.SERAIL = dr["BatchCode"].ToString();
- ItemList.Add(Item);
+ if (Convert.ToDecimal(dr["Quantity"].ToString()) == Convert.ToDecimal(dr["SDNQuantity"].ToString()))
+ {
+ SAPCallBackDispatchVPN.ZWMS_DO_ITEM Item = new SAPCallBackDispatchVPN.ZWMS_DO_ITEM();
+ SAPCallBackDispatchVPN.ZWMS_DO_GERNR ItemLine = new SAPCallBackDispatchVPN.ZWMS_DO_GERNR();
+ Item.VBELN = dr["SDNCode"].ToString();
+ Item.POSNR = dr["SAPSequence"].ToString();
+ Item.LFIMG = System.Decimal.Round(Convert.ToDecimal(dr["Quantity"].ToString()), 3);
+ ItemList.Add(Item);
+ if (dr["BatchCode"].ToString() != "")
+ {
+ ItemLine.VBELN= dr["SDNCode"].ToString();
+ ItemLine.POSNR= dr["SAPSequence"].ToString();
+ ItemLine.GERNR = dr["BatchCode"].ToString();
+ ItemLineList.Add(ItemLine);
+ }
+ }
}
- }
- if (ItemList.Count > 0)
- {
- Info.T_ITEM = ItemList.ToArray();
- SAPCallBackDispatchVPN.ZWMS_SK_DO_GZResponse result = new SAPCallBackDispatchVPN.ZWMS_SK_DO_GZResponse();
- result = Client.CallZWMS_SK_DO_GZ(Info);
- foreach (SAPCallBackDispatchVPN.ZWMS_DO_RETURN resultItem in result.T_RETURN)
+ if (ItemList.Count > 0)
{
- if (resultItem.ZFLG == "N")
+ Info.T_ITEM = ItemList.ToArray();
+ if (ItemLineList.Count > 0)
+ {
+ Info.T_GERNR = ItemLineList.ToArray();
+ }
+ SAPCallBackDispatchVPN.ZWMS_SK_DO_GZResponse result = new SAPCallBackDispatchVPN.ZWMS_SK_DO_GZResponse();
+ result = Client.CallZWMS_SK_DO_GZ(Info);
+ foreach (SAPCallBackDispatchVPN.ZWMS_DO_RETURN resultItem in result.T_RETURN)
{
- IsSuccess = "N";
- ErrorMessage += resultItem.ZMESS + "/r/n";
+ if (resultItem.ZFLG == "N")
+ {
+ IsSuccess = "N";
+ ErrorMessage += resultItem.ZMESS + "/r/n";
+ }
}
}
}
diff --git a/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSWareHouseService.cs b/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSWareHouseService.cs
index 34ee3c8..dc34391 100644
--- a/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSWareHouseService.cs
+++ b/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSWareHouseService.cs
@@ -30,7 +30,7 @@ namespace ICSSoft.DataProject
///
///
///
- public static void OneStepTransferDocIn(string TransCode,string TransSequence, string WorkPoint,string Quantity, SqlCommand cmd, Dictionary language)
+ public static void OneStepTransferDocIn(string TransCode, string TransSequence, string WorkPoint, string Quantity, SqlCommand cmd, Dictionary language)
{
try
{
@@ -99,11 +99,11 @@ namespace ICSSoft.DataProject
///
///
///
- public static void OneStepTransferDocInERP(string TransType, string Identification, SqlCommand cmd, Dictionary language,string BusinessCode)
+ public static void OneStepTransferDocInERP(string TransType, string Identification, SqlCommand cmd, Dictionary language, string BusinessCode)
{
try
{
- #region SAP
+ #region SAP(三层结构)
string IsSuccess = "";
string ErrorMessage = "";
string sql = @" select Distinct A.TransferNO,A.WorkPoint from ICSTransfer A
@@ -122,46 +122,58 @@ namespace ICSSoft.DataProject
GROUP BY TransferNO,WorkPoint";
chksql = string.Format(chksql, dt.Rows[i]["TransferNO"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
DataTable chkdt = DBHelper.SQlReturnData(chksql, cmd);
- if (Convert.ToDecimal(chkdt.Rows[0]["Quantity"]) != Convert.ToDecimal(chkdt.Rows[0]["TransferQuantity"]))
+ if (Convert.ToDecimal(chkdt.Rows[0]["Quantity"]) == Convert.ToDecimal(chkdt.Rows[0]["TransferQuantity"]))
{
- throw new Exception(string.Format(language.GetNameByCode("WMSAPIInfo203"), chkdt.Rows[0]["Quantity"].ToString(), chkdt.Rows[0]["TransferQuantity"].ToString()));//单次提交数量卡控(必须整单提交)
- }
- SAPCallBackDocVPN.ZWMS_SK_WS_PZ Client = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ();
- SAPCallBackDocVPN.ZWMS_SK_WS_PZ1 Info = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ1();
- Info.NEWID = Identification;
- Info.DANJU = dt.Rows[i]["TransferNO"].ToString();
- Info.STATE = "0";
- List ItemList = new List();
- Info.Z_GERNR = new SAPCallBackDocVPN.ZWEBS_GERNR[1];
- Info.Z_FLAG = new SAPCallBackDocVPN.ZWEB_RETURN[1];
- sql = @" select A.TransferNO,A.Sequence,A.Quantity,A.TransferQuantity,B.BatchCode from ICSTransfer A
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZ Client = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ();
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZ1 Info = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ1();
+ Info.NEWID = Identification;
+ Info.DANJU = dt.Rows[i]["TransferNO"].ToString();
+ Info.STATE = "0";
+ List ItemList = new List();
+ List ItemLineList = new List();
+ Info.Z_FLAG = new SAPCallBackDocVPN.ZWEB_RETURN[1];
+ sql = @" select A.TransferNO,A.SAPSequence,A.InvCode,A.Sequence,A.Quantity,A.TransferQuantity
+ ,ISNULL(B.BatchCode,'') AS BatchCode from ICSTransfer A
LEFT JOIN ICSExtension B ON B.ID=A.ExtensionID AND B.WorkPoint=A.WorkPoint
WHERE TransferNO='{0}' AND A.WorkPoint='{1}'";
- sql = string.Format(sql, dt.Rows[i]["TransferNO"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
- DataTable Sapdt = DBHelper.SQlReturnData(sql, cmd);
- foreach (DataRow dr in Sapdt.Rows)
- {
- if (Convert.ToDecimal(dr["Quantity"].ToString()) == Convert.ToDecimal(dr["TransferQuantity"].ToString()))
+ sql = string.Format(sql, dt.Rows[i]["TransferNO"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
+ DataTable Sapdt = DBHelper.SQlReturnData(sql, cmd);
+ foreach (DataRow dr in Sapdt.Rows)
{
- SAPCallBackDocVPN.ZWMS_PZ Item = new SAPCallBackDocVPN.ZWMS_PZ();
- Item.DANJU = dr["TransferNO"].ToString();
- Item.POSNR = dr["Sequence"].ToString();
- Item.LINGYSL = System.Decimal.Round(Convert.ToDecimal(dr["Quantity"].ToString()), 3);
- Item.SERNP = dr["BatchCode"].ToString();
- ItemList.Add(Item);
+ if (Convert.ToDecimal(dr["Quantity"].ToString()) == Convert.ToDecimal(dr["TransferQuantity"].ToString()))
+ {
+ SAPCallBackDocVPN.ZWMS_PZ Item = new SAPCallBackDocVPN.ZWMS_PZ();
+ SAPCallBackDocVPN.ZWEBS_GERNR ItemLine = new SAPCallBackDocVPN.ZWEBS_GERNR();
+ Item.DANJU = dr["TransferNO"].ToString();
+ Item.POSNR = dr["SAPSequence"].ToString();
+ Item.LINGYSL = System.Decimal.Round(Convert.ToDecimal(dr["Quantity"].ToString()), 3);
+ ItemList.Add(Item);
+ if (dr["BatchCode"].ToString() != "")
+ {
+ ItemLine.DANJU = dr["TransferNO"].ToString();
+ ItemLine.POSNR = dr["SAPSequence"].ToString();
+ ItemLine.MATNR = dr["InvCode"].ToString();
+ ItemLine.GERNR = dr["BatchCode"].ToString();
+ ItemLineList.Add(ItemLine);
+ }
+ }
}
- }
- if (ItemList.Count > 0)
- {
- Info.Z_ITEM = ItemList.ToArray();
- SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse result = new SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse();
- result = Client.CallZWMS_SK_WS_PZ(Info);
- if (result.Z_NULL == "N")
+ if (ItemList.Count > 0)
{
- foreach (SAPCallBackDocVPN.ZWEB_RETURN resultItem in result.Z_FLAG)
+ Info.Z_ITEM = ItemList.ToArray();
+ if (ItemLineList.Count > 0)
+ {
+ Info.Z_GERNR = ItemLineList.ToArray();
+ }
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse result = new SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse();
+ result = Client.CallZWMS_SK_WS_PZ(Info);
+ if (result.Z_NULL == "N")
{
- IsSuccess = "N";
- ErrorMessage += resultItem.L_MESSAGE + "/r/n";
+ foreach (SAPCallBackDocVPN.ZWEB_RETURN resultItem in result.Z_FLAG)
+ {
+ IsSuccess = "N";
+ ErrorMessage += resultItem.L_MESSAGE + "/r/n";
+ }
}
}
}
@@ -180,14 +192,14 @@ namespace ICSSoft.DataProject
#endregion
#region 调拨
-
+
///
/// 调拨接口
///
///
///
///
- public static void StepTransferDocInERP(string TransType, string Identification, SqlCommand cmd, Dictionary language,string BusinessCode)
+ public static void StepTransferDocInERP(string TransType, string Identification, SqlCommand cmd, Dictionary language, string BusinessCode)
{
try
{
@@ -238,7 +250,7 @@ namespace ICSSoft.DataProject
JObject det = (JObject)detail;
string allcol = jo["cWhCode"].ToString() + det["ProjectCode"].ToString() + det["cBatch"].ToString() + det["version"].ToString() + det["brand"].ToString() + det["cFree1"].ToString() + det["cFree2"].ToString() + det["cFree3"].ToString() + det["cFree4"].ToString() + det["cFree5"].ToString()
+ det["cFree6"].ToString() + det["cFree7"].ToString() + det["cFree8"].ToString() + det["cFree9"].ToString() + det["cFree10"].ToString();
- ICSWareHouseLotInfoService.WareHouseLotInfoLogUpdate(TransType, det["DNDetailID"].ToString(), Identification, jo["ID"].ToString(), det["DetailID"].ToString(), jo["RCVTCode"].ToString(), det["Sequence"].ToString(),allcol, cmd, language, BusinessCode);
+ ICSWareHouseLotInfoService.WareHouseLotInfoLogUpdate(TransType, det["DNDetailID"].ToString(), Identification, jo["ID"].ToString(), det["DetailID"].ToString(), jo["RCVTCode"].ToString(), det["Sequence"].ToString(), allcol, cmd, language, BusinessCode);
}
}
}
@@ -406,7 +418,7 @@ namespace ICSSoft.DataProject
///
///
///
- public static void TwoStepTransferDocOutERP(string TransType, string Identification, SqlCommand cmd, Dictionary language,string BusinessCode)
+ public static void TwoStepTransferDocOutERP(string TransType, string Identification, SqlCommand cmd, Dictionary language, string BusinessCode)
{
try
{
@@ -451,7 +463,7 @@ namespace ICSSoft.DataProject
}
else
{
- throw new Exception(language.GetNameByCode("WMSAPIInfo080")+result.Message);
+ throw new Exception(language.GetNameByCode("WMSAPIInfo080") + result.Message);
}
#endregion
}
@@ -510,7 +522,7 @@ namespace ICSSoft.DataProject
BEGIN
RAISERROR('" + language.GetNameByCode("WMSAPIInfo149") + @"',16,1);
END";
- sql = string.Format(sql, LotNo, WorkPoint,TransCode,TransSequence, Quantity);
+ sql = string.Format(sql, LotNo, WorkPoint, TransCode, TransSequence, Quantity);
if (!DBHelper.ExecuteNonQuery(sql, cmd))
{
throw new Exception(language.GetNameByCode("WMSAPIInfo150"));//"两步调入单更新失败!");
@@ -528,7 +540,7 @@ namespace ICSSoft.DataProject
///
///
///
- public static void TwoStepTransferDocInERP(string TransType, string Identification, SqlCommand cmd, Dictionary language,string BusinessCode)
+ public static void TwoStepTransferDocInERP(string TransType, string Identification, SqlCommand cmd, Dictionary language, string BusinessCode)
{
try
{
@@ -562,7 +574,7 @@ namespace ICSSoft.DataProject
{
foreach (DataRow dr in dt.Rows)
{
- ICSWareHouseLotInfoService.WareHouseLotInfoLogUpdate(TransType, dr["ID"].ToString(), Identification, "", "", "", "","", cmd, language, BusinessCode);
+ ICSWareHouseLotInfoService.WareHouseLotInfoLogUpdate(TransType, dr["ID"].ToString(), Identification, "", "", "", "", "", cmd, language, BusinessCode);
}
}
catch (Exception ex)
@@ -573,7 +585,7 @@ namespace ICSSoft.DataProject
}
else
{
- throw new Exception(language.GetNameByCode("WMSAPIInfo080")+result.Message);
+ throw new Exception(language.GetNameByCode("WMSAPIInfo080") + result.Message);
}
#endregion
}
@@ -641,11 +653,11 @@ namespace ICSSoft.DataProject
///
///
///
- public static void OtherOutDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary language,string BusinessCode)
+ public static void OtherOutDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary language, string BusinessCode)
{
try
{
- #region SAP
+ #region SAP(三层结构)
string IsSuccess = "";
string ErrorMessage = "";
string sql = @" select Distinct A.OutCode,A.WorkPoint from ICSOtherOut A
@@ -664,46 +676,58 @@ namespace ICSSoft.DataProject
GROUP BY OutCode,WorkPoint";
chksql = string.Format(chksql, dt.Rows[i]["OutCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
DataTable chkdt = DBHelper.SQlReturnData(chksql, cmd);
- if (Convert.ToDecimal(chkdt.Rows[0]["Quantity"]) != Convert.ToDecimal(chkdt.Rows[0]["OutQuantity"]))
+ if (Convert.ToDecimal(chkdt.Rows[0]["Quantity"]) == Convert.ToDecimal(chkdt.Rows[0]["OutQuantity"]))
{
- throw new Exception(string.Format(language.GetNameByCode("WMSAPIInfo203"), chkdt.Rows[0]["Quantity"].ToString(), chkdt.Rows[0]["OutQuantity"].ToString()));//单次提交数量卡控(必须整单提交)
- }
- SAPCallBackDocVPN.ZWMS_SK_WS_PZ Client = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ();
- SAPCallBackDocVPN.ZWMS_SK_WS_PZ1 Info = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ1();
- Info.NEWID = Identification;
- Info.DANJU = dt.Rows[i]["OutCode"].ToString();
- Info.STATE = "0";
- List ItemList = new List();
- Info.Z_GERNR = new SAPCallBackDocVPN.ZWEBS_GERNR[1];
- Info.Z_FLAG = new SAPCallBackDocVPN.ZWEB_RETURN[1];
- sql = @"select A.OutCode,A.Sequence,A.Quantity,A.OutQuantity,B.BatchCode from ICSOtherOut A
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZ Client = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ();
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZ1 Info = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ1();
+ Info.NEWID = Identification;
+ Info.DANJU = dt.Rows[i]["OutCode"].ToString();
+ Info.STATE = "0";
+ List ItemList = new List();
+ List ItemLineList = new List();
+ Info.Z_FLAG = new SAPCallBackDocVPN.ZWEB_RETURN[1];
+ sql = @"select A.OutCode,A.SAPSequence,A.InvCode,A.Sequence,A.Quantity,A.OutQuantity
+ ,ISNULL(B.BatchCode,'') AS BatchCode from ICSOtherOut A
LEFT JOIN ICSExtension B ON B.ID=A.ExtensionID AND B.WorkPoint=A.WorkPoint
WHERE OutCode='{0}' AND A.WorkPoint='{1}'";
- sql = string.Format(sql, dt.Rows[i]["OutCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
- DataTable Sapdt = DBHelper.SQlReturnData(sql, cmd);
- foreach (DataRow dr in Sapdt.Rows)
- {
- if (Convert.ToDecimal(dr["Quantity"].ToString()) == Convert.ToDecimal(dr["OutQuantity"].ToString()))
+ sql = string.Format(sql, dt.Rows[i]["OutCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
+ DataTable Sapdt = DBHelper.SQlReturnData(sql, cmd);
+ foreach (DataRow dr in Sapdt.Rows)
{
- SAPCallBackDocVPN.ZWMS_PZ Item = new SAPCallBackDocVPN.ZWMS_PZ();
- Item.DANJU = dr["OutCode"].ToString();
- Item.POSNR = dr["Sequence"].ToString();
- Item.LINGYSL = System.Decimal.Round(Convert.ToDecimal(dr["Quantity"].ToString()), 3);
- Item.SERNP = dr["BatchCode"].ToString();
- ItemList.Add(Item);
+ if (Convert.ToDecimal(dr["Quantity"].ToString()) == Convert.ToDecimal(dr["OutQuantity"].ToString()))
+ {
+ SAPCallBackDocVPN.ZWMS_PZ Item = new SAPCallBackDocVPN.ZWMS_PZ();
+ SAPCallBackDocVPN.ZWEBS_GERNR ItemLine = new SAPCallBackDocVPN.ZWEBS_GERNR();
+ Item.DANJU = dr["OutCode"].ToString();
+ Item.POSNR = dr["SAPSequence"].ToString();
+ Item.LINGYSL = System.Decimal.Round(Convert.ToDecimal(dr["Quantity"].ToString()), 3);
+ ItemList.Add(Item);
+ if (dr["BatchCode"].ToString() != "")
+ {
+ ItemLine.DANJU = dr["OutCode"].ToString();
+ ItemLine.POSNR = dr["SAPSequence"].ToString();
+ ItemLine.MATNR = dr["InvCode"].ToString();
+ ItemLine.GERNR = dr["BatchCode"].ToString();
+ ItemLineList.Add(ItemLine);
+ }
+ }
}
- }
- if (ItemList.Count > 0)
- {
- Info.Z_ITEM = ItemList.ToArray();
- SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse result = new SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse();
- result = Client.CallZWMS_SK_WS_PZ(Info);
- if (result.Z_NULL == "N")
+ if (ItemList.Count > 0)
{
- foreach (SAPCallBackDocVPN.ZWEB_RETURN resultItem in result.Z_FLAG)
+ Info.Z_ITEM = ItemList.ToArray();
+ if (ItemLineList.Count > 0)
+ {
+ Info.Z_GERNR = ItemLineList.ToArray();
+ }
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse result = new SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse();
+ result = Client.CallZWMS_SK_WS_PZ(Info);
+ if (result.Z_NULL == "N")
{
- IsSuccess = "N";
- ErrorMessage += resultItem.L_MESSAGE + "/r/n";
+ foreach (SAPCallBackDocVPN.ZWEB_RETURN resultItem in result.Z_FLAG)
+ {
+ IsSuccess = "N";
+ ErrorMessage += resultItem.L_MESSAGE + "/r/n";
+ }
}
}
}
@@ -780,11 +804,11 @@ namespace ICSSoft.DataProject
///
///
///
- public static void OtherInDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary language,string BusinessCode)
+ public static void OtherInDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary language, string BusinessCode)
{
try
{
- #region SAP
+ #region SAP(三层结构)
string IsSuccess = "";
string ErrorMessage = "";
string sql = @" select Distinct A.InCode,A.WorkPoint from ICSOtherIn A
@@ -803,46 +827,58 @@ namespace ICSSoft.DataProject
GROUP BY InCode,WorkPoint";
chksql = string.Format(chksql, dt.Rows[i]["InCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
DataTable chkdt = DBHelper.SQlReturnData(chksql, cmd);
- if (Convert.ToDecimal(chkdt.Rows[0]["Quantity"]) != Convert.ToDecimal(chkdt.Rows[0]["InQuantity"]))
+ if (Convert.ToDecimal(chkdt.Rows[0]["Quantity"]) == Convert.ToDecimal(chkdt.Rows[0]["InQuantity"]))
{
- throw new Exception(string.Format(language.GetNameByCode("WMSAPIInfo203"), chkdt.Rows[0]["Quantity"].ToString(), chkdt.Rows[0]["InQuantity"].ToString()));//单次提交数量卡控(必须整单提交)
- }
- SAPCallBackDocVPN.ZWMS_SK_WS_PZ Client = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ();
- SAPCallBackDocVPN.ZWMS_SK_WS_PZ1 Info = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ1();
- Info.NEWID = Identification;
- Info.DANJU = dt.Rows[i]["InCode"].ToString();
- Info.STATE = "0";
- List ItemList = new List();
- Info.Z_GERNR = new SAPCallBackDocVPN.ZWEBS_GERNR[1];
- Info.Z_FLAG = new SAPCallBackDocVPN.ZWEB_RETURN[1];
- sql = @"select A.InCode,A.Sequence,A.Quantity,A.InQuantity,B.BatchCode from ICSOtherIn A
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZ Client = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ();
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZ1 Info = new SAPCallBackDocVPN.ZWMS_SK_WS_PZ1();
+ Info.NEWID = Identification;
+ Info.DANJU = dt.Rows[i]["InCode"].ToString();
+ Info.STATE = "0";
+ List ItemList = new List();
+ List ItemLineList = new List();
+ Info.Z_FLAG = new SAPCallBackDocVPN.ZWEB_RETURN[1];
+ sql = @"select A.InCode,A.SAPSequence,A.InvCode,A.Sequence,A.Quantity,A.InQuantity
+ ,ISNULL(B.BatchCode,'') AS BatchCode from ICSOtherIn A
LEFT JOIN ICSExtension B ON B.ID=A.ExtensionID AND B.WorkPoint=A.WorkPoint
WHERE InCode='{0}' AND A.WorkPoint='{1}'";
- sql = string.Format(sql, dt.Rows[i]["InCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
- DataTable Sapdt = DBHelper.SQlReturnData(sql, cmd);
- foreach (DataRow dr in Sapdt.Rows)
- {
- if (Convert.ToDecimal(dr["Quantity"].ToString()) == Convert.ToDecimal(dr["InQuantity"].ToString()))
+ sql = string.Format(sql, dt.Rows[i]["InCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
+ DataTable Sapdt = DBHelper.SQlReturnData(sql, cmd);
+ foreach (DataRow dr in Sapdt.Rows)
{
- SAPCallBackDocVPN.ZWMS_PZ Item = new SAPCallBackDocVPN.ZWMS_PZ();
- Item.DANJU = dr["InCode"].ToString();
- Item.POSNR = dr["Sequence"].ToString();
- Item.LINGYSL = System.Decimal.Round(Convert.ToDecimal(dr["Quantity"].ToString()), 3);
- Item.SERNP = dr["BatchCode"].ToString();
- ItemList.Add(Item);
+ if (Convert.ToDecimal(dr["Quantity"].ToString()) == Convert.ToDecimal(dr["InQuantity"].ToString()))
+ {
+ SAPCallBackDocVPN.ZWMS_PZ Item = new SAPCallBackDocVPN.ZWMS_PZ();
+ SAPCallBackDocVPN.ZWEBS_GERNR ItemLine = new SAPCallBackDocVPN.ZWEBS_GERNR();
+ Item.DANJU = dr["InCode"].ToString();
+ Item.POSNR = dr["SAPSequence"].ToString();
+ Item.LINGYSL = System.Decimal.Round(Convert.ToDecimal(dr["Quantity"].ToString()), 3);
+ ItemList.Add(Item);
+ if (dr["BatchCode"].ToString() != "")
+ {
+ ItemLine.DANJU = dr["InCode"].ToString();
+ ItemLine.POSNR = dr["SAPSequence"].ToString();
+ ItemLine.MATNR = dr["InvCode"].ToString();
+ ItemLine.GERNR = dr["BatchCode"].ToString();
+ ItemLineList.Add(ItemLine);
+ }
+ }
}
- }
- if (ItemList.Count > 0)
- {
- Info.Z_ITEM = ItemList.ToArray();
- SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse result = new SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse();
- result = Client.CallZWMS_SK_WS_PZ(Info);
- if (result.Z_NULL == "N")
+ if (ItemList.Count > 0)
{
- foreach (SAPCallBackDocVPN.ZWEB_RETURN resultItem in result.Z_FLAG)
+ Info.Z_ITEM = ItemList.ToArray();
+ if (ItemLineList.Count > 0)
+ {
+ Info.Z_GERNR = ItemLineList.ToArray();
+ }
+ SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse result = new SAPCallBackDocVPN.ZWMS_SK_WS_PZResponse();
+ result = Client.CallZWMS_SK_WS_PZ(Info);
+ if (result.Z_NULL == "N")
{
- IsSuccess = "N";
- ErrorMessage += resultItem.L_MESSAGE + "/r/n";
+ foreach (SAPCallBackDocVPN.ZWEB_RETURN resultItem in result.Z_FLAG)
+ {
+ IsSuccess = "N";
+ ErrorMessage += resultItem.L_MESSAGE + "/r/n";
+ }
}
}
}
@@ -959,7 +995,7 @@ namespace ICSSoft.DataProject
///
///
///
- public static void DisassemblyDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary language,string BusinessCode)
+ public static void DisassemblyDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary language, string BusinessCode)
{
try
{
@@ -991,7 +1027,7 @@ namespace ICSSoft.DataProject
{
foreach (DataRow dr in dt.Rows)
{
- ICSWareHouseLotInfoService.WareHouseLotInfoLogUpdate(TransType, dr["ID"].ToString(), Identification, "", "", "", "","", cmd, language, BusinessCode);
+ ICSWareHouseLotInfoService.WareHouseLotInfoLogUpdate(TransType, dr["ID"].ToString(), Identification, "", "", "", "", "", cmd, language, BusinessCode);
}
}
catch (Exception ex)
@@ -1002,7 +1038,7 @@ namespace ICSSoft.DataProject
}
else
{
- throw new Exception(language.GetNameByCode("WMSAPIInfo080")+result.Message);
+ throw new Exception(language.GetNameByCode("WMSAPIInfo080") + result.Message);
}
#endregion
}
@@ -1070,7 +1106,7 @@ namespace ICSSoft.DataProject
///
///
///
- public static void BrrowDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary language,string BusinessCode)
+ public static void BrrowDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary language, string BusinessCode)
{
try
{
@@ -1115,9 +1151,9 @@ namespace ICSSoft.DataProject
foreach (var detail in resdetail)
{
JObject det = (JObject)detail;
- string allcol = jo["cWhCode"].ToString() + det["ProjectCode"].ToString() + det["cBatch"].ToString() + det["version"].ToString() + det["brand"].ToString() + det["cFree1"].ToString() + det["cFree2"].ToString() + det["cFree3"].ToString() + det["cFree4"].ToString() + det["cFree5"].ToString()
+ string allcol = jo["cWhCode"].ToString() + det["ProjectCode"].ToString() + det["cBatch"].ToString() + det["version"].ToString() + det["brand"].ToString() + det["cFree1"].ToString() + det["cFree2"].ToString() + det["cFree3"].ToString() + det["cFree4"].ToString() + det["cFree5"].ToString()
+ det["cFree6"].ToString() + det["cFree7"].ToString() + det["cFree8"].ToString() + det["cFree9"].ToString() + det["cFree10"].ToString();
- ICSWareHouseLotInfoService.WareHouseLotInfoLogUpdate(TransType, det["SourceDetailID"].ToString(), Identification, jo["ID"].ToString(),
+ ICSWareHouseLotInfoService.WareHouseLotInfoLogUpdate(TransType, det["SourceDetailID"].ToString(), Identification, jo["ID"].ToString(),
det["DetailID"].ToString(), jo["OtherOutCode"].ToString(), det["Sequence"].ToString(), allcol, cmd, language, BusinessCode);
}
}
@@ -1200,7 +1236,7 @@ namespace ICSSoft.DataProject
///
///
///
- public static void ReturnDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary language,string BusinessCode)
+ public static void ReturnDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary language, string BusinessCode)
{
try
{
@@ -1226,7 +1262,7 @@ namespace ICSSoft.DataProject
SELECT Costre,Sequence,InvCode,Quantity,Amount,ReturnDetailID AS SourceDetailID,ProjectCode,BatchCode,Version,Brand,cFree1,cFree2,cFree3,cFree4,cFree5,cFree6,cFree7,cFree8,cFree9,cFree10 FROM #TempERP
DROP TABLE #TempERP";
- sql = string.Format(sql, Identification,BusinessCode);
+ sql = string.Format(sql, Identification, BusinessCode);
DataSet ds = DBHelper.SQlReturnDataSet(sql, cmd);
string Inputstr = DataToJsonHelper.DataSetToJson(ds, "details", "Costre");
@@ -1247,8 +1283,8 @@ namespace ICSSoft.DataProject
JObject det = (JObject)detail;
string allcol = jo["cWhCode"].ToString() + det["ProjectCode"].ToString() + det["cBatch"].ToString() + det["version"].ToString() + det["brand"].ToString() + det["cFree1"].ToString() + det["cFree2"].ToString() + det["cFree3"].ToString() + det["cFree4"].ToString() + det["cFree5"].ToString()
+ det["cFree6"].ToString() + det["cFree7"].ToString() + det["cFree8"].ToString() + det["cFree9"].ToString() + det["cFree10"].ToString();
- ICSWareHouseLotInfoService.WareHouseLotInfoLogUpdate(TransType, det["SourceDetailID"].ToString(), Identification, jo["ID"].ToString(),
- det["DetailID"].ToString(), jo["OtherInCode"].ToString(), det["Sequence"].ToString(),"", cmd,language, BusinessCode);
+ ICSWareHouseLotInfoService.WareHouseLotInfoLogUpdate(TransType, det["SourceDetailID"].ToString(), Identification, jo["ID"].ToString(),
+ det["DetailID"].ToString(), jo["OtherInCode"].ToString(), det["Sequence"].ToString(), "", cmd, language, BusinessCode);
}
}
}
diff --git a/ICSSoft.WMS.WebAPI/ICSSoft.WMS.WebAPI/Web.config b/ICSSoft.WMS.WebAPI/ICSSoft.WMS.WebAPI/Web.config
index 691d3c6..18095a3 100644
--- a/ICSSoft.WMS.WebAPI/ICSSoft.WMS.WebAPI/Web.config
+++ b/ICSSoft.WMS.WebAPI/ICSSoft.WMS.WebAPI/Web.config
@@ -7,8 +7,8 @@
-
-
+
+