Browse Source

新增形态转换功能,调整获取条码接口

master
lilili 2 years ago
parent
commit
41f876a85c
  1. 6
      ICSSoft.FromERP/ICSSoft.FromERP/App.config
  2. 4
      ICSSoft.FromERP/ICSSoft.FromERP/ICSDeliveryNotice.cs
  3. 30
      ICSSoft.FromERP/ICSSoft.FromERP/ICSDispatchDoc.cs
  4. 14
      ICSSoft.FromERP/ICSSoft.FromERP/ICSInventory.cs
  5. 73
      ICSSoft.FromERP/ICSSoft.FromERP/ICSSAPDocGet.cs
  6. 287
      ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSManufactureService.cs
  7. 103
      ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSOutsourcingService.cs
  8. 80
      ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSPurchaseService.cs
  9. 166
      ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSalesService.cs
  10. 286
      ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSWareHouseService.cs
  11. 4
      ICSSoft.WMS.WebAPI/ICSSoft.WMS.WebAPI/Web.config

6
ICSSoft.FromERP/ICSSoft.FromERP/App.config

@ -9,12 +9,12 @@
<add key="ERPDB" value="[192.168.1.218].[ICS_WMS_NW]"/>
<add key="WHCode" value="101"/>
<add key="Date" value="2021-09-02"/>
<add key="DocNo" value="0117010000046"/>
<add key="DocNo" value="70023269"/>
<add key="HGpostUrlStr" value="http://58.210.216.118:8382/api/jobs/CFG-IMP-ORDINI"/>
</appSettings>
<connectionStrings>
<add name="SysConnectionString" connectionString="Data Source=192.168.21.108;Database=ICS_WMS_NW;Uid=sa;Pwd=Server1neway;"/>
<!--<add name="SysConnectionString" connectionString="Data Source=192.168.1.218;Database=ICS_WMS_NW;Uid=sa;Pwd=aA123456;"/>-->
<!--<add name="SysConnectionString" connectionString="Data Source=192.168.21.108;Database=ICS_WMS_NW;Uid=sa;Pwd=Server1neway;"/>-->
<add name="SysConnectionString" connectionString="Data Source=192.168.1.218;Database=ICS_WMS_NW;Uid=sa;Pwd=aA123456;"/>
<add name="MailOpen" connectionString="true"/>
<add name="SendHost" connectionString="mail.huahengweld.com"/>
<add name="SendPort" connectionString="25"/>

4
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];

30
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<SAPDispatchGetVPN.ZWMS_DO_ITEM> ItemInfoList = new List<SAPDispatchGetVPN.ZWMS_DO_ITEM>();
List<SAPDispatchGet.ZWMS_DO_ITEM> ItemInfoList = new List<SAPDispatchGet.ZWMS_DO_ITEM>();
ItemInfoList.AddRange(result.T_ITEM);
List<SAPDispatchGetVPN.ZWMS_DO_GERNR> SubLineInfoList = new List<SAPDispatchGetVPN.ZWMS_DO_GERNR>();
List<SAPDispatchGet.ZWMS_DO_GERNR> SubLineInfoList = new List<SAPDispatchGet.ZWMS_DO_GERNR>();
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;

14
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;

73
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;

287
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<SAPCallBackDocVPN.ZWMS_PZ> ItemList = new List<SAPCallBackDocVPN.ZWMS_PZ>();
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<SAPCallBackDocVPN.ZWMS_PZ> ItemList = new List<SAPCallBackDocVPN.ZWMS_PZ>();
List<SAPCallBackDocVPN.ZWEBS_GERNR> ItemLineList = new List<SAPCallBackDocVPN.ZWEBS_GERNR>();
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<SAPCallBackDocVPN.ZWMS_PZ> ItemList = new List<SAPCallBackDocVPN.ZWMS_PZ>();
Info.Z_GERNR = new SAPCallBackDocVPN.ZWEBS_GERNR[1];
List<SAPCallBackDocVPN.ZWEBS_GERNR> ItemLineList = new List<SAPCallBackDocVPN.ZWEBS_GERNR>();
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<SAPCallBackDocVPN.ZWMS_PZ> ItemList = new List<SAPCallBackDocVPN.ZWMS_PZ>();
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<SAPCallBackDocVPN.ZWMS_PZ> ItemList = new List<SAPCallBackDocVPN.ZWMS_PZ>();
List<SAPCallBackDocVPN.ZWEBS_GERNR> ItemLineList = new List<SAPCallBackDocVPN.ZWEBS_GERNR>();
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<SAPCallBackDocVPN.ZWMS_PZ> ItemList = new List<SAPCallBackDocVPN.ZWMS_PZ>();
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<SAPCallBackDocVPN.ZWMS_PZ> ItemList = new List<SAPCallBackDocVPN.ZWMS_PZ>();
List<SAPCallBackDocVPN.ZWEBS_GERNR> ItemLineList = new List<SAPCallBackDocVPN.ZWEBS_GERNR>();
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";
}
}
}
}

103
ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSOutsourcingService.cs

@ -80,7 +80,7 @@ namespace ICSSoft.DataProject
/// <param name="TransType"></param>
/// <param name="Identification"></param>
/// <param name="cmd"></param>
public static void OutsourcingIssueDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language,string BusinessCode)
public static void OutsourcingIssueDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> 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
/// <param name="TransType"></param>
/// <param name="Identification"></param>
/// <param name="cmd"></param>
public static void OOApplyERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language,string BusinessCode)
public static void OOApplyERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> 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<SAPCallBackDocVPN.ZWMS_PZ> ItemList = new List<SAPCallBackDocVPN.ZWMS_PZ>();
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<SAPCallBackDocVPN.ZWMS_PZ> ItemList = new List<SAPCallBackDocVPN.ZWMS_PZ>();
List<SAPCallBackDocVPN.ZWEBS_GERNR> ItemLineList = new List<SAPCallBackDocVPN.ZWEBS_GERNR>();
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
/// <param name="TransType"></param>
/// <param name="Identification"></param>
/// <param name="cmd"></param>
public static void OOIssueERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language,string BusinessCode)
public static void OOIssueERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language, string BusinessCode)
{
try
{
@ -523,7 +532,7 @@ namespace ICSSoft.DataProject
/// <param name="TransType"></param>
/// <param name="Identification"></param>
/// <param name="cmd"></param>
public static void OutsourcingIssueDoNegativeERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language,string BusinessCode)
public static void OutsourcingIssueDoNegativeERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language, string BusinessCode)
{
try
{
@ -869,7 +878,7 @@ namespace ICSSoft.DataProject
/// <param name="TransType"></param>
/// <param name="Identification"></param>
/// <param name="cmd"></param>
public static void OutsourcingReceiveDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language,string BusinessCode)
public static void OutsourcingReceiveDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> 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
/// <param name="TransType"></param>
/// <param name="Identification"></param>
/// <param name="cmd"></param>
public static void ODeliveryNoticeInERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language,string BusinessCode)
public static void ODeliveryNoticeInERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> 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
/// <param name="TransType"></param>
/// <param name="Identification"></param>
/// <param name="cmd"></param>
public static void OutsourcingRejectDocInERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language,string BusinessCode)
public static void OutsourcingRejectDocInERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language, string BusinessCode)
{
// try
// {
@ -1388,7 +1397,7 @@ namespace ICSSoft.DataProject
/// <param name="TransType"></param>
/// <param name="Identification"></param>
/// <param name="cmd"></param>
public static void OutsourcingReturnBackERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language,string BusinessCode)
public static void OutsourcingReturnBackERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language, string BusinessCode)
{
try
{
@ -1518,7 +1527,7 @@ namespace ICSSoft.DataProject
/// <param name="TransType"></param>
/// <param name="Identification"></param>
/// <param name="cmd"></param>
public static void OutsourcingReceiveDocNegativeERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language,string BusinessCode)
public static void OutsourcingReceiveDocNegativeERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language, string BusinessCode)
{
try
{

80
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<SAPCallBackDocVPN.ZWMS_PZ> ItemList = new List<SAPCallBackDocVPN.ZWMS_PZ>();
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<SAPCallBackDocVPN.ZWMS_PZ> ItemList = new List<SAPCallBackDocVPN.ZWMS_PZ>();
List<SAPCallBackDocVPN.ZWEBS_GERNR> ItemLineList = new List<SAPCallBackDocVPN.ZWEBS_GERNR>();
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";
}
}
}
}

166
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<SAPCallBackDispatchVPN.ZWMS_DO_HEAD> headlist = new List<SAPCallBackDispatchVPN.ZWMS_DO_HEAD>();
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<SAPCallBackDispatchVPN.ZWMS_DO_ITEM> ItemList = new List<SAPCallBackDispatchVPN.ZWMS_DO_ITEM>();
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<SAPCallBackDispatchVPN.ZWMS_DO_HEAD> headlist = new List<SAPCallBackDispatchVPN.ZWMS_DO_HEAD>();
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<SAPCallBackDispatchVPN.ZWMS_DO_ITEM> ItemList = new List<SAPCallBackDispatchVPN.ZWMS_DO_ITEM>();
List<SAPCallBackDispatchVPN.ZWMS_DO_GERNR> ItemLineList = new List<SAPCallBackDispatchVPN.ZWMS_DO_GERNR>();
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<SAPCallBackDispatchVPN.ZWMS_DO_HEAD> headlist = new List<SAPCallBackDispatchVPN.ZWMS_DO_HEAD>();
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<SAPCallBackDispatchVPN.ZWMS_DO_ITEM> ItemList = new List<SAPCallBackDispatchVPN.ZWMS_DO_ITEM>();
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<SAPCallBackDispatchVPN.ZWMS_DO_HEAD> headlist = new List<SAPCallBackDispatchVPN.ZWMS_DO_HEAD>();
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<SAPCallBackDispatchVPN.ZWMS_DO_ITEM> ItemList = new List<SAPCallBackDispatchVPN.ZWMS_DO_ITEM>();
List<SAPCallBackDispatchVPN.ZWMS_DO_GERNR> ItemLineList = new List<SAPCallBackDispatchVPN.ZWMS_DO_GERNR>();
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";
}
}
}
}

286
ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSWareHouseService.cs

@ -30,7 +30,7 @@ namespace ICSSoft.DataProject
/// <param name="Quantity"></param>
/// <param name="WorkPoint"></param>
/// <param name="cmd"></param>
public static void OneStepTransferDocIn(string TransCode,string TransSequence, string WorkPoint,string Quantity, SqlCommand cmd, Dictionary<string, string> language)
public static void OneStepTransferDocIn(string TransCode, string TransSequence, string WorkPoint, string Quantity, SqlCommand cmd, Dictionary<string, string> language)
{
try
{
@ -99,11 +99,11 @@ namespace ICSSoft.DataProject
/// <param name="TransType"></param>
/// <param name="Identification"></param>
/// <param name="cmd"></param>
public static void OneStepTransferDocInERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language,string BusinessCode)
public static void OneStepTransferDocInERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> 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<SAPCallBackDocVPN.ZWMS_PZ> ItemList = new List<SAPCallBackDocVPN.ZWMS_PZ>();
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<SAPCallBackDocVPN.ZWMS_PZ> ItemList = new List<SAPCallBackDocVPN.ZWMS_PZ>();
List<SAPCallBackDocVPN.ZWEBS_GERNR> ItemLineList = new List<SAPCallBackDocVPN.ZWEBS_GERNR>();
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 调拨
/// <summary>
/// 调拨接口
/// </summary>
/// <param name="TransType"></param>
/// <param name="Identification"></param>
/// <param name="cmd"></param>
public static void StepTransferDocInERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language,string BusinessCode)
public static void StepTransferDocInERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> 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
/// <param name="TransType"></param>
/// <param name="Identification"></param>
/// <param name="cmd"></param>
public static void TwoStepTransferDocOutERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language,string BusinessCode)
public static void TwoStepTransferDocOutERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> 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
/// <param name="TransType"></param>
/// <param name="Identification"></param>
/// <param name="cmd"></param>
public static void TwoStepTransferDocInERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language,string BusinessCode)
public static void TwoStepTransferDocInERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> 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
/// <param name="TransType"></param>
/// <param name="Identification"></param>
/// <param name="cmd"></param>
public static void OtherOutDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language,string BusinessCode)
public static void OtherOutDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> 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<SAPCallBackDocVPN.ZWMS_PZ> ItemList = new List<SAPCallBackDocVPN.ZWMS_PZ>();
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<SAPCallBackDocVPN.ZWMS_PZ> ItemList = new List<SAPCallBackDocVPN.ZWMS_PZ>();
List<SAPCallBackDocVPN.ZWEBS_GERNR> ItemLineList = new List<SAPCallBackDocVPN.ZWEBS_GERNR>();
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
/// <param name="TransType"></param>
/// <param name="Identification"></param>
/// <param name="cmd"></param>
public static void OtherInDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language,string BusinessCode)
public static void OtherInDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> 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<SAPCallBackDocVPN.ZWMS_PZ> ItemList = new List<SAPCallBackDocVPN.ZWMS_PZ>();
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<SAPCallBackDocVPN.ZWMS_PZ> ItemList = new List<SAPCallBackDocVPN.ZWMS_PZ>();
List<SAPCallBackDocVPN.ZWEBS_GERNR> ItemLineList = new List<SAPCallBackDocVPN.ZWEBS_GERNR>();
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
/// <param name="TransType"></param>
/// <param name="Identification"></param>
/// <param name="cmd"></param>
public static void DisassemblyDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language,string BusinessCode)
public static void DisassemblyDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> 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
/// <param name="TransType"></param>
/// <param name="Identification"></param>
/// <param name="cmd"></param>
public static void BrrowDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language,string BusinessCode)
public static void BrrowDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> 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
/// <param name="TransType"></param>
/// <param name="Identification"></param>
/// <param name="cmd"></param>
public static void ReturnDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language,string BusinessCode)
public static void ReturnDocERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> 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);
}
}
}

4
ICSSoft.WMS.WebAPI/ICSSoft.WMS.WebAPI/Web.config

@ -7,8 +7,8 @@
<appSettings>
<add key="ERPDB" value="UFDATA_999_2019"/>
<!--88-->
<!--<add key="ConnStr" value="Data Source=192.168.1.218;Database=ICS_WMS_NW;Uid=sa;Password=aA123456;"/>-->
<add key="ConnStr" value="Data Source=192.168.21.108;Database=ICS_WMS_NW;Uid=sa;Password=Server1neway;"/>
<add key="ConnStr" value="Data Source=192.168.1.218;Database=ICS_WMS_NW;Uid=sa;Password=aA123456;"/>
<!--<add key="ConnStr" value="Data Source=192.168.21.108;Database=ICS_WMS_NW;Uid=sa;Password=Server1neway;"/>-->
<!--双金-->
<!--<add key="ConnStr" value="Data Source=117.80.147.228;Database=ICSWMS_Base_SJ;Uid=sa;Password=p@ssw0rd;"/>-->
<add key="ERPUrl" value="http://192.168.1.88:3004/api/"/>

|||||||
100:0
Loading…
Cancel
Save