Beispiel #1
0
    /*绑定主表信息*/
    protected void BindMainInfo()
    {
        /*接受参数*/

        string OrderNo = Request.QueryString["no"].ToString();


        /*读取数据*/
        DataTable dt       = SellChanceBus.GetRepOrder(OrderNo);
        DataTable dtDetail = SellChanceBus.GetRepOrderDetail(OrderNo);

        /*绑定RPT*/
        if (dt != null)
        {
            /*加载主报表*/
            rd.Load(Server.MapPath(@"~/PrinttingModel/SellManager/SellChance.rpt"));
            crViewer.LogOnInfo.Add(ReportUtil.GetTableLogOnInfo("officedba.sellmodule_report_SellChance"));

            /*加载子报表*/
            ReportDocument rdDetail = rd.Subreports["SellChancePush.rpt"];
            rdDetail.SetDataSource(dtDetail);

            //绑定数据
            rd.SetDataSource(dt);
            rd.Refresh();
            this.crViewer.ReportSource = rd;
            UserInfoUtil userInfo = (UserInfoUtil)SessionUtil.Session["UserInfo"];
            rd.SetParameterValue("PrintName", "制表人:" + userInfo.UserName);
        }
    }
    protected void btnImport_Click(object sender, ImageClickEventArgs e)
    {
        //设置行为参数
        string orderString = hiddExpOrder.Value.Trim();                                                                            //排序
        string order       = "desc";                                                                                               //排序:降序
        string orderBy     = (!string.IsNullOrEmpty(orderString)) ? orderString.Substring(0, orderString.Length - 2) : "FindDate"; //要排序的字段,如果为空,默认为"ID"

        if (orderString.EndsWith("_a"))
        {
            order = "asc";                                    //排序:升序
        }
        int       pageCount  = int.Parse(hiddExpTotal.Value); //每页显示记录数
        int       pageIndex  = 1;                             //当前页
        int       TotalCount = 0;                             //总记录数
        string    ord        = orderBy + " " + order;         //排序字段
        DataTable dt         = new DataTable();

        string strChanceNo   = hiddExpChanceNo.Value.Trim();
        string strTitle      = hiddExpTitle.Value.Trim();
        string strCustID     = hiddExpCustID.Value.Trim();
        string strSeller     = hiddExpSeller.Value.Trim();
        string strPhase      = hiddExpPhase.Value.Trim();
        string strState      = hiddExpState.Value.Trim();
        string strChanceType = hiddExpChanceType.Value.Trim();
        string strHapSource  = hiddExpHapSource.Value.Trim();
        string strFindDate   = hiddExpFindDate.Value.Trim();
        string strFindDate1  = hiddExpFindDate1.Value.ToString().Trim();

        string   ChanceNo   = strChanceNo.Length == 0 ? null : strChanceNo;
        string   Title      = strTitle.Length == 0 ? null : strTitle;
        int?     CustID     = strCustID.Length == 0 ? null : (int?)Convert.ToInt32(strCustID);
        int?     Seller     = strSeller.Length == 0 ? null : (int?)Convert.ToInt32(strSeller);
        string   Phase      = strPhase.Length == 0 ? null : strPhase;
        string   State      = strState.Length == 0 ? null : strState;
        int?     ChanceType = strChanceType.Length == 0 ? null : (int?)Convert.ToInt32(strChanceType);
        int?     HapSource  = strHapSource.Length == 0 ? null : (int?)Convert.ToInt32(strHapSource);
        DateTime?FindDate   = strFindDate.Length == 0 ? null : (DateTime?)Convert.ToDateTime(strFindDate);
        DateTime?FindDate1  = strFindDate1.Length == 0 ? null : (DateTime?)Convert.ToDateTime(strFindDate1);

        string EFIndex = hidEFIndex.Value;
        string EFDesc  = hidEFDesc.Value;

        dt = SellChanceBus.GetChanceList(EFIndex, EFDesc, ChanceNo, Title, CustID, Seller, Phase, State, ChanceType, HapSource, FindDate, FindDate1, pageIndex, pageCount, ord, ref TotalCount);

        //导出标题
        string headerTitle = "机会编号|机会主题|客户|机会类型|机会来源|业务员|发现时间|阶段|状态";

        //string headerTitle = "建档日期|启用状态";
        string[] header = headerTitle.Split('|');

        //导出标题所对应的列字段名称
        string columnFiled = "ChanceNo|Title|CustName|ChanceTypeName|HapSourceName|EmployeeName|FindDate|PhaseName|StateName";

        //string columnFiled = "CreateDate|strUsedStatus";
        string[] field = columnFiled.Split('|');

        XBase.Common.OutputToExecl.ExportToTable(this.Page, dt, header, field, "销售机会列表");
    }
    protected void LoadPrintInfo()
    {
        PrintParameterSettingModel model = new PrintParameterSettingModel();

        model.CompanyCD     = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).CompanyCD;
        model.BillTypeFlag  = int.Parse(ConstUtil.BILL_TYPEFLAG_SALE);
        model.PrintTypeFlag = ConstUtil.PRINTBILL_SELLCHANCE;

        SellChanceModel modelMRP = new SellChanceModel();

        modelMRP.CompanyCD = ((UserInfoUtil)SessionUtil.Session["UserInfo"]).CompanyCD;
        modelMRP.ChanceNo  = this.ChanceNo;

        /*此处需注意在模板设置表里的字段和取基本信息的字段是否一致*/
        string[,] aBase =
        {
            { "{ExtField1}",  "ExtField1"       },
            { "{ExtField2}",  "ExtField2"       },
            { "{ExtField3}",  "ExtField3"       },
            { "{ExtField4}",  "ExtField4"       },
            { "{ExtField5}",  "ExtField5"       },
            { "{ExtField6}",  "ExtField6"       },
            { "{ExtField7}",  "ExtField7"       },
            { "{ExtField8}",  "ExtField8"       },
            { "{ExtField9}",  "ExtField9"       },
            { "{ExtField10}", "ExtField10"      },

            { "机会编号",         "ChanceNo"        },
            { "机会主题",         "Title"           },
            { "机会类型",         "ChanceTypeName"  },

            { "客户名称",         "CustName"        },
            { "客户电话",         "CustTel"         },
            { "客户类型",         "CustTypeName"    },

            { "机会来源",         "HapSourceName"   },
            { "发现日期",         "FindDate"        },
            { "业务员",          "SellerName"      },

            { "部门",           "DeptName"        },
            { "提供人",          "ProvideMan"      },

            { "需求描述",         "Requires"        },

            { "可查看该机会人员",     "CanViewUserName" },
            { "提醒时间",         "RemindTime"      },
            { "提醒手机号",        "RemindMTel"      },
            { "接收人",          "ReceiverName"    },
            { "提醒内容",         "RemindContent"   },

            { "预期金额",         "IntendMoney"     },
            { "预期签单日",        "IntendDate"      },

            { "制单人",          "CreatorName"     },
            { "制单日期",         "CreateDate"      },
            { "最后更新人",        "ModifiedUserID"  },

            { "最后更新日期",       "ModifiedDate"    },
            { "是否被报价",        "IsQuotedName"    },

            { "备注",           "Remark"          },
        };

        string[,] aDetail =
        {
            { "阶段",   "PhaseName"    },
            { "日期",   "PushDate"     },
            { "业务员",  "EmployeeName" },
            { "状态",   "StateName"    },
            { "可能性",  "TypeName"     },
            { "阶段备注", "Remark"       },
        };
        #region 1.扩展属性
        int       countExt   = 0;
        DataTable dtExtTable = TableExtFieldsBus.GetAllList(((UserInfoUtil)SessionUtil.Session["UserInfo"]).CompanyCD, "", "officedba.SellChance");
        if (dtExtTable.Rows.Count > 0)
        {
            for (int i = 0; i < dtExtTable.Rows.Count; i++)
            {
                for (int x = 0; x < (aBase.Length / 2) - 15; x++)
                {
                    if (x == i)
                    {
                        aBase[x, 0] = dtExtTable.Rows[i]["EFDesc"].ToString();
                        countExt++;
                    }
                }
            }
        }
        #endregion

        DataTable dbPrint         = XBase.Business.Common.PrintParameterSettingBus.GetPrintParameterSettingInfo(model);
        DataTable dtMRP           = SellChanceBus.GetRepOrder(ChanceNo);       // SellPlanBus.GetRepOrder(PlanNo);
        DataTable dtDetail        = SellChanceBus.GetRepOrderDetail(ChanceNo); //SellPlanBus.GetOrderDetail(PlanNo);
        string    strBaseFields   = "";
        string    strDetailFields = "";

        if (dbPrint.Rows.Count > 0)
        {
            isSeted.Value   = "1";
            strBaseFields   = dbPrint.Rows[0]["BaseFields"].ToString();
            strDetailFields = dbPrint.Rows[0]["DetailFields"].ToString();
        }
        else
        {
            isSeted.Value = "0";
            strBaseFields = "ChanceNo|Title|ChanceTypeName|CustName|CustTel|CustTypeName|HapSourceName|FindDate|SellerName|DeptName|ProvideMan|Requires|CanViewUserName|RemindTime|RemindMTel|ReceiverName|RemindContent|IntendMoney|IntendDate|CreatorName|CreateDate|ModifiedUserID|ModifiedDate|IsQuotedName|Remark";
            /*基本信息字段+扩展信息字段*/
            if (countExt > 0)
            {
                for (int i = 0; i < countExt; i++)
                {
                    strBaseFields = strBaseFields + "|" + "ExtField" + (i + 1);
                }
            }

            strDetailFields = "PhaseName|PushDate|EmployeeName|StateName|TypeName|Remark";
        }

        #region 主表信息
        if (!string.IsNullOrEmpty(strBaseFields))
        {
            tableBase.InnerHtml = WritePrintPageTable("销售机会", strBaseFields, strDetailFields, aBase, aDetail, dtMRP, dtDetail, true);
        }
        #endregion

        #region 明细信息
        if (!string.IsNullOrEmpty(strDetailFields))
        {
            tableDetail.InnerHtml = WritePrintPageTable("销售机会", strBaseFields, strDetailFields, aBase, aDetail, dtMRP, dtDetail, false);
        }
        #endregion
    }