﻿//如果不是上海交易所的合约，则不判断今仓昨仓。显示为“－” 
//如果是上海的合约，则根据当日成交计算当日开仓数量，作为今仓。总持仓－今仓作为昨仓。 
//计算当日开仓数量时的规则是：先开先平。 
//先开的仓先平 
//100买开一手，200买开一手。此时开仓均价为150. 然后平仓一手，此时开仓均价为200. 

var dsHoldingTemp = new Ext.data.Store({
        proxy: new Ext.data.HttpProxy({url:'QueryData/QueryHolding.aspx'}),    
        sortInfo: {field: "heYue", direction: "ASC"},
                listeners: {
                "loadexception": function(store, options, response, error) {
                    try {
                        var o = Ext.util.JSON.decode(response.responseText);
                        if (o.success == false) {                            
                             Ext.MessageBox.alert("错误", o.msg);
                             successLogin=false;
                        }
                    } catch (exception) {
//                        Ext.MessageBox.alert("错误", "连接服务器失败,请重新登录!");
//                        successLogin=false;
                    }
                }
            },
        reader: new Ext.data.JsonReader({
            totalProperty: 'totalProperty',
            root: 'root'
        }, [
            {name: 'heYue'},
            {name: 'fangXiang'},
            {name: 'shuXing'},
            {name: 'chiCang',type: 'float'},
            {name: 'keYong',type: 'float'},
            {name: 'kaiCangJunJia',type: 'float'},
            {name: 'fuDongYingKui',type: 'float'},
            {name: 'zhiSunZhiYing'},
            {name: 'touBao'}
        ])
    });
    
    var dsBargainTemp = new Ext.data.Store({
        id:"dsBargainid",
        proxy: new Ext.data.HttpProxy({url:'QueryData/QueryBargain.aspx'}),    
        sortInfo: {field: "chengJiaoShiJian", direction: "DESC"},
                listeners: {
                "loadexception": function(store, options, response, error) {
                    try {
                        var o = Ext.util.JSON.decode(response.responseText);
                        if (o.success == false) {                            
                             Ext.MessageBox.alert("错误", o.msg);
                             successLogin=false;
                        }
                    } catch (exception) {
//                        Ext.MessageBox.alert("错误", "连接服务器失败,请重新登录!");
//                        successLogin=false;
                    }
                }
            },
        reader: new Ext.data.JsonReader({
            totalProperty: 'totalProperty',
            root: 'root'
        }, [
            {name: 'chengJiaoShiJian'},
            {name: 'heYue'},
            {name: 'maMai'},
            {name: 'kaiPing'},
            {name: 'chengJiaoJiaGe',type:'float'},
            {name: 'shouShu'},
            {name: 'touBao'},
            {name: 'weiTuoHao',type: 'int'}
        ])
    });
    
    

function changeDsHoldingShuXing(dsHolding,dsBargain)
{
    dsHoldingTemp.removeAll();
    
    dsBargainTemp.add(dsBargain.getRange());
    
    for(var i=0;i<dsBargain.data.length;i++)
    {
        var record=dsBargain.getAt(i);
        var HdHeYue=record.get("heYue");
        var HdFangXiang=record.get("fangXiang");
        var HdChiCang=record.get("chiCang");
        var HdKaiPing=record.get("kaiPing");
        
        var jinCang=0;        
        jinCang=getTodayChiCang(HdHeYue,HdFangXiang,HdKaiPing,dsBargainTemp);        
        if(jinCang!=0)
        {
            record.set("shuXing","今仓");
            record.set("fangXiang",HdFangXiang);
            record.set("kaiCangJunJia","0.00");
            record.set("chiCang",jinCang);
            record.set("keYong",jinCang);
            //dsResult.data.push(record);
            dsHoldingTemp.add(record);
        }
        var zuoCang=HdChiCang-jinCang;
        if(zuoCang>0)
        {
            var newRecord=record;
            record.set("shuXing","昨仓");
            record.set("fangXiang",HdFangXiang);
            record.set("kaiCangJunJia","0.00");
            record.set("chiCang",zuoCang);
            record.set("keYong",zuoCang);
           dsHoldingTemp.add(record);
        }
    }
    
    
    
    
//    for(var i=0;i<dsHolding.data.length;i++)
//    {
//        var record=dsHolding.getAt(i);
//        var HdHeYue=record.get("heYue");
//        var HdFangXiang=record.get("fangXiang");
//        var HdChiCang=record.get("chiCang");
//        
//        var jinCang=0;
//        var ds=dsBargain;
//        
//        jinCang=getTodayChiCang(HdHeYue,HdFangXiang,ds);        
//        if(jinCang!=0)
//        {
//            record.set("shuXing","今仓");
//            record.set("fangXiang",HdFangXiang);
//            record.set("kaiCangJunJia","0.00");
//            record.set("chiCang",jinCang);
//            record.set("keYong",jinCang);
//            dsResult.data.push(record);
//        }
//        var zuoCang=HdChiCang-jinCang;
//        if(zuoCang>0)
//        {
//            var newRecord=record;
//            record.set("shuXing","昨仓");
//            record.set("fangXiang",HdFangXiang);
//            record.set("kaiCangJunJia","0.00");
//            record.set("chiCang",jinCang);
//            record.set("keYong",jinCang);
//            dsResult.data.push(record);
//        }
//    }
    return dsHoldingTemp;
}

function getTodayChiCang(heYue,fangXiang,KaiPing,ds)
{
    //今仓
    var todayChiCang=0;
    
    ds.filterBy(function(record) {   
        return record.get('heYue') == heYue 
        && record.get('fangXiang') == fangXiang
        && record.get('kaiPing') == KaiPing;   
    });
    for(var i=0;i<ds.data.length;i++)
    {
        var record=ds.getAt(i);
        todayChiCang+=parseInt(record.get("shouShu"));
    }
    
    return todayChiCang;
}