zoukankan      html  css  js  c++  java
  • 增加节点额度可能用到

    BasLimitConfig.cs

    /* Copyright (c) 2014 Xiamen HaiHui Software Co., Ltd. All rights reserved
     *
     * Create by huanglc@holworth.com at 2014-12-01 16:19:22
     *
     */
     
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Runtime.Serialization;

    namespace Contract.Domain
    {
        
        ///<summary>
        ///限额配置
        ///</summary>
                 [DataContract(Namespace = "Contract.Domain")]
        public class BasLimitConfig: Framework.Domain.Entity
        {                
                          /// <summary>
                /// 限额条件ID
                /// </summary>
                [DataMember]
                public virtual int? LimitConditionId
                {
                   get;
                   set;
                }
                        
                        /// <summary>
                /// 限额ID
                /// </summary>
                [DataMember]
                public virtual int? LimitTypeId
                {
                   get;
                   set;
                }
                        
                        /// <summary>
                /// 限额名称
                /// </summary>
                [DataMember]
                public virtual string LimitTypeName
                {
                   get;
                   set;
                }                        
                        
                        /// <summary>
                /// 对应维度1ID
                /// </summary>
                [DataMember]
                public virtual int? LimitDim1Id
                {
                   get;
                   set;
                }
                        
                        /// <summary>
                /// 对应维度1值
                /// </summary>
                [DataMember]
                public virtual string LimitDim1Value
                {
                   get;
                   set;
                }                        
                        
                        /// <summary>
                /// 对应维度2ID
                /// </summary>
                [DataMember]
                public virtual int? LimitDim2Id
                {
                   get;
                   set;
                }
                        
                        /// <summary>
                /// 对应维度2值
                /// </summary>
                [DataMember]
                public virtual string LimitDim2Value
                {
                   get;
                   set;
                }                        
                        
                        /// <summary>
                /// 对应维度3ID
                /// </summary>
                [DataMember]
                public virtual int? LimitDim3Id
                {
                   get;
                   set;
                }
                        
                        /// <summary>
                /// 对应维度3值
                /// </summary>
                [DataMember]
                public virtual string LimitDim3Value
                {
                   get;
                   set;
                }                        
                        
                        /// <summary>
                /// 对应维度4ID
                /// </summary>
                [DataMember]
                public virtual int? LimitDim4Id
                {
                   get;
                   set;
                }
                        
                        /// <summary>
                /// 对应维度4值
                /// </summary>
                [DataMember]
                public virtual string LimitDim4Value
                {
                   get;
                   set;
                }                        
                        
                        /// <summary>
                /// 对应维度5ID
                /// </summary>
                [DataMember]
                public virtual int? LimitDim5Id
                {
                   get;
                   set;
                }
                        
                        /// <summary>
                /// 对应维度5值
                /// </summary>
                [DataMember]
                public virtual string LimitDim5Value
                {
                   get;
                   set;
                }                        
                        
                        /// <summary>
                /// 对应维度6ID
                /// </summary>
                [DataMember]
                public virtual int? LimitDim6Id
                {
                   get;
                   set;
                }
                        
                        /// <summary>
                /// 对应维度6值
                /// </summary>
                [DataMember]
                public virtual string LimitDim6Value
                {
                   get;
                   set;
                }                        
                        
                        /// <summary>
                /// 对应维度7ID
                /// </summary>
                [DataMember]
                public virtual int? LimitDim7Id
                {
                   get;
                   set;
                }
                        
                        /// <summary>
                /// 对应维度7值
                /// </summary>
                [DataMember]
                public virtual string LimitDim7Value
                {
                   get;
                   set;
                }                        
                        
                        /// <summary>
                /// 下限值
                /// </summary>
                [DataMember]
                public virtual Decimal? LowerLimitValue
                {
                   get;
                   set;
                }                        
                        
                        /// <summary>
                /// 黄线值
                /// </summary>
                [DataMember]
                public virtual Decimal? YellowLimitValue
                {
                   get;
                   set;
                }                        
                        
                        /// <summary>
                /// 红线值
                /// </summary>
                [DataMember]
                public virtual Decimal? RedLimitValue
                {
                   get;
                   set;
                }                        
                        
                        /// <summary>
                /// 上限值
                /// </summary>
                [DataMember]
                public virtual Decimal? UpperLimitValue
                {
                   get;
                   set;
                }
                /// <summary>
                /// 实际额度
                /// </summary>
                [DataMember]
                public virtual Decimal? ActualIsAmount
                {
                    get;
                    set;
                }
                /// <summary>
                /// 部门额度
                /// </summary>
                [DataMember]
                public virtual Decimal? PartIsAmount
                {
                    get;
                    set;
                }

            [DataMember]
            public virtual string LimitBundleName
            {

                get; set;
            }


        }
        
    }

    BasLimitToConfigureManage.aspx

    <%-- builed by manage.aspx.cmt  [ver:2014.19.01] at 2014-12-01 16:19:20 --%>

    <%@ Page Language="C#" AutoEventWireup="True" CodeBehind="BasLimitToConfigureManage.aspx.cs"
        Inherits="HraWeb.BasLimitToConfigureManage" %>

    <%@ Register Assembly="Trirand.Web" TagPrefix="asp" Namespace="Trirand.Web.UI.WebControls" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
        <title></title>
         <style>
        .left
        {
            20%;
             float:left;
             overflow:auto;
               display:inline;
          
        }
       .Mid
        {
            20%;
             float:left;
             overflow:auto;
               display:inline;
         
        }
        
        .right
        {
              60%;
             float:left;
             overflow-x:hidden;
             display:inline;
             
        }
        </style>

    </head>
    <body>
        <form id="form1" runat="server">
        <div id="toolbar" class="datagrid-toolbar">
            <span class="title">限额类型名称:</span>
             <input type="text" id="txt_LimitTypeName_LK_" name="txt_LimitTypeName_LK_"
                class="input datacontrol" style=" 100px" />
                     <span class="title">限额绑定名称:</span>
             <input type="text" id="Text1" name="txt_LimitBundleName_LK_"
                class="input datacontrol" style=" 100px" />
                <a href="#" id="btn_edit"  iconcls="icon-edit" class="button">编辑</a>
                <a href="#" id="btn_search" iconcls="icon-search" class="button">查询</a>
                <a href="#" id="btn_warrant" iconcls="icon-warrant" class="button">授权</a>
                <a href="#" id="btn_Rereferesh" iconcls="icon-mini-refresh" class="button">刷新</a>
                <a href="#" id="btn_Update" iconcls="icon-edit" class="button">批量</a>
                        
        </div>
        <div style="100%">
                <div class='left'>
                   <ul id="tt1" class="easyui-tree"></ul>
                </div>
                 <div class='Mid'>
                   <ul id="tt2" class="easyui-tree"></ul>
                </div>
         <div class='jdataGrid  right'>
            <asp:JQGrid runat="server" ID="jq" MultiSelect="True" AutoWidth="true" Height="400" DataUrl="/BAS/BasLimitToConfigureManage.aspx?_method=search">
                <Columns>
                      <asp:JQGridColumn DataField="LimitBundleName" Visible="true" HeaderText="限额绑定名称">
                    </asp:JQGridColumn>
                    <asp:JQGridColumn DataField="LimitTypeName" Visible="False" Frozen="True"  HeaderText="限额名称">
                    </asp:JQGridColumn>
                    <asp:JQGridColumn DataField="LimitDim1Id" Visible="False" Frozen="True" Width="100" HeaderText="对应维度1ID">
                    </asp:JQGridColumn>
                    <asp:JQGridColumn DataField="LimitDim1Value" Visible="true" Frozen="True" Width="280" HeaderText="对应维度1值">
                    </asp:JQGridColumn>
                    <asp:JQGridColumn DataField="LimitDim2Id" Visible="False" Width="120" HeaderText="对应维度2ID">
                    </asp:JQGridColumn>
                    <asp:JQGridColumn DataField="LimitDim2Value" Visible="true" Width="260" HeaderText="对应维度2值">
                    </asp:JQGridColumn>
                    <asp:JQGridColumn DataField="UpperLimitValue" Visible="true" HeaderText="上限值">
                    </asp:JQGridColumn>
                    <asp:JQGridColumn DataField="LowerLimitValue" Visible="true" HeaderText="下限值">
                    </asp:JQGridColumn>
                    <asp:JQGridColumn DataField="YellowLimitValue" Visible="true" HeaderText="黄线值">
                    </asp:JQGridColumn>
                    <asp:JQGridColumn DataField="RedLimitValue" Visible="true" HeaderText="红线值">
                    </asp:JQGridColumn>
                    
                    <asp:JQGridColumn DataField="PartIsAmount" Visible="true" HeaderText="节点限额">
                    </asp:JQGridColumn>
                        <asp:JQGridColumn DataField="ActualIsAmount" Visible="true" HeaderText="实际额度">
                    </asp:JQGridColumn>
         
                  
                    
                    <asp:JQGridColumn DataField="Id" Visible="false" PrimaryKey="true">
                    </asp:JQGridColumn>
                </Columns>
                <ClientSideEvents LoadComplete="JDataGrid.loadComplete" RowDoubleClick="JDataGrid.rowDoubleClick" />
            </asp:JQGrid>
            <input type="hidden" class="input datacontrol" id="txt_LimitDim1Id_" name="txt_LimitDim1Id_"/>
             <input type="hidden" class="input datacontrol" id="txt_LimitDim2Id_" name="txt_LimitDim2Id_"/>
        </div>
        </div>
        </form>
        <script type="text/javascript">
            var parentId1 = "";
            var parentId2 = "";
            var parentControl1 = null;
            var parentControl2 = null;
            function PageOnLoad() {
                $(".left").height($("body").height - 100);
                $(".Mid").height($("body").height - 100);
                LoadTree1(true);
                LoadTree2(true);
                $("#btn_Update").click(function () {
                    //这个是单选
                    //var rowid = $("#jq").jqGrid('getGridParam', 'selrow');
                    //这个是manage页面列表的多选现在列出供以后参考
                    var rowids = $("#jq").jqGrid('getGridParam', 'selarrrow');

                    var rowidList = new Array();
                    for (var i = 0; i < rowids.length; i++) {
                        rowidList.push(rowids[i]);
                    }
                    if (rowidList.length > 0) {
                        rowidList = JSON.stringify(rowidList);
                    }
                    else {
                        rowidList = "";
                    }

                    JDataGrid.Add("/BAS/BatchLimitWindowEdit.aspx?_method=BatchSetLimit&RowidList=" + rowidList, 600, 270, "限额批量窗口");

                });
                $("#btn_Rereferesh").click(function () {

                    $("#btn_search").click();

                });
                $("#btn_warrant").click(function () {

                    var url = "/BAS/BasLimitBusinessGrantProductManage.aspx";
                    JDataGrid.Edit(null, url, 600, 500, "业务产品权限设置");

                });
                //控件按钮设置
                $(".button").linkbutton({ plain: true });
                //参数说明:控件Id,查询地址,编辑页面的宽度,高度,编辑页面标题,新增按钮,编辑按钮,删除按钮,查询按钮,查询回调函数
                JDataGrid.InitGrid("jq", "/BAS/BasLimitToConfigureEdit.aspx", 600, 400, "限额管理", $("#btn_add"), $("#btn_edit"), $("#btn_del"), $("#btn_search"));

            }
            function LoadTree1(isLoadGrid) {
                DataGrid.WaitMessage();
                $("#tt1").tree(
                  { url: '/BAS/BasLimitBusiStrucManage.aspx?_method=LoadTree&_id=0&a=' + Math.random(),
                      method: 'get',
                      animate: true,
                      formatter: function (node) {
                          var s = node.text;
                          if (node.children) {
                              s += "&nbsp;<span style='color:blue'>(" + node.children.length + ")</span>";
                          }
                          return s;
                      },
                      onBeforeExpand: function (node, param) {
                          var url = "/BAS/BasLimitBusiStrucManage.aspx?_method=loadChild&child=" + node.id;
                          $('#tt1').tree('options').url = url;
                      },
                      onClick: function (node) {

                          // $("#txt_LimitDim2Id_").val("");
                          parentId1 = node.id;
                          $("#txt_LimitDim1Id_").val(parentId1);
                          //  $("#jq").jqGrid("setGridParam", { postData: { txt_Name_LK_: $("#txt_Name_LK_").val(), "BaslimitBusinessStruPId": node.id} }).trigger("reloadGrid");

                          $("#btn_search").click();



                      },
                      onLoadSuccess: function (node, data) {
                          DataGrid.RemoveWaitMessage();
                      }
                  }
              );
                //   off_id = $("#tt").selectNode.txt_OfficeId_;

            }
            function LoadTree2(isLoadGrid) {
                DataGrid.WaitMessage();
                $("#tt2").tree(
                  { url: '/BAS/BasLimitProStrucManage.aspx?_method=LoadTree&_id=0&a=' + Math.random(),
                      method: 'get',
                      animate: true,
                      formatter: function (node) {
                          var s = node.text;
                          if (node.children) {
                              s += "&nbsp;<span style='color:blue'>(" + node.children.length + ")</span>";
                          }
                          return s;
                      },
                      onBeforeExpand: function (node, param) {
                          var url = "/BAS/BasLimitProStrucManage.aspx?_method=loadChild&child=" + node.id;
                          $('#tt2').tree('options').url = url;
                      },
                      onClick: function (node) {


                          parentId2 = node.id;
                          //$("#txt_LimitDim2Id_").val(parentId2);
                          $("#jq").jqGrid("setGridParam", { postData: { txt_Name_LK_: $("#txt_Name_LK_").val(), "BaslimitproStruPId": node.id} }).trigger("reloadGrid");
                          $("#btn_search").click();


                      },
                      onLoadSuccess: function (node, data) {

                          DataGrid.RemoveWaitMessage();
                      }
                  }
              );


            }

            function Refresh() {
                $("#btn_search").click();
            }

            function RelaodTree1(data) {
                LoadTree1(true);
            }
            function RelaodTree2(data) {
                LoadTree2(true);
            }

        </script>
    </body>
    </html>
    BasLimitToConfigureManage.aspx.cs

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Linq;
    using System.Web;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using DevExpress.Data.PLinq.Helpers;
    using Framework;
    using HraWeb.Common;
    using Utility;
    using WebApp.Common;
    using Contract.Domain;
    using System.Collections;

    namespace HraWeb
    {
        public partial class BasLimitToConfigureManage : JQEntityManage<Contract.Domain.BasLimitConfig>
        {

            protected override void Page_Load(object sender, EventArgs e)
            {
               

                //给基类服务接口复制,可不付
                //base.svc = Psvc;
                if (!IsPostBack)
                {

                }
              
                base.Page_Load(sender, e);
            }



            /// <summary>
            /// 设置查询条件或者语句
            /// </summary>
            /// <returns></returns>
            protected override Framework.QueryInfo SetInfo()
            {
                InitSearchCache();
                info = base.SetInfo();
                if (!string.IsNullOrEmpty(Request["BaslimitproStruPId"]))
                {
                    
                    string LimitDim2Id = Request["BaslimitproStruPId"];
                    List<string> LimitDim2IdList = GetAllProChildIds(LimitDim2Id);
                    LimitDim2IdList.Add(LimitDim2Id);
                    string[] LimitDim2Ids = LimitDim2IdList.ToArray();

                    info.AddParam("LimitDim2Ids", LimitDim2Ids, " and LimitDim2Id in (:LimitDim2Ids)");

                }
                return info;
            }

            private void InitSearchCache()
            {
                SpringCache.Remove("GetBasLimitProStrucs");
                List<BasLimitProStruc> list1 = SpringCache.Get("GetBasLimitProStrucs") as List<BasLimitProStruc>;

                if (list1 == null || list1.Count <= 0)
                {
                    IList list2 = Dao.FindList(new QueryInfo("BasLimitProStruc"));

                    List<BasLimitProStruc> list3 = new List<BasLimitProStruc>();
                    foreach (var b in list2)
                    {

                        list3.Add(b as BasLimitProStruc);
                    }

                    SpringCache.Insert("GetBasLimitProStrucs", list3);


                }
                SpringCache.Remove("GetBasLimitConfigs");
                List<BasLimitConfig> list11 = SpringCache.Get("GetBasLimitConfigs") as List<BasLimitConfig>;

                if (list11 == null || list11.Count <= 0)
                {
                    IList list12 = Dao.FindList(new QueryInfo("BasLimitConfig"));

                    List<BasLimitConfig> list3 = new List<BasLimitConfig>();
                    foreach (var b in list12)
                    {

                        list3.Add(b as BasLimitConfig);
                    }

                    SpringCache.Insert("GetBasLimitConfigs", list3);


                }
                SpringCache.Remove("BasLimitBusiStrucs");
                List<BasLimitBusiStruc> childList = SpringCache.Get("BasLimitBusiStrucs") as List<BasLimitBusiStruc>;
                if (childList == null || childList.Count <= 0)
                {
                    IList list12 = Dao.FindList(new QueryInfo("BasLimitBusiStruc"));

                    List<BasLimitBusiStruc> list3 = new List<BasLimitBusiStruc>();
                    foreach (var b in list12)
                    {

                        list3.Add(b as BasLimitBusiStruc);
                    }

                    SpringCache.Insert("BasLimitBusiStrucs", list3);


                }
            }

            private List<string> GetAllProChildIds(string parentID)
            {
                List<string> ids = new List<string>();
         
                List<BasLimitProStruc> list1 = SpringCache.Get("GetBasLimitProStrucs") as List<BasLimitProStruc>;

                List<BasLimitProStruc> prosFuncList=new List<BasLimitProStruc>();
                prosFuncList = list1;
                prosFuncList = (from s in prosFuncList where s.ParentId.ToString() == parentID select s).ToList();

                //QueryInfo info = new QueryInfo("BasLimitProStruc b");
                //info.AddParam("ParentId", parentID, " and (b.ParentId=:ParentId )");

                 //prosList = Dao.FindList(info);
                foreach (BasLimitProStruc b1 in prosFuncList)
                {
                    //BasLimitProStruc b1 = b as BasLimitProStruc;
                    ids.Add(b1.Id);
                    if (ParentHasChild(b1.Id))
                    {

                        ids.AddRange(GetAllProChildIds(b1.Id));
                    }

                }






                return ids;




            }
            private Spring.Caching.ICache cache;
            private Spring.Caching.ICache SpringCache
            {
                get
                {
                    if (cache == null)
                        cache = (Spring.Caching.ICache)ctx.GetObject("AspNetCache");
                    return cache;
                }
                set
                {
                    cache = value;
                }
            }
            private bool ParentHasChild(string id)
            {
           
                List<BasLimitProStruc> list1 = SpringCache.Get("GetBasLimitProStrucs") as List<BasLimitProStruc>;
                list1 = (from s in list1 where s.ParentId.ToString() == id select s).ToList();
                if (list1.Count > 0)
                    return true;
                return false;

            }

            /// <summary>
            /// 初始化页面控件
            /// </summary>
            protected override void InitPage()
            {
                base.InitPage();

                // BindDrop(drp_Unit, "SPSW", true);
            }
            public static List<int?> list1 = new List<int?>();
            public static List<int?> list2 = new List<int?>();
            public static List<int?> list3 = new List<int?>();
            public static List<int?> list4 = new List<int?>();
            public override void ChangeList(QueryInfo infoList)
            {


                
                
                    List<PorductUpperLimit> dic = new List<PorductUpperLimit>();

                    List<BasLimitConfig> funcBasLimitConfigList = new List<BasLimitConfig>();
                    list1.Clear();
                    list2.Clear();
                    foreach (var b in infoList.List)
                    {
                        BasLimitConfig b1 = b as BasLimitConfig;
                        list1.Add(b1.LimitDim1Id);
                        list2.Add(b1.LimitDim2Id);
                        funcBasLimitConfigList.Add(b as BasLimitConfig);

                    }
                   

                    // 1.算出每个交易员对应货币的实际额度
                    foreach (BasLimitConfig b in funcBasLimitConfigList)
                    {
                        if (IsTrader(b.LimitDim1Id) && IsMoney(Convert.ToString(b.LimitDim2Id)))
                        {

                            dic.Add(new PorductUpperLimit() { TraderId = b.LimitDim1Id, TraderName = b.LimitDim1Value, ProductId = b.LimitDim2Id, ProductName = b.LimitDim2Value, UpperLimitValue = b.UpperLimitValue });
                            b.ActualIsAmount = b.UpperLimitValue;
                            b.PartIsAmount = b.UpperLimitValue;
                        }
                        else
                        {

                            b.ActualIsAmount = NextnodeAmount(b);
                            b.PartIsAmount = NextnodePartAmount(b);

                        }
                        if (b.ActualIsAmount <= 0&&b.PartIsAmount>0)
                        {
                            b.ActualIsAmount = b.PartIsAmount;
                        }

                    }
                
               


            }

            private decimal? NextnodePartAmount(BasLimitConfig b)
            {
                decimal? d = 0;
                string childServiceId = "";
                string childProductId = "";
                int? id1 = b.LimitDim1Id;
                int? id2 = b.LimitDim2Id;
                try
                {

                    string strId1s = GetchildServiceId(id1);
                    if (strId1s.Contains(','))
                        strId1s = strId1s.Substring(0, strId1s.Length - 1);
                    string strId2s = GetchildProductId(id2);
                    if (strId2s.Contains(','))
                        strId2s = strId2s.Substring(0, strId2s.Length - 1);

                    List<string> strid1Arr = strId1s.Split(',').ToList();
                    List<string> strid2Arr = strId2s.Split(',').ToList();

                    for (int i = 0; i < strid1Arr.Count; i++)
                    {
                        for (int j = 0; j < strid2Arr.Count; j++)
                        {
                            List<BasLimitConfig> BasLimitConfigs = SpringCache.Get("GetBasLimitConfigs") as List<BasLimitConfig>;
                            string i1 = strid1Arr[i];
                            string i2 = strid2Arr[j];
                            //if (list1.Contains(int.Parse(i1)) && list2.Contains(int.Parse(i2)))
                            {
                                BasLimitConfigs = (from s in BasLimitConfigs
                                                   where s.LimitDim1Id.ToString() == i1.ToString() && s.LimitDim2Id.ToString() == i2.ToString()
                                                   select s).ToList();
                                if (BasLimitConfigs != null && BasLimitConfigs.Count > 0)
                                {
                                    BasLimitConfig b1 = BasLimitConfigs[0];
                                    //QueryInfo info = new QueryInfo("BasLimitConfig");
                                    //info.AddParam("LimitDim1Id", i1, " and LimitDim1Id=:LimitDim1Id");
                                    //info.AddParam("LimitDim2Id", i2, " and LimitDim2Id=:LimitDim2Id");
                                    //BasLimitConfig b1 = Dao.FindOne(info) as BasLimitConfig;
                                    if (b1 != null)
                                    {
                                        d += b1.UpperLimitValue;

                                    }
                                }


                            }

                        }

                    }
                }
                catch (Exception ex)
                {

                    JSUtil.log(ex.ToString());
                }

                return d;
            }

       


            private decimal? NextnodeAmount(BasLimitConfig b)
            {
                decimal? d = 0;
                int? id1 = b.LimitDim1Id;
                int? id2 = b.LimitDim2Id;

                try
                {

                    string strId1s = GetAllTraderId(id1);
                    if (strId1s.Contains(','))
                        strId1s = strId1s.Substring(0, strId1s.Length - 1);
                    string strId2s = GetAllProductId(id2);
                    if (strId2s.Contains(','))
                        strId2s = strId2s.Substring(0, strId2s.Length - 1);

                    List<string> strid1Arr = strId1s.Split(',').ToList();
                    List<string> strid2Arr = strId2s.Split(',').ToList();
                 
                    for (int i = 0; i < strid1Arr.Count; i++)
                    {
                        for (int j = 0; j < strid2Arr.Count; j++)
                        {
                            List<BasLimitConfig> BasLimitConfigs = SpringCache.Get("GetBasLimitConfigs") as List<BasLimitConfig>;
                            string i1 = strid1Arr[i];
                            string i2 = strid2Arr[j];
                            //if (list1.Contains(int.Parse(i1)) && list2.Contains(int.Parse(i2)))
                            {
                                BasLimitConfigs = (from s in BasLimitConfigs
                                    where s.LimitDim1Id.ToString() == i1.ToString() && s.LimitDim2Id.ToString() == i2.ToString()
                                    select s).ToList();
                                if (BasLimitConfigs != null && BasLimitConfigs.Count > 0)
                                {
                                      BasLimitConfig b1 = BasLimitConfigs[0];

                                    if (b1 != null)
                                    {
                                        d += b1.UpperLimitValue;

                                    }
                              }
                               

                            }

                        }

                    }
                }
                catch (Exception ex)
                {

                    JSUtil.log(ex);
                }



                return d;




            }
    //why
            private string GetchildProductId(int? id2)
            {
                string PNameList = string.Empty;
                List<BasLimitProStruc> childList = SpringCache.Get("GetBasLimitProStrucs") as List<BasLimitProStruc>;
                childList = (from s in childList where s.ParentId.ToString() == id2.ToString() select s).ToList();
                for (int i = 0; i < childList.Count; i++)
                {
                    PNameList +=(int.Parse(childList[i].Id)) + ",";
                }

                return PNameList;
            }

            private string GetchildServiceId(int? id2)
            {
                string PNameList = string.Empty;
                List<BasLimitBusiStruc> childList = SpringCache.Get("BasLimitBusiStrucs") as List<BasLimitBusiStruc>;
                childList = (from s in childList where s.ParentId.ToString() == id2.ToString() select s).ToList();
                for (int i = 0; i < childList.Count; i++)
                {
                    PNameList +=(int.Parse(childList[i].Id)) + ",";
                }
                return PNameList;
            }
            private string GetAllProductId(int? id2)
            {
                string PNameList = string.Empty;
                if (IsMoney(id2.ToString()))
                {
                    list4.Add(id2);
                    return id2.ToString();
                }
                List<BasLimitProStruc> childList2 = SpringCache.Get("GetBasLimitProStrucs") as List<BasLimitProStruc>;
                childList2 = (from s in childList2 where s.ParentId.ToString() == id2.ToString() select s).ToList();

                //QueryInfo info = new QueryInfo("BasLimitProStruc");
                //info.AddParam("ParentId", id2, " and ParentId=:ParentId");

                //IList childList = Dao.FindByQueryInfo(info).List;


                for (int i = 0; i < childList2.Count; i++)
                {
                    //BasLimitProStruc basLimitPro = childList[i] as BasLimitProStruc;
                    PNameList += GetAllProductId(int.Parse(childList2[i].Id)) + ",";
                }


                return PNameList;
            }

            private string GetAllTraderId(int? id1)
            {
                string PNameList = string.Empty;
                if (IsTrader(id1))
                {

                    list3.Add(id1);

                    return id1.ToString();
                }
                //
                List<BasLimitBusiStruc> childList = SpringCache.Get("BasLimitBusiStrucs") as List<BasLimitBusiStruc>;
                childList = (from s in childList where s.ParentId.ToString() == id1.ToString() select s).ToList();

                //
                //QueryInfo info = new QueryInfo("BasLimitBusiStruc");
                //info.AddParam("ParentId", id1, " and ParentId=:ParentId");
                //IList childList = Dao.FindByQueryInfo(info).List;
                if (childList != null && childList.Count > 0)
                {
                    for (int i = 0; i < childList.Count; i++)
                    {
                        //BasLimitBusiStruc child = childList[i] as BasLimitBusiStruc;

                        PNameList += GetAllTraderId(int.Parse(childList[i].Id)) + ",";
                    }
                }
                





                return PNameList;



            }


            private bool IsMoney(string limitDim2Id)
            {

                List<BasLimitProStruc> list = SpringCache.Get("GetBasLimitProStrucs") as List<BasLimitProStruc>;
                list = (from s in list where s.Id.ToString() == limitDim2Id.ToString() && s.ProLevel == 4 select s).ToList();

                //QueryInfo MoneyInfo = new QueryInfo("BasLimitProStruc");

                //MoneyInfo.Where.Add("where", " and Id=:limitDim2Id and ProLevel=4");
                //MoneyInfo.Parameters.Add("limitDim2Id", limitDim2Id);
                //IList list = Dao.FindByQueryInfo(MoneyInfo).List;

                if (list.Count > 0)
                {
                    return true;
                }
                return false;
            }

            private bool IsTrader(decimal? limitDim1Id)
            {
                List<BasLimitBusiStruc> list = SpringCache.Get("BasLimitBusiStrucs") as List<BasLimitBusiStruc>;
                list = (from s in list where s.Id == limitDim1Id.ToString() && s.IsTrader == 1 select s).ToList();

                //QueryInfo TraderInfo = new QueryInfo("BasLimitBusiStruc");

                //TraderInfo.Where.Add("where", " and Id=:limitDim1Id and IsTrader=1");
                //TraderInfo.Parameters.Add("limitDim1Id", limitDim1Id);
                //IList list = Dao.FindByQueryInfo(TraderInfo).List;

                if (list.Count > 0)
                {
                    return true;
                }
                return false;
            }


        }

        internal class PorductUpperLimit
        {
            public int? TraderId { get; set; }
            public string TraderName { get; set; }
            public int? ProductId { get; set; }
            public string ProductName { get; set; }
            public decimal? UpperLimitValue { get; set; }

        }
    }

    BasLimitToConfigureManage.aspx.designer.cs.

    //------------------------------------------------------------------------------
    // <自动生成>
    //     此代码由工具生成。
    //
    //     对此文件的更改可能会导致不正确的行为,并且如果
    //     重新生成代码,这些更改将会丢失。
    // </自动生成>
    //------------------------------------------------------------------------------

    namespace HraWeb {
        
        
        public partial class BasLimitToConfigureManage {
            
            /// <summary>
            /// Head1 控件。
            /// </summary>
            /// <remarks>
            /// 自动生成的字段。
            /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
            /// </remarks>
            protected global::System.Web.UI.HtmlControls.HtmlHead Head1;
            
            /// <summary>
            /// form1 控件。
            /// </summary>
            /// <remarks>
            /// 自动生成的字段。
            /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
            /// </remarks>
            protected global::System.Web.UI.HtmlControls.HtmlForm form1;
            
            /// <summary>
            /// jq 控件。
            /// </summary>
            /// <remarks>
            /// 自动生成的字段。
            /// 若要进行修改,请将字段声明从设计器文件移到代码隐藏文件。
            /// </remarks>
            protected global::Trirand.Web.UI.WebControls.JQGrid jq;
        }
    }

  • 相关阅读:
    【JAVA笔记——道】JAVA对象销毁
    【JAVA笔记——道】并发编程CAS算法
    httpClientUtil的get请求
    python基础 day11 下 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 表结构设计作业
    python基础 day11 上 数据库介绍 mysql 数据库安装使用 mysql管理 mysql 数据类型 常用mysql命令 事务 索引 python 操作mysql ORM sqlachemy学习
    Python基础 Day10 Gevent协程 SelectPollEpoll异步IO与事件驱动 Python连接Mysql数据库操作 RabbitMQ队列 RedisMemcached缓存 Paramiko SSH Twsited网络框架
    python基础 day9 进程、与线程区别 python GIL全局解释器锁 线程 进程
    python基础 day8 Socket语法及相关 SocketServer实现多并发
    python基础 day7 面向对象高级语法部分 异常处理 异常处理 Socket开发基础
    python基础 day6 面向对象的特性:封装、继承、多态 类、方法、
  • 原文地址:https://www.cnblogs.com/kexb/p/4540367.html
Copyright © 2011-2022 走看看