@ -117,6 +117,86 @@ 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 )
{
try
{
#region ERP开立状态单据审核
//检验调拨单是否一次性发完
string sql = @ "SELECT a.ToWarehouseCode+a.MUSER+a.FromWarehouseCode AS Costre,a.ToWarehouseCode AS ToWHCode,a.FromWarehouseCode AS FromWHCode,a.MUSER,'' AS FromDepCode,'' AS ToDepCode,NULL AS TACode,ROW_NUMBER() OVER (ORDER BY a.ToWarehouseCode) AS Sequence,NULL AS TADetailID,
a . InvCode , SUM ( a . Quantity ) AS Quantity , 0 AS Amount , con . Enable AS UpdateTodoQuantity , conStock . Enable AS UpdateStock
, 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 ICSInventoryLotDetail b ON a . LotNo = b . LotNo AND a . WorkPoint = b . WorkPoint
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 ICSConfiguration con ON con . Code = ' Stock003 ' AND a . WorkPoint = con . WorkPoint
INNER JOIN ICSConfiguration conStock ON conStock . Code = ' UpdateStock006 ' AND a . WorkPoint = conStock . WorkPoint
WHERE a . Identification = ' { 0 } ' AND ERPUpload = '0'
GROUP BY a . ToWarehouseCode , a . MUSER , a . InvCode , conStock . Enable , con . Enable , a . FromWarehouseCode
, 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 , ToWHCode , FromWHCode , FromDepCode , ToDepCode , MUSER AS [ User ] , SYSDATETIME ( ) AS MTime , UpdateTodoQuantity , WorkPoint , TACode , UpdateStock FROM # TempERP
SELECT Costre , Sequence , InvCode , Quantity , Amount , TADetailID , ProjectCode , BatchCode , Version , Brand , cFree1 , cFree2 , cFree3 , cFree4 , cFree5 , cFree6 , cFree7 , cFree8 , cFree9 , cFree10
FROM # TempERP
DROP TABLE # TempERP ";
sql = string . Format ( sql , Identification ) ;
DataSet ds = DBHelper . SQlReturnDataSet ( sql , cmd ) ;
string Inputstr = DataToJsonHelper . DataSetToJson ( ds , "details" , "Costre" ) ;
string resultStr = HTTPHelper . HttpPost ( TransType , ERPUrl . StepTransferDocInURL , Inputstr ) ;
Result result = new Result ( ) ;
result = JsonConvert . DeserializeObject < Result > ( 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 ;
ICSWareHouseLotInfoService . WareHouseLotInfoLogUpdate ( TransType , det [ "DNDetailID" ] . ToString ( ) , Identification , jo [ "ID" ] . ToString ( ) , det [ "DetailID" ] . ToString ( ) , jo [ "RCVTCode" ] . ToString ( ) , det [ "Sequence" ] . ToString ( ) , cmd , language ) ;
}
}
}
catch ( Exception ex )
{
log . Debug ( ex . ToString ( ) ) ;
log . Debug ( resultStr ) ;
}
}
else
{
throw new Exception ( language . GetNameByCode ( "WMSAPIInfo080" ) + result . Message ) ;
}
#endregion
}
catch ( Exception )
{
throw ;
}
}
#endregion
#region 两步调出
/// <summary>
/// 两步调出
xxxxxxxxxx