@ -187,53 +187,58 @@ namespace Shentun.Peis.PlugIns.Gem 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            foreach  ( var  chargeRequest  in  chargeRequests )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                var  hisInput  =  new  HisPayStatusInput ( )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                 SyncChargeRequestFlagFromInterfaceAsync ( chargeRequest . ChargeRequestId ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            return  base . DoWork ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        public  override  async  Task  SyncChargeRequestFlagFromInterfaceAsync ( Guid  chargeRequestId )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					           var  chargeRequest  =  await  GetChargeRequestAsync ( chargeRequestId ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            var  hisInput  =  new  HisPayStatusInput ( )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                Data  =  new  HisPayStatusDataInput ( )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    Data  =  new  HisPayStatusDataInput ( )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    MsgHeader  =  new  HisMsgHeader Input( )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        MsgHeader  =  new  HisMsgHeaderInput ( )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                            Sender  =  "PEIS" ,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                            MsgType  =  "SVR_ODS_6105" ,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                            MsgVersion  =  "3.1" ,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        } ,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        Item  =  new  HisPayStatusDataItemInput ( )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                            Yjxh  =  chargeRequest . HisChargeNo ,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                            ExamRequestNo  =  chargeRequest . ChargeRequestNo ,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        Sender  =  "PEIS" ,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        MsgType  =  "SVR_ODS_6105" ,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        MsgVersion  =  "3.1" ,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    } ,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    Item  =  new  HisPayStatusDataItemInput ( )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        Yjxh  =  chargeRequest . HisChargeNo ,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                        ExamRequestNo  =  chargeRequest . ChargeRequestNo ,  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                } ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                var  result  =  PayStatus ( hisInput ) . Result ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                if  ( result . MsgHeader . Status  ! =  "true" )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    throw  new  Exception ( "查询支付状态失败"  +  result . MsgHeader . Detail ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                //1:已支付,2.已作废3.已退费, 其他:未支付
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                char  charRequstFlag ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                if  ( result . MsgHeader . ErrCode  = =  "1" )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    charRequstFlag  =  ChargeRequestFlag . AlreadyCharge ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    SetAppChargeRequestFlagAsync ( chargeRequest . ChargeRequestId ,  charRequstFlag ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            } ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            var  result  =  PayStatus ( hisInput ) . Result ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            if  ( result . MsgHeader . Status  ! =  "true" )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                throw  new  Exception ( "查询支付状态失败"  +  result . MsgHeader . Detail ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            //1:已支付,2.已作废3.已退费, 其他:未支付
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            char  charRequstFlag ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            if  ( result . MsgHeader . ErrCode  = =  "1" )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                charRequstFlag  =  ChargeRequestFlag . AlreadyCharge ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                SetAppChargeRequestFlagAsync ( chargeRequest . ChargeRequestId ,  charRequstFlag ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					
 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                else  if  ( result . MsgHeader . ErrCode  = =  "2" )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    charRequstFlag  =  ChargeRequestFlag . AlreadyCancelCharge ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    SetAppChargeRequestFlagAsync ( chargeRequest . ChargeRequestId ,  charRequstFlag ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                else  if  ( result . MsgHeader . ErrCode  = =  "3" )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    charRequstFlag  =  ChargeRequestFlag . AlreadyRefund ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    SetAppChargeRequestFlagAsync ( chargeRequest . ChargeRequestId ,  charRequstFlag ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                else  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                    throw  new  Exception ( "查询支付状态不支持的收费标志"  +  result . MsgHeader . ErrCode ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                 
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            return  base . DoWork ( ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            else  if  ( result . MsgHeader . ErrCode  = =  "2" )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                charRequstFlag  =  ChargeRequestFlag . AlreadyCancelCharge ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                SetAppChargeRequestFlagAsync ( chargeRequest . ChargeRequestId ,  charRequstFlag ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            else  if  ( result . MsgHeader . ErrCode  = =  "3" )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                charRequstFlag  =  ChargeRequestFlag . AlreadyRefund ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                SetAppChargeRequestFlagAsync ( chargeRequest . ChargeRequestId ,  charRequstFlag ) ;  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            else  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            {  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					                //throw new Exception("查询支付状态不支持的收费标志" + result.MsgHeader.ErrCode);
  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					            }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        }  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        public  override  async  Task < ChargeRequestPlugInsOut >  RefundRequestAsync ( ChargeRequestPlugInsInput  input )  
				
			 
			
		
	
		
			
				
					 
					 
				
				 
				
					        {