Browse Source

调整接口

master
lilili 2 years ago
parent
commit
3ae9e1cc46
  1. 34
      ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSalesService.cs
  2. 19
      ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSubmitService.cs
  3. 4
      ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSWareHouseLotInfoService.cs

34
ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSalesService.cs

@ -271,6 +271,7 @@ namespace ICSSoft.DataProject
sql = string.Format(sql, Identification);
DataTable dt = DBHelper.SQlReturnData(sql, cmd);
if (dt.Rows.Count > 1)
{
throw new Exception(language.GetNameByCode("WMSAPIInfo202"));//单次提交单据数量卡控(只允许一张单据)
}
@ -492,28 +493,29 @@ namespace ICSSoft.DataProject
/// <param name="TransType"></param>
/// <param name="Identification"></param>
/// <param name="cmd"></param>
public static void SalesReturnBackInERP(string TransType, string Identification, SqlCommand cmd, Dictionary<string, string> language, string BusinessCode)
public static void SalesReturnBackInERP(string TransCode, string Identification, SqlCommand cmd, Dictionary<string, string> language, string workPoint)
{
try
{
#region SAP(三层结构)
string IsSuccess = "";
string ErrorMessage = "";
string sql = @" select Distinct A.SDNCode,A.WorkPoint from ICSSDN A
LEFT JOIN ICSWareHouseLotInfoLog B ON B.TransCode=A.SDNCode AND B.WorkPoint=A.WorkPoint
where B.Identification='{0}' AND BusinessCode='20'";
sql = string.Format(sql, Identification);
DataTable dt = DBHelper.SQlReturnData(sql, cmd);
if (dt.Rows.Count > 1)
{
throw new Exception(language.GetNameByCode("WMSAPIInfo202"));//单次提交单据数量卡控(只允许一张单据)
}
for (int i = 0; i < dt.Rows.Count; i++)
{
string sql = "";
//string sql = @" select Distinct A.SDNCode,A.WorkPoint from ICSSDN A
// LEFT JOIN ICSWareHouseLotInfoLog B ON B.TransCode=A.SDNCode AND B.WorkPoint=A.WorkPoint
// where B.Identification='{0}' AND BusinessCode='44'";
//sql = string.Format(sql, Identification);
//DataTable dt = DBHelper.SQlReturnData(sql, cmd);
//if (dt.Rows.Count > 1)
//{
// throw new Exception(language.GetNameByCode("WMSAPIInfo202"));//单次提交单据数量卡控(只允许一张单据)
//}
//for (int i = 0; i < dt.Rows.Count; i++)
//{
string chksql = @"select SUM(Quantity) AS Quantity,SUM(SDNQuantity) AS SDNQuantity from ICSSDN
where SDNCode='{0}' and WorkPoint='{1}'
GROUP BY SDNCode,WorkPoint";
chksql = string.Format(chksql, dt.Rows[i]["SDNCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
chksql = string.Format(chksql, TransCode, workPoint);
DataTable chkdt = DBHelper.SQlReturnData(chksql, cmd);
if (Convert.ToDecimal(chkdt.Rows[0]["Quantity"]) == Convert.ToDecimal(chkdt.Rows[0]["SDNQuantity"]))
{
@ -521,7 +523,7 @@ namespace ICSSoft.DataProject
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();
head.VBELN = TransCode;
headlist.Add(head);
Info.T_HEAD = headlist.ToArray();
List<SAPCallBackDispatchVPN.ZWMS_DO_ITEM> ItemList = new List<SAPCallBackDispatchVPN.ZWMS_DO_ITEM>();
@ -531,7 +533,7 @@ namespace ICSSoft.DataProject
,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());
sql = string.Format(sql, TransCode, workPoint);
DataTable Sapdt = DBHelper.SQlReturnData(sql, cmd);
foreach (DataRow dr in Sapdt.Rows)
{
@ -575,7 +577,7 @@ namespace ICSSoft.DataProject
}
}
}
}
//}
if (IsSuccess == "N")
{
throw new Exception(ErrorMessage);

19
ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSubmitService.cs

@ -2740,6 +2740,15 @@ namespace ICSSoft.DataProject
ICSWareHouseLotInfoService.WareHouseLotInfoUp(Identification, itemInfo.LocationCode, itemInfo.LotNo, itemInfo.Quantity,
item.User, item.WorkPoint, WHTransType, BusinessCode, cmd, language, itemInfo.LogID, itemInfo.InvCode + itemInfo.WarehouseCode);
}
//上传ERP
if (Convert.ToBoolean(System.Configuration.ConfigurationManager.AppSettings["UploadERP"]))
{
//销售退货-原条码
if (TransType == TransTypeEnum.SalesReturnBack.GetDescription())
ICSSalesService.SalesReturnBackInERP(itemInfo.TransCode, Identification, cmd, language, item.WorkPoint);
}
}
#region 拆卸单
@ -2750,6 +2759,8 @@ namespace ICSSoft.DataProject
}
#endregion}
}
//上传ERP
if (Convert.ToBoolean(System.Configuration.ConfigurationManager.AppSettings["UploadERP"]))
{
@ -2796,9 +2807,7 @@ namespace ICSSoft.DataProject
//两步调入
else if (TransType == TransTypeEnum.TwoStepTransferDocIn.GetDescription())
ICSWareHouseService.TwoStepTransferDocInERP(TransType, Identification, cmd, language, BusinessCode);
//销售退货-原条码
else if (TransType == TransTypeEnum.SalesReturnBack.GetDescription())
ICSSalesService.SalesReturnBackInERP(TransType, Identification, cmd, language, BusinessCode);
//其他入库
else if (TransType == TransTypeEnum.OtherInDoc.GetDescription())
ICSWareHouseService.OtherInDocERP(TransType, Identification, cmd, language, BusinessCode);
@ -5393,8 +5402,8 @@ namespace ICSSoft.DataProject
AND Sequence = '{item.TransSequence}'
AND WorkPoint = '{item.WorkPoint}'
AND Type = '{item.TransType}'";
var workPoint=DBHelper.ExecuteScalar(checksql, cmd);
if (workPoint == null)
var workPoint=DBHelper.ExecuteScalar(checksql, cmd).ToString();
if (workPoint == null|| workPoint=="")
{
tranferWorkpoint = item.WorkPoint;
}

4
ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSWareHouseLotInfoService.cs

@ -1114,10 +1114,10 @@ namespace ICSSoft.DataProject
sql = @"INSERT INTO ICSInventoryLotDetail(LotNo,TransCode,TransSequence,MUSER,MUSERName,MTIME,WorkPoint)
SELECT '{0}',b.TransCode,b.TransSequence,f.F_Account ,f.F_RealName ,SYSDATETIME() ,'{1}'
FROM ICSInventoryLot a
INNER JOIN ICSInventoryLotDetail b ON a.LotNo=b.LotNo AND a.WorkPoint=b.WorkPoint
INNER JOIN ICSInventoryLotDetail b ON b.LotNo='{3}' AND a.WorkPoint=b.WorkPoint
INNER JOIN Sys_SRM_User f ON f.F_Account='{2}' AND a.WorkPoint=f.F_Location
WHERE a.LotNo='{0}' AND a.WorkPoint='{1}'";
sql = string.Format(sql, lotstr, tranferWorkpoint, User);
sql = string.Format(sql, lotstr, tranferWorkpoint, User,LotNo);
if (!DBHelper.ExecuteNonQuery(sql, cmd))
{

Loading…
Cancel
Save