--已知SourceSN集合求解对应的SN和SNCust集合------------------------------------------
  SELECT LotPK AS SourceLotPK,LotName AS SrouceLotName INTO#WorkLotX510 FROM MMLots WITH(NOLOCK)WHERE EXISTS(SELECT 1 FROM#WorkSourceSNT1 b WHERE b.SourceSN=MMLots.LotID)
  SELECT a.LotPK,a.SourceLotPK into#WorkLotX520 FROM MMLotOperations a WITH(NOLOCK)WHERE EXISTS(SELECT 1 FROM#WorkLotX510 b WHERE b.SourceLotPK=a.SourceLotPK)
  SELECT a.LotPK,a.SourceLotPK,b.SrouceLotName INTO#WorkLotX530 FROM#WorkLotX520 a JOIN#WorkLotX510 b ON a.SourceLotPK=b.SourceLotPK
  INSERT INTO#FinalLotName SELECT b.LotName,a.SrouceLotName,NULL FROM#WorkLotX530 a JOIN(SELECT LotPK,LotName FROM MMLots WITH(NOLOCK))b on a.LotPK=b.LotPK--b的里面加不加WHERE RowDeleted=0待确定
  SELECT a.LotName,a.SourceLotName,b.SNCust INTO#WorkLotX540 FROM#FinalLotName a LEFT JOIN CO_SN_LINK_CUSTOMER b WITH(NOLOCK)ON a.LotName=b.SNMes
  DELETE FROM#FinalLotName
  INSERT INTO#FinalLotName SELECT LotName,SourceLotName,SNCust FROM#WorkLotX540
  -------------------------------------------------------------------------------------
  SELECT SN,MaterialID,MESOrderID,OnPlantID INTO#WorkLotX550 FROM CO_SN_GENERATION a WITH(NOLOCK)
  WHERE SNType='IntSN'AND SNRuleName='ProductSNRule'AND OnPlantID=@OnPlant
  AND EXISTS(SELECT 1 FROM#FinalLotName b WHERE a.SN=b.LotName)
  INSERT INTO#FinalCO_SN
  SELECT a.LotName,a.SourceLotName,a.SNCust,b.MaterialID,c.ComMaterials,b.MESOrderID,b.OnPlantID,c.VendorID,c.DateCode,c.SNNote FROM#FinalLotName a
  LEFT JOIN#WorkLotX550 b ON a.LotName=b.SN
  LEFT JOIN#WorkSourceSNT1 c ON a.SourceLotName=c.SourceSN
  END
  END
  END
  --2.3
  IF@comdef<>''
  BEGIN
  SELECT Val INTO#WorkComdef FROM fn_String_To_Table(@comdef,',',1)
  --此@comdef条件求解出来的是SourceSN
  SELECT SN AS SourceSN,MaterialID AS ComMaterials,VendorID,DateCode,SNNote INTO#WorkSourceSNT16 FROM CO_SN_GENERATION a WITH(NOLOCK)WHERE EXISTS(SELECT 1 FROM#WorkComdef b WHERE a.MaterialID=b.Val)
  ----------------------------------------------------------------------------------------------------
  --条件判断(逻辑分析)开始
  IF EXISTS(SELECT 1 FROM#FinalCO_SN)--如果前面判断的查询条件有值
  BEGIN
  SELECT a.LotName,a.SourceLotName,a.SNCust,a.MaterialID,a.ComMaterials,a.MESOrderID,a.OnPlantID,a.VendorID,a.DateCode,a.SNNote INTO#TMP516 FROM#FinalCO_SN a WHERE EXISTS(SELECT 1 FROM#WorkComdef b WHERE a.matl_def_id=b.Val)
  DELETE FROM#FinalCO_SN
  INSERT INTO#FinalCO_SN SELECT LotName,SourceLotName,SNCust,MaterialID,ComMaterials,MESOrderID,OnPlantID,VendorID,DateCode,SNNote FROM#TMP516
  END
  ELSE
  BEGIN
  IF EXISTS(SELECT 1 FROM#FinalLotName)
  BEGIN
  --查出SourceLotName对应的查询字段
  SELECT a.SourceSN,a.VendorID,a.DateCode,a.SNNote,a.ComMaterials INTO#SourceLTX56 FROM#WorkSourceSNT16 a WHERE EXISTS(SELECT 1 FROM#FinalLotName b WHERE a.SourceSN=b.SourceLotName)
  --查出SN对应的查询字段
  SELECT SN,MaterialID,MESOrderID,OnPlantID INTO#WorkSNT5106 FROM CO_SN_GENERATION a WITH(NOLOCK)
  WHERE SNType='IntSN'AND SNRuleName='ProductSNRule'AND OnPlantID=@OnPlant
  AND EXISTS(SELECT 1 FROM#FinalLotName b WHERE a.SN=b.LotName)
  INSERT INTO#FinalCO_SN
  SELECT a.LotName,a.SourceLotName,d.SNCust,b.MaterialID,c.ComMaterials,b.MESOrderID,b.OnPlantID,c.VendorID,c.DateCode,c.SNNote FROM#FinalLotName a
  LEFT JOIN#WorkSNT5106 b ON a.LotName=b.SN
  LEFT JOIN#WorkSourceSNT16 c ON a.SourceLotName=c.SourceSN
  LEFT JOIN CO_SN_LINK_CUSTOMER d WITH(NOLOCK)ON a.LotName=d.SNMes
  END
  ELSE
  BEGIN
  --已知SourceSN集合求解对应的SN和SNCust集合------------------------------------------
  SELECT LotPK AS SourceLotPK,LotName AS SrouceLotName INTO#WorkLotX5106 FROM MMLots WITH(NOLOCK)WHERE EXISTS(SELECT 1 FROM#WorkSourceSNT16 b WHERE b.SourceSN=MMLots.LotID)
  SELECT a.LotPK,a.SourceLotPK into#WorkLotX5206 FROM MMLotOperations a WITH(NOLOCK)WHERE EXISTS(SELECT 1 FROM#WorkLotX5106 b WHERE b.SourceLotPK=a.SourceLotPK)
  SELECT a.LotPK,a.SourceLotPK,b.SrouceLotName INTO#WorkLotX5306 FROM#WorkLotX5206 a JOIN#WorkLotX5106 b ON a.SourceLotPK=b.SourceLotPK
  INSERT INTO#FinalLotName SELECT b.LotName,a.SrouceLotName,NULL FROM#WorkLotX5306 a JOIN(SELECT LotPK,LotName FROM MMLots WITH(NOLOCK))b on a.LotPK=b.LotPK--b的里面加不加WHERE RowDeleted=0待确定
  SELECT a.LotName,a.SourceLotName,b.SNCust INTO#WorkLotX5406 FROM#FinalLotName a LEFT JOIN CO_SN_LINK_CUSTOMER b WITH(NOLOCK)ON a.LotName=b.SNMes
  DELETE FROM#FinalLotName
  INSERT INTO#FinalLotName SELECT LotName,SourceLotName,SNCust FROM#WorkLotX5406
  -------------------------------------------------------------------------------------
  SELECT SN,MaterialID,MESOrderID,OnPlantID INTO#WorkLotX5506 FROM CO_SN_GENERATION a WITH(NOLOCK)
  WHERE SNType='IntSN'AND SNRuleName='ProductSNRule'AND OnPlantID=@OnPlant
  AND EXISTS(SELECT 1 FROM#FinalLotName b WHERE a.SN=b.LotName)
  INSERT INTO#FinalCO_SN
  SELECT a.LotName,a.SourceLotName,a.SNCust,b.MaterialID,c.ComMaterials,b.MESOrderID,b.OnPlantID,c.VendorID,c.DateCode,c.SNNote FROM#FinalLotName a
  LEFT JOIN#WorkLotX5506 b ON a.LotName=b.SN
  LEFT JOIN#WorkSourceSNT16 c ON a.SourceLotName=c.SourceSN
  END
  END
  END
  /**
  *3)条件判断结束
  **/