diff --git a/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSalesService.cs b/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSalesService.cs
index 04e7b72..26840b1 100644
--- a/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSalesService.cs
+++ b/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSalesService.cs
@@ -408,6 +408,84 @@ namespace ICSSoft.DataProject
}
}
+ /////
+ ///// 销售退货-原条码接口
+ /////
+ /////
+ /////
+ /////
+ //public static void SalesReturnBackInERP(string TransType, string Identification, SqlCommand cmd, Dictionary language, string BusinessCode)
+ //{
+ // try
+ // {
+ // #region ERP
+ // string sql = @"SELECT c.CusCode+a.ToWarehouseCode+c.SDNCode+a.MUSER AS Costre,c.CusCode,a.ToWarehouseCode AS WarehouseCode,c.SDNCode,a.MUSER,ROW_NUMBER() OVER (ORDER BY c.CusCode,a.ToWarehouseCode,c.SDNCode,c.SDNDetailID,a.InvCode) AS Sequence,
+ // a.InvCode,SUM(a.Quantity) AS Quantity,SUM(a.Quantity*(lot.Amount/lot.Quantity)) AS Amount,c.SDNDetailID,Enable AS UpdateTodoQuantity
+ // ,a.WorkPoint,ISNULL(ext.ProjectCode, '') AS ProjectCode,CASE WHEN (invBat.BatchEnable IS NULL AND ISNULL(inv.BatchEnable, '0')='1') OR ISNULL(invBat.BatchEnable, '0')='1' THEN ISNULL(ext.BatchCode, '') ELSE '' END AS BatchCode,ISNULL(ext.Version, '') AS Version,ISNULL(ext.Brand, '') AS Brand,
+ // ISNULL(ext.cFree1, '') AS cFree1,ISNULL(ext.cFree2, '') AS cFree2,ISNULL(ext.cFree3, '') AS cFree3,ISNULL(ext.cFree4, '') AS cFree4,ISNULL(ext.cFree5, '') AS cFree5,ISNULL(ext.cFree6, '') AS cFree6,ISNULL(ext.cFree7, '') AS cFree7,ISNULL(ext.cFree8, '') AS cFree8,ISNULL(ext.cFree9, '') AS cFree9,ISNULL(ext.cFree10, '') AS cFree10
+ // INTO #TempERP
+ // FROM ICSWareHouseLotInfoLog a
+ // INNER JOIN ICSInventoryLot lot ON a.LotNo=lot.LotNo AND a.WorkPoint=lot.WorkPoint
+ // INNER JOIN ICSExtension ext ON lot.ExtensionID=ext.ID AND lot.WorkPoint=ext.WorkPoint
+ // INNER JOIN ICSInventory inv ON a.InvCode=inv.InvCode AND a.WorkPoint=inv.WorkPoint
+ // LEFT JOIN ICSInventoryBatchEnable invBat ON a.InvCode=invBat.InvCode AND a.ToWarehouseCode=invBat.WHCode AND a.WorkPoint=invBat.WorkPoint
+ // INNER JOIN ICSSDN c ON a.TransCode=c.SDNCode AND a.TransSequence=c.Sequence AND a.WorkPoint=c.WorkPoint
+ // INNER JOIN ICSConfiguration con ON con.Code='Stock001' AND a.WorkPoint=con.WorkPoint
+ // WHERE a.Identification='{0}' AND ERPUpload='0' AND c.Type='2' AND BusinessCode='{1}'
+ // GROUP BY c.CusCode,a.ToWarehouseCode,c.SDNCode,a.MUSER,a.InvCode,c.SDNDetailID,Enable
+ // ,a.WorkPoint,ISNULL(ext.ProjectCode, ''),CASE WHEN (invBat.BatchEnable IS NULL AND ISNULL(inv.BatchEnable, '0')='1') OR ISNULL(invBat.BatchEnable, '0')='1' THEN ISNULL(ext.BatchCode, '') ELSE '' END,ISNULL(ext.Version, ''),ISNULL(ext.Brand, ''),
+ // ISNULL(ext.cFree1, ''),ISNULL(ext.cFree2, ''),ISNULL(ext.cFree3, ''),ISNULL(ext.cFree4, ''),ISNULL(ext.cFree5, ''),ISNULL(ext.cFree6, ''),ISNULL(ext.cFree7, ''),ISNULL(ext.cFree8, ''),ISNULL(ext.cFree9, ''),ISNULL(ext.cFree10, '')
+
+ // SELECT DISTINCT Costre,WorkPoint,CusCode,WarehouseCode AS WHCode,SDNCode AS SDNRTCode,MUSER AS [User],SYSDATETIME() AS MTime,UpdateTodoQuantity FROM #TempERP
+ // SELECT Costre,Sequence,InvCode,Quantity,Amount,SDNDetailID AS SDNRTDetailID,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);
+ // DataSet ds = DBHelper.SQlReturnDataSet(sql, cmd);
+
+ // string Inputstr = DataToJsonHelper.DataSetToJson(ds, "details", "Costre");
+
+ // string resultStr = HTTPHelper.HttpPost(TransType, ERPUrl.SalesReturnBackURL, Inputstr);
+ // Result result = new Result();
+ // result = JsonConvert.DeserializeObject(resultStr);
+ // if (result.Success)
+ // {
+ // try
+ // {
+ // JArray res = (JArray)JsonConvert.DeserializeObject(result.Data.ToString());
+ // foreach (var item in res)
+ // {
+ // JObject jo = (JObject)item;
+ // JArray resdetail = (JArray)JsonConvert.DeserializeObject(jo["details"].ToString());
+ // 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()
+ // + det["cFree6"].ToString() + det["cFree7"].ToString() + det["cFree8"].ToString() + det["cFree9"].ToString() + det["cFree10"].ToString();
+ // ICSWareHouseLotInfoService.WareHouseLotInfoLogUpdate(TransType, det["SDNRTDetailID"].ToString(), Identification, jo["ID"].ToString(),
+ // det["DetailID"].ToString(), jo["SDNNEGCode"].ToString(), det["Sequence"].ToString(), allcol, cmd, language, BusinessCode);
+ // }
+ // }
+ // }
+ // catch (Exception ex)
+ // {
+ // log.Debug(ex.ToString());
+ // log.Debug(resultStr);
+ // }
+ // }
+ // else
+ // {
+ // throw new Exception(language.GetNameByCode("WMSAPIInfo080") + result.Message);
+ // }
+ // #endregion
+ // }
+ // catch (Exception)
+ // {
+ // throw;
+ // }
+ //}
+
+
///
/// 销售退货-原条码接口
///
@@ -418,64 +496,89 @@ namespace ICSSoft.DataProject
{
try
{
- #region ERP
- string sql = @"SELECT c.CusCode+a.ToWarehouseCode+c.SDNCode+a.MUSER AS Costre,c.CusCode,a.ToWarehouseCode AS WarehouseCode,c.SDNCode,a.MUSER,ROW_NUMBER() OVER (ORDER BY c.CusCode,a.ToWarehouseCode,c.SDNCode,c.SDNDetailID,a.InvCode) AS Sequence,
- a.InvCode,SUM(a.Quantity) AS Quantity,SUM(a.Quantity*(lot.Amount/lot.Quantity)) AS Amount,c.SDNDetailID,Enable AS UpdateTodoQuantity
- ,a.WorkPoint,ISNULL(ext.ProjectCode, '') AS ProjectCode,CASE WHEN (invBat.BatchEnable IS NULL AND ISNULL(inv.BatchEnable, '0')='1') OR ISNULL(invBat.BatchEnable, '0')='1' THEN ISNULL(ext.BatchCode, '') ELSE '' END AS BatchCode,ISNULL(ext.Version, '') AS Version,ISNULL(ext.Brand, '') AS Brand,
- ISNULL(ext.cFree1, '') AS cFree1,ISNULL(ext.cFree2, '') AS cFree2,ISNULL(ext.cFree3, '') AS cFree3,ISNULL(ext.cFree4, '') AS cFree4,ISNULL(ext.cFree5, '') AS cFree5,ISNULL(ext.cFree6, '') AS cFree6,ISNULL(ext.cFree7, '') AS cFree7,ISNULL(ext.cFree8, '') AS cFree8,ISNULL(ext.cFree9, '') AS cFree9,ISNULL(ext.cFree10, '') AS cFree10
- INTO #TempERP
- FROM ICSWareHouseLotInfoLog a
- INNER JOIN ICSInventoryLot lot ON a.LotNo=lot.LotNo AND a.WorkPoint=lot.WorkPoint
- INNER JOIN ICSExtension ext ON lot.ExtensionID=ext.ID AND lot.WorkPoint=ext.WorkPoint
- INNER JOIN ICSInventory inv ON a.InvCode=inv.InvCode AND a.WorkPoint=inv.WorkPoint
- LEFT JOIN ICSInventoryBatchEnable invBat ON a.InvCode=invBat.InvCode AND a.ToWarehouseCode=invBat.WHCode AND a.WorkPoint=invBat.WorkPoint
- INNER JOIN ICSSDN c ON a.TransCode=c.SDNCode AND a.TransSequence=c.Sequence AND a.WorkPoint=c.WorkPoint
- INNER JOIN ICSConfiguration con ON con.Code='Stock001' AND a.WorkPoint=con.WorkPoint
- WHERE a.Identification='{0}' AND ERPUpload='0' AND c.Type='2' AND BusinessCode='{1}'
- GROUP BY c.CusCode,a.ToWarehouseCode,c.SDNCode,a.MUSER,a.InvCode,c.SDNDetailID,Enable
- ,a.WorkPoint,ISNULL(ext.ProjectCode, ''),CASE WHEN (invBat.BatchEnable IS NULL AND ISNULL(inv.BatchEnable, '0')='1') OR ISNULL(invBat.BatchEnable, '0')='1' THEN ISNULL(ext.BatchCode, '') ELSE '' END,ISNULL(ext.Version, ''),ISNULL(ext.Brand, ''),
- ISNULL(ext.cFree1, ''),ISNULL(ext.cFree2, ''),ISNULL(ext.cFree3, ''),ISNULL(ext.cFree4, ''),ISNULL(ext.cFree5, ''),ISNULL(ext.cFree6, ''),ISNULL(ext.cFree7, ''),ISNULL(ext.cFree8, ''),ISNULL(ext.cFree9, ''),ISNULL(ext.cFree10, '')
-
- SELECT DISTINCT Costre,WorkPoint,CusCode,WarehouseCode AS WHCode,SDNCode AS SDNRTCode,MUSER AS [User],SYSDATETIME() AS MTime,UpdateTodoQuantity FROM #TempERP
- SELECT Costre,Sequence,InvCode,Quantity,Amount,SDNDetailID AS SDNRTDetailID,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);
- DataSet ds = DBHelper.SQlReturnDataSet(sql, cmd);
-
- string Inputstr = DataToJsonHelper.DataSetToJson(ds, "details", "Costre");
-
- string resultStr = HTTPHelper.HttpPost(TransType, ERPUrl.SalesReturnBackURL, Inputstr);
- Result result = new Result();
- result = JsonConvert.DeserializeObject(resultStr);
- if (result.Success)
+ #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)
{
- try
+ 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());
+ DataTable chkdt = DBHelper.SQlReturnData(chksql, cmd);
+ if (Convert.ToDecimal(chkdt.Rows[0]["Quantity"]) == Convert.ToDecimal(chkdt.Rows[0]["SDNQuantity"]))
{
- JArray res = (JArray)JsonConvert.DeserializeObject(result.Data.ToString());
- foreach (var item in res)
+ SAPCallBackDispatchVPN.ZWMS_SK_DO_GZ Client = new SAPCallBackDispatchVPN.ZWMS_SK_DO_GZ();
+ SAPCallBackDispatchVPN.ZWMS_SK_DO_GZ1 Info = new SAPCallBackDispatchVPN.ZWMS_SK_DO_GZ1();
+ List headlist = new List();
+ SAPCallBackDispatchVPN.ZWMS_DO_HEAD head = new SAPCallBackDispatchVPN.ZWMS_DO_HEAD();
+ head.VBELN = dt.Rows[i]["SDNCode"].ToString();
+ headlist.Add(head);
+ Info.T_HEAD = headlist.ToArray();
+ List ItemList = new List();
+ List ItemLineList = new List();
+ Info.T_RETURN = new SAPCallBackDispatchVPN.ZWMS_DO_RETURN[1];
+ sql = @" select A.SDNCode,A.SAPSequence,A.InvCode,A.Sequence,A.Quantity,A.SDNQuantity
+ ,ISNULL(B.BatchCode,'') AS BatchCode from ICSSDN A
+ LEFT JOIN ICSExtension B ON B.ID=A.ExtensionID AND B.WorkPoint=A.WorkPoint
+ WHERE SDNCode='{0}' AND A.WorkPoint='{1}'";
+ sql = string.Format(sql, dt.Rows[i]["SDNCode"].ToString(), dt.Rows[i]["WorkPoint"].ToString());
+ DataTable Sapdt = DBHelper.SQlReturnData(sql, cmd);
+ foreach (DataRow dr in Sapdt.Rows)
{
- JObject jo = (JObject)item;
- JArray resdetail = (JArray)JsonConvert.DeserializeObject(jo["details"].ToString());
- foreach (var detail in resdetail)
+ if (Convert.ToDecimal(dr["Quantity"].ToString()) == Convert.ToDecimal(dr["SDNQuantity"].ToString()))
{
- 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["SDNRTDetailID"].ToString(), Identification, jo["ID"].ToString(),
- det["DetailID"].ToString(), jo["SDNNEGCode"].ToString(), det["Sequence"].ToString(), allcol, cmd, language, BusinessCode);
+ 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();
+ if (ItemLineList.Count > 0)
+ {
+ Info.T_GERNR = ItemLineList.ToArray();
+ }
+ else
+ {
+ Info.T_GERNR = new SAPCallBackDispatchVPN.ZWMS_DO_GERNR[1];
+ }
+ 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 (resultItem.ZFLG == "N")
+ {
+ IsSuccess = "N";
+ ErrorMessage += resultItem.ZMESS + "/r/n";
+ }
}
}
- }
- catch (Exception ex)
- {
- log.Debug(ex.ToString());
- log.Debug(resultStr);
}
}
- else
+ if (IsSuccess == "N")
{
- throw new Exception(language.GetNameByCode("WMSAPIInfo080") + result.Message);
+ throw new Exception(ErrorMessage);
}
#endregion
}
diff --git a/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSubmitService.cs b/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSubmitService.cs
index dfc4243..bc32383 100644
--- a/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSubmitService.cs
+++ b/ICSSoft.WMS.WebAPI/ICSSoft.DataProject/ICSSubmitService.cs
@@ -7338,149 +7338,143 @@ WHERE WorkPoint='{0}' AND Quantity>ISNULL(TransferQuantity, 0) order by Transfer
if (JsonData.TransType == TransTypeEnum.MOApply.GetDescription())
{
#region 工单领料SQL
- sqls = @" select
- x.MergeID,
- a.ApplyCode as Code,
- a.InvCode,
- b.InvName,
- b.InvStd,
- b.InvUnit,
- SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
- a.WhCode,
- a.ExtensionID
- FROM
- ICSMOApply a
- inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
- LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
- WHERE a.ApplyCode in ({0}) AND a.WorkPoint = '{1}'
- GROUP BY a.ApplyCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,x.MergeID,a.ExtensionID";
+ sqls = @"select
+
+ a.ApplyCode as Code, a.InvCode, b.InvName, b.InvStd, b.InvUnit, SUM(ISNULL(a.Quantity, 0)) AS iQuantity, a.WhCode,a.ExtensionID,c.LocationCode
+ FROM
+
+ ICSMOApply a
+ LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint = b.WorkPoint
+ LEFT JOIN ICSInventoryDetail c ON b.InvCode=c.INVCode AND a.WHCode=c.WHCode AND a.WorkPoint=c.WorkPoint
+ WHERE a.ApplyCode in ('{0}') AND a.WorkPoint = '{1}'
+ GROUP BY a.ApplyCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,c.LocationCode ";
#endregion
}
#endregion
#region 委外领料
- if (JsonData.TransType == TransTypeEnum.OutsourcingIssueDoc.GetDescription())
+ if (JsonData.TransType == TransTypeEnum.OOApply.GetDescription())
{
#region 委外领料SQL
- sqls = @" select
- x.MergeID,
- a.ApplyCode as Code,
- a.InvCode,
- b.InvName,
- b.InvStd,
- b.InvUnit,
- SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
- a.WhCode,
- a.ExtensionID
- FROM
- ICSOApply a
- inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
- LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
- WHERE a.ApplyCode in ({0}) AND a.WorkPoint = '{1}'
- GROUP BY a.ApplyCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID";
+ sqls = sqls = @"select
+ a.ApplyCode as Code,
+ a.InvCode,
+ b.InvName,
+ b.InvStd,
+ b.InvUnit,
+ SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
+ a.WhCode,
+ a.ExtensionID,
+ c.LocationCode
+ FROM
+ ICSOApply a
+ LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
+ LEFT JOIN ICSInventoryDetail c ON b.InvCode=c.INVCode AND a.WHCode=c.WHCode AND a.WorkPoint=c.WorkPoint
+ WHERE a.ApplyCode in ('{0}') AND a.WorkPoint = '{1}'
+ GROUP BY a.ApplyCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,c.LocationCode";
#endregion
}
#endregion
#region 销售发货
- if (JsonData.TransType == TransTypeEnum.OutsourcingIssueDoc.GetDescription())
+ if (JsonData.TransType == TransTypeEnum.SalesShipmentDoc.GetDescription())
{
#region 销售发货SQL
- sqls = @" select
- x.MergeID,
- a.SDNCode as Code,
- a.InvCode,
- b.InvName,
- b.InvStd,
- b.InvUnit,
- SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
- a.WhCode,
- a.ExtensionID
- FROM
- ICSSDN a
- inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
- LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
- WHERE a.SDNCode in ({0}) AND a.WorkPoint = '{1}'
- GROUP BY a.SDNCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID";
+ sqls = @" select
+ a.SDNCode as Code,
+ a.InvCode,
+ b.InvName,
+ b.InvStd,
+ b.InvUnit,
+ SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
+ a.WhCode,
+ a.ExtensionID,
+ c.LocationCode
+ FROM
+ ICSSDN a
+ LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
+ LEFT JOIN ICSInventoryDetail c ON b.InvCode=c.INVCode AND a.WHCode=c.WHCode AND a.WorkPoint=c.WorkPoint
+ WHERE a.SDNCode in ('{0}') AND a.WorkPoint = '{1}'
+ GROUP BY a.SDNCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,c.LocationCode";
#endregion
}
#endregion
#region 其他出库
- if (JsonData.TransType == TransTypeEnum.OutsourcingIssueDoc.GetDescription())
+ if (JsonData.TransType == TransTypeEnum.OtherOutDoc.GetDescription())
{
#region 其它出库SQL
sqls = @" select
- x.MergeID,
- a.OutCode as Code,
- a.InvCode,
- b.InvName,
- b.InvStd,
- b.InvUnit,
- SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
- a.WhCode,
- a.ExtensionID
- FROM
- ICSOtherOut a
- inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
- LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
- WHERE a.OutCode in ({0}) AND a.WorkPoint = '{1}'
- GROUP BY a.OutCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID";
+ a.OutCode as Code,
+ a.InvCode,
+ b.InvName,
+ b.InvStd,
+ b.InvUnit,
+ SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
+ a.WhCode,
+ a.ExtensionID,
+ c.LocationCode
+ FROM
+ ICSOtherOut a
+ LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
+ LEFT JOIN ICSInventoryDetail c ON b.InvCode=c.INVCode AND a.WHCode=c.WHCode AND a.WorkPoint=c.WorkPoint
+ WHERE a.OutCode in ('{0}') AND a.WorkPoint = '{1}'
+ GROUP BY a.OutCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,c.LocationCode";
#endregion
}
#endregion
#region 物料调拨
- if (JsonData.TransType == TransTypeEnum.OutsourcingIssueDoc.GetDescription())
+ if (JsonData.TransType == TransTypeEnum.OneStepTransferDocIn.GetDescription())
{
#region 物料调拨
- sqls = @" select
- x.MergeID,
- a.TransferNO as Code,
- a.InvCode,
- b.InvName,
- b.InvStd,
- b.InvUnit,
- SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
- a.FromWarehouseCode as WhCode,
- a.ExtensionID
- FROM
- ICSTransfer a
- inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
- LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
- WHERE a.TransferNO in ({0}) AND a.WorkPoint = '{1}'
- GROUP BY a.TransferNO,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.FromWarehouseCode,a.ExtensionID,x.MergeID";
+ sqls = @"select
+ a.TransferNO as Code,
+ a.InvCode,
+ b.InvName,
+ b.InvStd,
+ b.InvUnit,
+ SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
+ a.FromWarehouseCode as WhCode,
+ a.ExtensionID,
+ c.LocationCode
+ FROM
+ ICSTransfer a
+ LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
+ LEFT JOIN ICSInventoryDetail c ON b.InvCode=c.INVCode AND a.FromWarehouseCode=c.WHCode AND a.WorkPoint=c.WorkPoint
+ WHERE a.TransferNO in ('{0}') AND a.WorkPoint = '{1}'
+ GROUP BY a.TransferNO,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.FromWarehouseCode,a.ExtensionID,c.LocationCode";
#endregion
}
#endregion
- sqls = string.Format(sqls, JsonData.TransCode, JsonData.WorkPoint);
+ sqls = string.Format(sqls, JsonData.TransCode.ToString(), JsonData.WorkPoint.ToString());
#region sql
- string sql = $@"SELECT row_number() over (order by c.Code,c.InvCode,d.MTIME,d.LotNO) AS rowNo,
- c.MergeID,
- c.Code,
- c.InvCode,
- c.InvName,
- c.InvStd,
- c.InvUnit,
- FLOOR(c.iQuantity) AS iQuantity,
- d.WarehouseCode,
- d.LocationCode,
- d.LotNO,
- FLOOR(ISNULL(d.Quantity, 0)) AS QTY,
- CONVERT(varchar(100),d.MTIME, 23) MTIME,
- FLOOR(f.QTYTotal) QTYTotal
- FROM
- ({sqls}) c
- left join (select d.WarehouseCode,d.Quantity,d.INVCode, m.LotNo, d.MTIME,d.LocationCode,m.ExtensionID
- from ICSWareHouseLotInfo d ,ICSInventoryLot m
- where d.LotNo=m.LotNo and d.WorkPoint=m.WorkPoint
- and d.WorkPoint='{JsonData.WorkPoint}' AND d.Quantity>0 ) d
- on c.InvCode=d.INVCode AND c.WhCode=d.WarehouseCode and d.ExtensionID=c.ExtensionID
- LEFT JOIN (SELECT INVCode,WarehouseCode,SUM(Quantity) AS QTYTotal FROM ICSWareHouseLotInfo WHERE WorkPoint='{JsonData.WorkPoint}' GROUP BY INVCode,WarehouseCode) f ON c.InvCode=f.INVCode AND c.WhCode=f.WarehouseCode
- order by c.Code,c.InvCode,d.MTIME ";
+ string sql = $@"SELECT row_number() over ( order by c.Code,c.InvCode,d.MTIME,d.LotNO) AS rowNo,
+ c.Code,
+ c.InvCode,
+ c.InvName,
+ c.InvStd,
+ c.InvUnit,
+ FLOOR(c.iQuantity) AS iQuantity,
+ c.WHCode AS WarehouseCode,
+ d.LotNO,
+ FLOOR(ISNULL(d.Quantity, 0)) AS QTY,
+ d.LocationCode AS LocationCode,
+ CONVERT(varchar(100),d.MTIME, 23) MTIME,
+ FLOOR(f.QTYTotal) QTYTotal
+ FROM
+ ({sqls}) c
+ left join (select d.WarehouseCode,d.Quantity,d.INVCode, m.LotNo, d.MTIME,d.LocationCode,m.ExtensionID
+ from ICSWareHouseLotInfo d ,ICSInventoryLot m
+ where d.LotNo=m.LotNo and d.WorkPoint=m.WorkPoint
+ and d.WorkPoint='{JsonData.WorkPoint.ToString()}' AND d.Quantity>0 AND SUBSTRING(SUBSTRING(d.LocationCode, CHARINDEX('-',d.LocationCode)+1, LEN(d.LocationCode)),0,CHARINDEX('-', SUBSTRING(d.LocationCode, CHARINDEX('-',d.LocationCode)+1, LEN(d.LocationCode))))
+ Not IN(SELECT F_Define2 FROM Sys_SRM_ItemsDetail WHERE F_Define3='HGAreaConfig' AND F_Define1=d.WarehouseCode AND F_Define4=d.WorkPoint) ) d
+ on c.InvCode=d.INVCode AND c.WhCode=d.WarehouseCode and d.ExtensionID=c.ExtensionID
+ LEFT JOIN (SELECT INVCode,WarehouseCode,SUM(Quantity) AS QTYTotal FROM ICSWareHouseLotInfo WHERE WorkPoint='{JsonData.WorkPoint.ToString()}' GROUP BY INVCode,WarehouseCode) f ON c.InvCode=f.INVCode AND c.WhCode=f.WarehouseCode
+ order by c.Code,c.InvCode,d.MTIME ";
#endregion
- var dataset = DBHelper.SQlReturnDataSet(sql, cmd); ;
+ var dataset = DBHelper.SQlReturnDataSet(sql, cmd);
if (dataset.Tables.Count == 0)
return null;
DataTable table = dataset.Tables[0];
diff --git a/ICSSoft.WMS.WebAPI/ICSSoft.WMS.WebAPI/Controllers/WMSBarCoreController.cs b/ICSSoft.WMS.WebAPI/ICSSoft.WMS.WebAPI/Controllers/WMSBarCoreController.cs
index deff360..3121387 100644
--- a/ICSSoft.WMS.WebAPI/ICSSoft.WMS.WebAPI/Controllers/WMSBarCoreController.cs
+++ b/ICSSoft.WMS.WebAPI/ICSSoft.WMS.WebAPI/Controllers/WMSBarCoreController.cs
@@ -335,190 +335,7 @@ namespace ICSSoft.WebAPI.Controllers
res.Success = false;
res.Message = LanguageHelper.GetNameSingle("WMSAPI003");//"未查询到相关数据!";
//res.Data = resultStr;
- }
- // string sqls = "";
- // if (Type == "2")
- // {
- // #region 工单领料SQL
- // sqls = @" select
- // x.MergeID,
- // a.ApplyCode as Code,
- // a.InvCode,
- // b.InvName,
- // b.InvStd,
- // b.InvUnit,
- // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
- // a.WhCode,
- // a.ExtensionID
- // FROM
- // ICSMOApply a
- //inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
- // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
- // WHERE a.ApplyCode in ({0}) AND a.WorkPoint = '{1}'
- // GROUP BY a.ApplyCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,x.MergeID,a.ExtensionID";
- // #endregion
- // }
-
- // if (Type == "5")
- // {
- // #region 委外领料SQL
- // sqls = @" select
- // x.MergeID,
- // a.ApplyCode as Code,
- // a.InvCode,
- // b.InvName,
- // b.InvStd,
- // b.InvUnit,
- // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
- // a.WhCode,
- // a.ExtensionID
- // FROM
- // ICSOApply a
- // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
- // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
- // WHERE a.ApplyCode in ({0}) AND a.WorkPoint = '{1}'
- // GROUP BY a.ApplyCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID";
- // #endregion
- // }
-
- // if (Type == "7")
- // {
- // #region 销售发货SQL
- // sqls = @" select
- // x.MergeID,
- // a.SDNCode as Code,
- // a.InvCode,
- // b.InvName,
- // b.InvStd,
- // b.InvUnit,
- // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
- // a.WhCode,
- // a.ExtensionID
- // FROM
- // ICSSDN a
- // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
- // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
- // WHERE a.SDNCode in ({0}) AND a.WorkPoint = '{1}'
- // GROUP BY a.SDNCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID";
- // #endregion
- // }
- // if (Type == "8")
- // {
- // #region 其它出库SQL
- // sqls = @" select
- //x.MergeID,
- // a.OutCode as Code,
- // a.InvCode,
- // b.InvName,
- // b.InvStd,
- // b.InvUnit,
- // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
- // a.WhCode,
- // a.ExtensionID
- // FROM
- // ICSOtherOut a
- // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
- // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
- // WHERE a.OutCode in ({0}) AND a.WorkPoint = '{1}'
- // GROUP BY a.OutCode,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.WhCode,a.ExtensionID,x.MergeID";
- // #endregion
- // }
- // if (Type == "10")
- // {
- // #region 物料调拨
- // sqls = @" select
- //x.MergeID,
- // a.TransferNO as Code,
- // a.InvCode,
- // b.InvName,
- // b.InvStd,
- // b.InvUnit,
- // SUM(ISNULL(a.Quantity, 0)) AS iQuantity,
- // a.FromWarehouseCode as WhCode,
- // a.ExtensionID
- // FROM
- // ICSTransfer a
- // inner join ICSMOPickMerge x on a.ID=x.SourceID and a.WorkPoint=x.WorkPoint
- // LEFT JOIN ICSINVENTORY b ON a.InvCode = b.InvCode AND a.WorkPoint=b.WorkPoint
- // WHERE a.TransferNO in ({0}) AND a.WorkPoint = '{1}'
- // GROUP BY a.TransferNO,a.InvCode,b.InvName,b.InvStd,b.InvUnit,a.FromWarehouseCode,a.ExtensionID,x.MergeID";
- // #endregion
- // }
-
- // sqls = string.Format(sqls, string.IsNullOrWhiteSpace(ID) ? "''" : ID.TrimEnd(','), WorkPoint);
- // #region sql
- // string sql = $@"SELECT row_number() over (order by c.Code,c.InvCode,d.MTIME,d.LotNO) AS rowNo,
- // c.MergeID,
- // c.Code,
- // c.InvCode,
- // c.InvName,
- // c.InvStd,
- // c.InvUnit,
- // FLOOR(c.iQuantity) AS iQuantity,
- // d.WarehouseCode,
- // d.LocationCode,
- // d.LotNO,
- // FLOOR(ISNULL(d.Quantity, 0)) AS QTY,
- // CONVERT(varchar(100),d.MTIME, 23) MTIME,
- // FLOOR(f.QTYTotal) QTYTotal
- // FROM
- // ({sqls}) c
- // left join (select d.WarehouseCode,d.Quantity,d.INVCode, m.LotNo, d.MTIME,d.LocationCode,m.ExtensionID
- // from ICSWareHouseLotInfo d ,ICSInventoryLot m
- // where d.LotNo=m.LotNo and d.WorkPoint=m.WorkPoint
- // and d.WorkPoint='{WorkPoint}' AND d.Quantity>0 ) d
- // on c.InvCode=d.INVCode AND c.WhCode=d.WarehouseCode and d.ExtensionID=c.ExtensionID
- // LEFT JOIN (SELECT INVCode,WarehouseCode,SUM(Quantity) AS QTYTotal FROM ICSWareHouseLotInfo WHERE WorkPoint='{WorkPoint}' GROUP BY INVCode,WarehouseCode) f ON c.InvCode=f.INVCode AND c.WhCode=f.WarehouseCode
- // order by c.Code,c.InvCode,d.MTIME ";
- // #endregion
- // var dataset = Repository().FindDataSetBySql(sql);
- // if (dataset.Tables.Count == 0)
- // return null;
- // DataTable table = dataset.Tables[0];
- // decimal qtyCount = 0;
- // bool remove = false;
- // List removeList = new List();
- // for (int i = 0; i < table.Rows.Count; i++)
- // {
-
- // if (i != 0
- // && (!table.Rows[i]["InvCode"].ToString().Equals(table.Rows[i - 1]["InvCode"].ToString())
- // || !table.Rows[i]["Code"].ToString().Equals(table.Rows[i - 1]["Code"].ToString()))
- // )
- // {
- // qtyCount = 0;
- // remove = false;
- // }
- // if (remove)
- // {
- // removeList.Add(i);
- // }
- // else
- // {
- // var lotQty = table.Rows[i]["QTY"].ToString().ToDecimal();
- // var orderQty = table.Rows[i]["iQuantity"].ToString().ToDecimal();
- // qtyCount += lotQty;
- // if (qtyCount >= orderQty)
- // {
- // remove = true;
- // }
- // }
- // }
- // if (removeList.Count > 0)
- // {
- // removeList.Reverse();
- // foreach (var item in removeList)
- // {
- // table.Rows.RemoveAt(item);
- // }
- // }
-
- // var result = ConvertCellToString(table);
- // if (Invmes.Rows.Count > 0)
- // {
- // result.Merge(Invmes, false);
- // }
- // return result;
+ }
}
}
catch (Exception ex)