protected void bt_DIUP_Click(object sender, EventArgs e)
    {
        if ((int)ViewState["ClientID"] == 0)
        {
            MessageBox.Show(this, "对不起,请您先保存后在发起申请");
            return;
        }
        bt_OK_Click(null, null);

        CM_ClientBLL bll = new CM_ClientBLL((int)ViewState["ClientID"]);

        NameValueCollection dataobjects = new NameValueCollection();

        dataobjects.Add("ID", ViewState["ClientID"].ToString());
        dataobjects.Add("OrganizeCity", bll.Model.OrganizeCity.ToString());
        dataobjects.Add("ClientName", bll.Model.FullName.ToString());
        dataobjects.Add("OperateClassify", bll.Model["OperateClassify"]);
        dataobjects.Add("DIClassify", bll.Model["DIClassify"]);


        int TaskID = EWF_TaskBLL.NewTask("Distributor_Upgrade", (int)Session["UserID"], "分经销商转经销商,经销商名称:" + bll.Model.FullName, "~/SubModule/CM/DI/DistributorDetail.aspx?ClientID=" + ViewState["ClientID"].ToString(), dataobjects);

        if (TaskID > 0)
        {
            bll.Model["TaskID"] = TaskID.ToString();
            bll.Model["State"]  = "2";
            bll.Update();
            //new EWF_TaskBLL(TaskID).Start();        //直接启动流程
        }

        Response.Redirect("~/SubModule/EWF/Apply.aspx?TaskID=" + TaskID.ToString());
    }
    protected void bt_AddApply_Click(object sender, EventArgs e)
    {
        bt_OK_Click(null, null);
        if (CM_LinkManBLL.GetModelList("ClientID=" + ViewState["ClientID"].ToString()).Count == 0)
        {
            MessageBox.Show(this, "对不起,请至少提供一名客户联系人!");
            return;
        }
        CM_ClientBLL bll = new CM_ClientBLL((int)ViewState["ClientID"]);

        NameValueCollection dataobjects = new NameValueCollection();

        dataobjects.Add("ID", bll.Model.ID.ToString());
        dataobjects.Add("OrganizeCity", bll.Model.OrganizeCity.ToString());
        dataobjects.Add("ClientName", bll.Model.FullName);
        dataobjects.Add("Channel", bll.Model["RTChannel"]);
        dataobjects.Add("StoreAnalysis", bll.Model["Store_Analysis"]);
        dataobjects.Add("IsACClient", bll.Model["IsACClient"]);

        int TaskID = EWF_TaskBLL.NewTask("Add_Retailer", (int)Session["UserID"], "终端门店名称:" + bll.Model.FullName, "~/SubModule/CM/RT/RetailerDetail.aspx?ClientID=" + ViewState["ClientID"].ToString(), dataobjects);

        if (TaskID > 0)
        {
            bll.Model["TaskID"] = TaskID.ToString();
            bll.Model["State"]  = "2";
            bll.Update();
            //new EWF_TaskBLL(TaskID).Start();        //直接启动流程
        }

        Response.Redirect("~/SubModule/EWF/Apply.aspx?TaskID=" + TaskID.ToString());
    }
    protected void bt_AddApply_Click(object sender, EventArgs e)
    {
        bt_OK_Click(null, null);
        if (CM_LinkManBLL.GetModelList("ClientID=" + ViewState["ClientID"].ToString()).Count == 0)
        {
            MessageBox.Show(this, "对不起,请至少提供一名客户联系人!");
            return;
        }
        CM_ClientBLL bll = new CM_ClientBLL((int)ViewState["ClientID"]);

        NameValueCollection dataobjects = new NameValueCollection();
        dataobjects.Add("ID", bll.Model.ID.ToString());
        dataobjects.Add("OrganizeCity", bll.Model.OrganizeCity.ToString());
        dataobjects.Add("ClientName", bll.Model.FullName);
        dataobjects.Add("Channel", bll.Model["RTChannel"]);
        dataobjects.Add("StoreAnalysis", bll.Model["Store_Analysis"]);
        dataobjects.Add("IsACClient", bll.Model["IsACClient"]);

        int TaskID = EWF_TaskBLL.NewTask("Add_Retailer", (int)Session["UserID"], "终端门店名称:" + bll.Model.FullName, "~/SubModule/CM/RT/RetailerDetail.aspx?ClientID=" + ViewState["ClientID"].ToString(), dataobjects);
        if (TaskID > 0)
        {
            bll.Model["TaskID"] = TaskID.ToString();
            bll.Model["State"] = "2";
            bll.Update();
            //new EWF_TaskBLL(TaskID).Start();        //直接启动流程
        }

        Response.Redirect("~/SubModule/EWF/Apply.aspx?TaskID=" + TaskID.ToString());
    }
    protected void bt_RevocationApply_Click(object sender, EventArgs e)
    {
        CM_ClientBLL bll = new CM_ClientBLL((int)ViewState["ClientID"]);

        if (PM_PromotorInRetailerBLL.GetModelList("Client=" + bll.Model.ID.ToString() + " AND EXISTS(SELECT 1 FROM MCS_Promotor.dbo.PM_Promotor WHERE PM_Promotor.ID=PM_PromotorInRetailer.Promotor AND Dimission=1 AND ApproveFlag=1)").Count > 0)
        {
            MessageBox.Show(this, "该门店还有关联的导购,请转移或解除与该门店的关系!");
            return;
        }

        NameValueCollection dataobjects = new NameValueCollection();

        dataobjects.Add("ID", ViewState["ClientID"].ToString());
        dataobjects.Add("OrganizeCity", bll.Model.OrganizeCity.ToString());
        dataobjects.Add("ClientName", bll.Model.FullName.ToString());
        dataobjects.Add("Channel", bll.Model["RTChannel"]);
        dataobjects.Add("CloseTime", DateTime.Now.ToShortDateString());
        dataobjects.Add("Remark", "门店终止合作");
        dataobjects.Add("IsKeyClient", bll.Model["IsKeyClient"].ToString());


        int TaskID = EWF_TaskBLL.NewTask("Revocation_Retailer", (int)Session["UserID"], "撤销门店,名称:" + bll.Model.FullName, "~/SubModule/CM/RT/RetailerDetail.aspx?ClientID=" + ViewState["ClientID"].ToString(), dataobjects);

        if (TaskID > 0)
        {
            bll.Model["TaskID"] = TaskID.ToString();
            bll.Model["State"]  = "2";
            bll.Update();
        }

        Response.Redirect("~/SubModule/EWF/Apply.aspx?TaskID=" + TaskID.ToString());
    }
    protected void bt_AddApply_Click(object sender, EventArgs e)
    {
        bt_OK_Click(null, null);
        if ((int)ViewState["ClientID"] == 0)
        {
            MessageBox.Show(this, "对不起,请您先保存后在发起申请");
            return;
        }

        CM_ClientBLL bll = new CM_ClientBLL((int)ViewState["ClientID"]);

        NameValueCollection dataobjects = new NameValueCollection();
        dataobjects.Add("ID", ViewState["ClientID"].ToString());
        dataobjects.Add("OrganizeCity", bll.Model.OrganizeCity.ToString());
        dataobjects.Add("ClientName", bll.Model.FullName.ToString());
        dataobjects.Add("OperateClassify", bll.Model["OperateClassify"]);
        dataobjects.Add("DIClassify", bll.Model["DIClassify"]);

        int TaskID = EWF_TaskBLL.NewTask("Add_Distributor", (int)Session["UserID"], "新增经销商流程,经销商名称:" + bll.Model.FullName, "~/SubModule/CM/DI/DistributorDetail.aspx?ClientID=" + ViewState["ClientID"].ToString(), dataobjects);
        if (TaskID > 0)
        {
            bll.Model["TaskID"] = TaskID.ToString();
            bll.Model["State"] = "2";
            bll.Update();
            //new EWF_TaskBLL(TaskID).Start();        //直接启动流程
        }

        Response.Redirect("~/SubModule/EWF/Apply.aspx?TaskID=" + TaskID.ToString());
    }
Exemple #6
0
 protected void bt_Approve_Click(object sender, EventArgs e)
 {
     if ((int)ViewState["ClientID"] != 0)
     {
         CM_ClientBLL _bll = new CM_ClientBLL((int)ViewState["ClientID"]);
         _bll.Model.ApproveFlag = 1;
         _bll.Update();
         MessageBox.ShowAndRedirect(this, "审核仓库资料成功!", "StoreDetail.aspx?ClientID=" + ViewState["ClientID"].ToString());
     }
 }
 protected void bt_Approve_Click(object sender, EventArgs e)
 {
     if ((int)ViewState["ClientID"] != 0)
     {
         CM_ClientBLL _bll = new CM_ClientBLL((int)ViewState["ClientID"]);
         _bll.Model.ApproveFlag = 1;
         _bll.Update();
         MessageBox.ShowAndRedirect(this, "审核仓库资料成功!", "StoreDetail.aspx?ClientID=" + ViewState["ClientID"].ToString());
     }
 }
 protected void bt_Approve_Click(object sender, EventArgs e)
 {
     if ((int)ViewState["ClientID"] != 0)
     {
         CM_ClientBLL _bll = new CM_ClientBLL((int)ViewState["ClientID"]);
         _bll.Model.ActiveFlag = 1;
         if (_bll.Model.OpenTime.Year == 1900) _bll.Model.OpenTime = DateTime.Today;
         _bll.Model.CloseTime = new DateTime(1900, 1, 1);
         _bll.Model.ApproveFlag = 1;
         _bll.Update();
         MessageBox.ShowAndRedirect(this, "审核经销商资料成功!", "DistributorDetail.aspx?ClientID=" + ViewState["ClientID"].ToString());
     }
 }
 protected void bt_Approve_Click(object sender, EventArgs e)
 {
     if ((int)ViewState["ClientID"] != 0)
     {
         CM_ClientBLL _bll = new CM_ClientBLL((int)ViewState["ClientID"]);
         _bll.Model.ActiveFlag = 1;
         if (_bll.Model.OpenTime.Year == 1900)
         {
             _bll.Model.OpenTime = DateTime.Today;
         }
         _bll.Model.CloseTime   = new DateTime(1900, 1, 1);
         _bll.Model.ApproveFlag = 1;
         _bll.Update();
         MessageBox.ShowAndRedirect(this, "审核经销商资料成功!", "DistributorDetail.aspx?ClientID=" + ViewState["ClientID"].ToString());
     }
 }
    protected void bt_OK_Click(object sender, EventArgs e)
    {
        CM_ClientBLL _bll = null;
        int ClientID = (int)Session["OwnerClient"];

        _bll = new CM_ClientBLL(ClientID);

        pl_detail.GetData(_bll.Model);
        #region 判断修改项

        #endregion
        _bll.Model.UpdateStaff = (int)Session["UserID"];
        _bll.Model.OwnerClient = (int)Session["OwnerClient"];
        if(_bll.Update()==0)

        MessageBox.Show(this, "经销商资料修改成功!");
    }
Exemple #11
0
    protected void bt_OK_Click(object sender, EventArgs e)
    {
        CM_ClientBLL _bll     = null;
        int          ClientID = (int)Session["OwnerClient"];

        _bll = new CM_ClientBLL(ClientID);

        pl_detail.GetData(_bll.Model);
        #region 判断修改项

        #endregion
        _bll.Model.UpdateStaff = (int)Session["UserID"];
        _bll.Model.OwnerClient = (int)Session["OwnerClient"];
        if (_bll.Update() == 0)
        {
            MessageBox.Show(this, "经销商资料修改成功!");
        }
    }
    protected void bt_RevocationApply_Click(object sender, EventArgs e)
    {
        #region 判断有无下游客户
        if (CM_ClientBLL.GetModelList("Supplier=" + ViewState["ClientID"].ToString() + " AND ActiveFlag=1").Count > 0)
        {
            MessageBox.Show(this, "对不起,该经销商下还有活跃的下游分销商或门店,无法申请撤销!");
            return;
        }
        #endregion
        if (new FNA_FeeApplyBLL().GetDetail(@" Flag IN(1,2,4) AND AvailCost>0 AND EXISTS 
            (SELECT ID FROM MCS_FNA.dbo.FNA_FeeApply WHERE State=3 AND ApproveFlag=1 AND ID=FNA_FeeApplyDetail.ApplyID
            AND Client=" + ViewState["ClientID"] + ")").Count > 0)
        {
            MessageBox.Show(this, "该经销商下还有费用未做核销,请核销后再撤销!");
            return;
        }

        CM_ClientBLL        bll         = new CM_ClientBLL((int)ViewState["ClientID"]);
        NameValueCollection dataobjects = new NameValueCollection();
        dataobjects.Add("ID", ViewState["ClientID"].ToString());
        dataobjects.Add("OrganizeCity", bll.Model.OrganizeCity.ToString());
        dataobjects.Add("ClientName", bll.Model.FullName.ToString());
        dataobjects.Add("CloseTime", DateTime.Now.ToShortDateString());
        dataobjects.Add("Remark", "经销商终止合作");
        dataobjects.Add("OperateClassify", bll.Model["OperateClassify"]);
        dataobjects.Add("DIClassify", bll.Model["DIClassify"]);

        string Title  = TreeTableBLL.GetSuperNameByLevel("MCS_SYS.dbo.Addr_OrganizeCity", "ID", "Name", "SuperID", bll.Model.OrganizeCity, ConfigHelper.GetConfigInt("OrganizeCity-CityLevel")) + "-" + "经销商中止合作流程";//办事处+经分销商名称+中止流程
        int    TaskID = EWF_TaskBLL.NewTask("Revocation_Distributor", (int)Session["UserID"], Title, "~/SubModule/CM/DI/DistributorDetail.aspx?ClientID=" + ViewState["ClientID"].ToString(), dataobjects);
        if (TaskID > 0)
        {
            bll.Model["TaskID"] = TaskID.ToString();
            bll.Model["State"]  = "2";
            bll.Update();
        }

        Response.Redirect("~/SubModule/EWF/Apply.aspx?TaskID=" + TaskID.ToString());
    }
Exemple #13
0
    protected void bt_OK_Click(object sender, EventArgs e)
    {
        int ApproveCount = 0, UnApproveCount = 0, errcount = 0, LoseApproveCount = 0;

        string[] mixed;
        if (txt_OpenID.Text.Trim() != "")
        {
            string[] OpenID = Regex.Split(txt_OpenID.Text.Trim(), "\r\n", RegexOptions.IgnoreCase);

            if (txt_CloseID.Text.Trim() != "")
            {
                string[] CloseID = Regex.Split(txt_CloseID.Text.Trim(), "\r\n", RegexOptions.IgnoreCase);
                if (!CheckID(OpenID, CloseID, out mixed))
                {
                    MessageBox.Show(this, "ID为【" + mixed[0] + "】的门店ID同时出现在了【开通】与【关闭】编辑框中!");
                    return;
                }
            }
            if (txt_LoseID.Text.Trim() != "")
            {
                string[] LoseID = Regex.Split(txt_LoseID.Text.Trim(), "\r\n", RegexOptions.IgnoreCase);
                if (!CheckID(OpenID, LoseID, out mixed))
                {
                    MessageBox.Show(this, "ID为【" + mixed[0] + "】的门店ID同时出现在了【开通】与【失效】编辑框中!");
                    return;
                }
            }
        }
        if (txt_CloseID.Text.Trim() != "")
        {
            string[] CloseID = Regex.Split(txt_CloseID.Text.Trim(), "\r\n", RegexOptions.IgnoreCase);
            if (txt_LoseID.Text.Trim() != "")
            {
                string[] LoseID = Regex.Split(txt_LoseID.Text.Trim(), "\r\n", RegexOptions.IgnoreCase);
                if (!CheckID(CloseID, LoseID, out mixed))
                {
                    MessageBox.Show(this, "ID为【" + mixed[0] + "】的门店ID同时出现在了【关闭】与【失效】编辑框中!");
                    return;
                }
            }
        }
        if (txt_LoseID.Text.Trim() != "")
        {
            string[]      LoseID = Regex.Split(txt_LoseID.Text.Trim(), "\r\n", RegexOptions.IgnoreCase);
            CM_ClientBLL  _bll;
            StringBuilder approvebuild = new StringBuilder("");

            for (int i = 0; i < LoseID.Length; i++)
            {
                int Client;
                if (!LoseID[i].Trim().Equals("") && int.TryParse(LoseID[i].Trim(), out Client))
                {
                    _bll = new CM_ClientBLL(Client);
                    if (_bll.Model != null)
                    {
                        _bll.Model["ISFL"] = "3";
                        _bll.Update();
                        approvebuild.Append("ID为【" + Client.ToString() + "】的门店已失效返利  ");
                        ApproveCount++;
                    }
                    else
                    {
                        approvebuild.Append("<span style='color: Red'>ID为【" + Client.ToString() + "】的门店未能在系统中找到  </span> ");
                        errcount++;
                    }
                }
                else if (!LoseID[i].Trim().Equals("") && !int.TryParse(LoseID[i].Trim(), out Client))
                {
                    approvebuild.Append("<span style='color: Red'>【" + Client.ToString() + "】不是一个有效的门店ID  </span> ");
                    errcount++;
                }
                if (i % 5 == 0 && i != 0)
                {
                    approvebuild.Append("<br/>");
                }
            }
            lb_LoseErrorInfo.Text = approvebuild.ToString();
        }
        if (txt_OpenID.Text.Trim() != "")
        {
            string[]      OpenID = Regex.Split(txt_OpenID.Text.Trim(), "\r\n", RegexOptions.IgnoreCase);
            CM_ClientBLL  _bll;
            StringBuilder approvebuild = new StringBuilder("");

            for (int i = 0; i < OpenID.Length; i++)
            {
                int Client;
                if (!OpenID[i].Trim().Equals("") && int.TryParse(OpenID[i].Trim(), out Client))
                {
                    _bll = new CM_ClientBLL(Client);
                    if (_bll.Model != null)
                    {
                        _bll.Model["ISFL"] = "1";
                        _bll.Update();
                        approvebuild.Append("ID为【" + Client.ToString() + "】的门店已开通返利  ");
                        ApproveCount++;
                    }
                    else
                    {
                        approvebuild.Append("<span style='color: Red'>ID为【" + Client.ToString() + "】的门店未能在系统中找到  </span> ");
                        errcount++;
                    }
                }
                else if (!OpenID[i].Trim().Equals("") && !int.TryParse(OpenID[i].Trim(), out Client))
                {
                    approvebuild.Append("<span style='color: Red'>【" + Client.ToString() + "】不是一个有效的门店ID  </span> ");
                    errcount++;
                }
                if (i % 5 == 0 && i != 0)
                {
                    approvebuild.Append("<br/>");
                }
            }
            lb_OpenErrorInfo.Text = approvebuild.ToString();
        }
        if (txt_CloseID.Text.Trim() != "")
        {
            string[]      CloseID = Regex.Split(txt_CloseID.Text.Trim(), "\r\n", RegexOptions.IgnoreCase);
            CM_ClientBLL  _bll;
            StringBuilder unapprovebuild = new StringBuilder("");
            for (int i = 0; i < CloseID.Length; i++)
            {
                int Client;
                if (!CloseID[i].Trim().Equals("") && int.TryParse(CloseID[i].Trim(), out Client))
                {
                    _bll = new CM_ClientBLL(Client);
                    if (_bll.Model != null)
                    {
                        UnApproveCount++;
                        _bll.Model["ISFL"] = "2";
                        _bll.Update();
                        unapprovebuild.Append("ID为【" + Client.ToString() + "】的门店已关闭返利  ");
                    }
                    else
                    {
                        errcount++;
                        unapprovebuild.Append("<span style='color: Red'>ID为【" + Client.ToString() + "】的返利协议未能在系统中找到  </span>");
                    }
                }
                else if (!CloseID[i].Trim().Equals("") && !int.TryParse(CloseID[i].Trim(), out Client))
                {
                    unapprovebuild.Append("<span style='color: Red'>【" + Client.ToString() + "】不是一个有效的门店ID  </span>");
                    errcount++;
                }
                if (i % 5 == 0 && i != 0)
                {
                    unapprovebuild.Append("<br/>");
                }
            }
            lb_CloseErrorInfo.Text = unapprovebuild.ToString();
        }

        MessageBox.Show(this, "开通门店个数:" + ApproveCount.ToString() + @"\n关闭门店个数:" + UnApproveCount.ToString() +
                        @"\n失效门店个数:" + LoseApproveCount.ToString() + @"\n未能导入门店个数:" + errcount.ToString());
        return;
    }
    protected void bt_OK_Click(object sender, EventArgs e)
    {
        int ApproveCount = 0, UnApproveCount = 0, errcount = 0, LoseApproveCount = 0;

        string[] mixed;
        if (txt_OpenID.Text.Trim() != "")
        {
            string[] OpenID = Regex.Split(txt_OpenID.Text.Trim().Replace("\r\n", "\n").Replace(" ", "\n"), "\n", RegexOptions.IgnoreCase);

            if (txt_CloseID.Text.Trim() != "")
            {
                string[] CloseID = Regex.Split(txt_CloseID.Text.Trim().Replace("\r\n", "\n").Replace(" ", "\n"), "\n", RegexOptions.IgnoreCase);
                if (!CheckID(OpenID, CloseID, out mixed))
                {
                    MessageBox.Show(this, "客户代码为【" + mixed[0] + "】的客户代码同时出现在了【开通】与【关闭】编辑框中!");
                    return;
                }
            }
        }

        if (txt_OpenID.Text.Trim() != "")
        {
            string[]      OpenID = Regex.Split(txt_OpenID.Text.Trim().Replace("\r\n", "\n").Replace(" ", "\n"), "\n", RegexOptions.IgnoreCase);
            CM_ClientBLL  _bll;
            StringBuilder approvebuild = new StringBuilder("");

            for (int i = 0; i < OpenID.Length; i++)
            {
                if (!OpenID[i].Trim().Equals(""))
                {
                    IList <CM_Client> cmlist = CM_ClientBLL.GetModelList("Code='" + OpenID[i].Trim() + "'");

                    if (cmlist.Count > 0)
                    {
                        _bll = new CM_ClientBLL(cmlist[0].ID);
                        _bll.Model["IsRMSClient"]       = "3";
                        _bll.Model["RMSAccountEnabled"] = "1";
                        _bll.Update();
                        approvebuild.Append("客户代码为【" + OpenID[i].Trim() + "】的门店已开通积分");
                        ApproveCount++;
                    }
                    else
                    {
                        approvebuild.Append("<span style='color: Red'>客户代码为【" + OpenID[i].Trim() + "】的门店未能在系统中找到  </span> ");
                        errcount++;
                    }
                }
                else if (!OpenID[i].Trim().Equals(""))
                {
                    approvebuild.Append("<span style='color: Red'>【" + OpenID[i].Trim() + "】不是一个有效的客户代码</span> ");
                    errcount++;
                }
                if (i % 5 == 0 && i != 0)
                {
                    approvebuild.Append("<br/>");
                }
            }
            lb_OpenErrorInfo.Text = approvebuild.ToString();
        }
        if (txt_CloseID.Text.Trim() != "")
        {
            string[]      CloseID = Regex.Split(txt_CloseID.Text.Trim().Replace("\r\n", "\n").Replace(" ", "\n"), "\n", RegexOptions.IgnoreCase);
            CM_ClientBLL  _bll;
            StringBuilder unapprovebuild = new StringBuilder("");
            for (int i = 0; i < CloseID.Length; i++)
            {
                if (!CloseID[i].Trim().Equals(""))
                {
                    IList <CM_Client> cmlist = CM_ClientBLL.GetModelList("Code='" + CloseID[i].Trim() + "'");

                    if (cmlist.Count > 0)
                    {
                        _bll = new CM_ClientBLL(cmlist[0].ID);
                        _bll.Model["IsRMSClient"]       = "2";
                        _bll.Model["RMSAccountEnabled"] = "2";
                        _bll.Update();
                        unapprovebuild.Append("客户代码为【" + CloseID[i].Trim() + "】的门店已关闭积分");
                        UnApproveCount++;
                    }
                    else
                    {
                        errcount++;
                        unapprovebuild.Append("<span style='color: Red'>ID为【" + CloseID[i].Trim() + "】的返利协议未能在系统中找到  </span>");
                    }
                }
                else if (!CloseID[i].Trim().Equals(""))
                {
                    unapprovebuild.Append("<span style='color: Red'>【" + CloseID[i].Trim() + "】不是一个有效的客户代码  </span>");
                    errcount++;
                }
                if (i % 5 == 0 && i != 0)
                {
                    unapprovebuild.Append("<br/>");
                }
            }
            lb_CloseErrorInfo.Text = unapprovebuild.ToString();
        }

        MessageBox.Show(this, "开通积分门店个数:" + ApproveCount.ToString() + @"\n关闭积分门店个数:" + UnApproveCount.ToString() +
                        @"\n未能导入门店个数:" + errcount.ToString());
        return;
    }
    protected void bt_RevocationApply_Click(object sender, EventArgs e)
    {
        #region 判断有无下游客户
        if (CM_ClientBLL.GetModelList("Supplier=" + ViewState["ClientID"].ToString() + " AND ActiveFlag=1").Count > 0)
        {
            MessageBox.Show(this, "对不起,该经销商下还有活跃的下游分销商或门店,无法申请撤销!");
            return;
        }
        #endregion
        if (new FNA_FeeApplyBLL().GetDetail(@" Flag IN(1,2,4) AND AvailCost>0 AND EXISTS
            (SELECT ID FROM MCS_FNA.dbo.FNA_FeeApply WHERE State=3 AND ApproveFlag=1 AND ID=FNA_FeeApplyDetail.ApplyID
            AND Client=" + ViewState["ClientID"] + ")").Count > 0)
        {
            MessageBox.Show(this, "该经销商下还有费用未做核销,请核销后再撤销!");
            return;
        }

        CM_ClientBLL bll = new CM_ClientBLL((int)ViewState["ClientID"]);
        NameValueCollection dataobjects = new NameValueCollection();
        dataobjects.Add("ID", ViewState["ClientID"].ToString());
        dataobjects.Add("OrganizeCity", bll.Model.OrganizeCity.ToString());
        dataobjects.Add("ClientName", bll.Model.FullName.ToString());
        dataobjects.Add("CloseTime", DateTime.Now.ToShortDateString());
        dataobjects.Add("Remark", "经销商终止合作");
        dataobjects.Add("OperateClassify", bll.Model["OperateClassify"]);
        dataobjects.Add("DIClassify", bll.Model["DIClassify"]);

        string Title = TreeTableBLL.GetSuperNameByLevel("MCS_SYS.dbo.Addr_OrganizeCity", "ID", "Name", "SuperID", bll.Model.OrganizeCity, ConfigHelper.GetConfigInt("OrganizeCity-CityLevel")) + "-" + "经销商中止合作流程";//办事处+经分销商名称+中止流程
        int TaskID = EWF_TaskBLL.NewTask("Revocation_Distributor", (int)Session["UserID"], Title, "~/SubModule/CM/DI/DistributorDetail.aspx?ClientID=" + ViewState["ClientID"].ToString(), dataobjects);
        if (TaskID > 0)
        {
            bll.Model["TaskID"] = TaskID.ToString();
            bll.Model["State"] = "2";
            bll.Update();
        }

        Response.Redirect("~/SubModule/EWF/Apply.aspx?TaskID=" + TaskID.ToString());
    }
    protected void bt_RevocationApply_Click(object sender, EventArgs e)
    {
        CM_ClientBLL bll = new CM_ClientBLL((int)ViewState["ClientID"]);

        if (PM_PromotorInRetailerBLL.GetModelList("Client=" + bll.Model.ID.ToString() + " AND EXISTS(SELECT 1 FROM MCS_Promotor.dbo.PM_Promotor WHERE PM_Promotor.ID=PM_PromotorInRetailer.Promotor AND Dimission=1 AND ApproveFlag=1)").Count > 0)
        {
            MessageBox.Show(this, "该门店还有关联的导购,请转移或解除与该门店的关系!");
            return;
        }

        NameValueCollection dataobjects = new NameValueCollection();
        dataobjects.Add("ID", ViewState["ClientID"].ToString());
        dataobjects.Add("OrganizeCity", bll.Model.OrganizeCity.ToString());
        dataobjects.Add("ClientName", bll.Model.FullName.ToString());
        dataobjects.Add("Channel", bll.Model["RTChannel"]);
        dataobjects.Add("CloseTime", DateTime.Now.ToShortDateString());
        dataobjects.Add("Remark", "门店终止合作");
        dataobjects.Add("IsKeyClient", bll.Model["IsKeyClient"].ToString());

        int TaskID = EWF_TaskBLL.NewTask("Revocation_Retailer", (int)Session["UserID"], "撤销门店,名称:" + bll.Model.FullName, "~/SubModule/CM/RT/RetailerDetail.aspx?ClientID=" + ViewState["ClientID"].ToString(), dataobjects);
        if (TaskID > 0)
        {
            bll.Model["TaskID"] = TaskID.ToString();
            bll.Model["State"] = "2";
            bll.Update();
        }

        Response.Redirect("~/SubModule/EWF/Apply.aspx?TaskID=" + TaskID.ToString());
    }
    protected void bt_OK_Click(object sender, EventArgs e)
    {
        int ApproveCount = 0, UnApproveCount = 0, errcount = 0, LoseApproveCount = 0;
        string[] mixed;
        if (txt_OpenID.Text.Trim() != "")
        {
            string[] OpenID = Regex.Split(txt_OpenID.Text.Trim().Replace("\r\n", "\n").Replace(" ", "\n"), "\n", RegexOptions.IgnoreCase);

            if (txt_CloseID.Text.Trim() != "")
            {
                string[] CloseID = Regex.Split(txt_CloseID.Text.Trim().Replace("\r\n", "\n").Replace(" ", "\n"), "\n", RegexOptions.IgnoreCase);
                if (!CheckID(OpenID, CloseID, out mixed))
                {
                    MessageBox.Show(this, "客户代码为【" + mixed[0] + "】的客户代码同时出现在了【开通】与【关闭】编辑框中!");
                    return;
                }
            }

        }

        if (txt_OpenID.Text.Trim() != "")
        {
            string[] OpenID = Regex.Split(txt_OpenID.Text.Trim().Replace("\r\n", "\n").Replace(" ", "\n"), "\n", RegexOptions.IgnoreCase);
            CM_ClientBLL _bll;
            StringBuilder approvebuild = new StringBuilder("");

            for (int i = 0; i < OpenID.Length; i++)
            {

                if (!OpenID[i].Trim().Equals(""))
                {
                    IList<CM_Client> cmlist = CM_ClientBLL.GetModelList("Code='" + OpenID[i].Trim()+"'");

                    if (cmlist.Count > 0)
                    {
                        _bll = new CM_ClientBLL(cmlist[0].ID);
                        _bll.Model["IsRMSClient"] = "3";
                        _bll.Model["RMSAccountEnabled"] = "1";
                        _bll.Update();
                        approvebuild.Append("客户代码为【" + OpenID[i].Trim() + "】的门店已开通积分");
                        ApproveCount++;
                    }
                    else
                    {
                        approvebuild.Append("<span style='color: Red'>客户代码为【" + OpenID[i].Trim() + "】的门店未能在系统中找到  </span> ");
                        errcount++;
                    }

                }
                else if (!OpenID[i].Trim().Equals(""))
                {
                    approvebuild.Append("<span style='color: Red'>【" + OpenID[i].Trim() + "】不是一个有效的客户代码</span> ");
                    errcount++;
                }
                if (i % 5 == 0 && i != 0) approvebuild.Append("<br/>");
            }
            lb_OpenErrorInfo.Text = approvebuild.ToString();
        }
        if (txt_CloseID.Text.Trim() != "")
        {
            string[] CloseID = Regex.Split(txt_CloseID.Text.Trim().Replace("\r\n", "\n").Replace(" ", "\n"), "\n", RegexOptions.IgnoreCase);
            CM_ClientBLL _bll;
            StringBuilder unapprovebuild = new StringBuilder("");
            for (int i = 0; i < CloseID.Length; i++)
            {

                if (!CloseID[i].Trim().Equals(""))
                {
                    IList<CM_Client> cmlist = CM_ClientBLL.GetModelList("Code='" + CloseID[i].Trim() + "'");

                    if (cmlist.Count > 0)
                    {
                        _bll = new CM_ClientBLL(cmlist[0].ID);
                        _bll.Model["IsRMSClient"] = "2";
                        _bll.Model["RMSAccountEnabled"] = "2";
                        _bll.Update();
                        unapprovebuild.Append("客户代码为【" + CloseID[i].Trim() + "】的门店已关闭积分");
                        UnApproveCount++;
                    }
                    else
                    {
                        errcount++;
                        unapprovebuild.Append("<span style='color: Red'>ID为【" + CloseID[i].Trim() + "】的返利协议未能在系统中找到  </span>");
                    }

                }
                else if (!CloseID[i].Trim().Equals(""))
                {
                    unapprovebuild.Append("<span style='color: Red'>【" + CloseID[i].Trim() + "】不是一个有效的客户代码  </span>");
                    errcount++;
                }
                if (i % 5 == 0 && i != 0) unapprovebuild.Append("<br/>");

            }
            lb_CloseErrorInfo.Text = unapprovebuild.ToString();
        }

        MessageBox.Show(this, "开通积分门店个数:" + ApproveCount.ToString() + @"\n关闭积分门店个数:" + UnApproveCount.ToString() +
                       @"\n未能导入门店个数:" + errcount.ToString());
        return;
    }
        /// <summary>
        /// 新增门店资料
        /// </summary>
        /// <param name="User">用户</param>
        /// <param name="TDP"></param>
        /// <param name="ClientJson">门店资料Json</param>
        /// <returns>大于0:新增的门店ID -1:Json字符串无法解析 -2:所属经销商无效 -3:更新门店基本资料失败</returns>
        public static int RetailerUpdate(UserInfo User, int TDP, ClientInfo Client, out string ErrorInfo)
        {
            ErrorInfo = "";
            LogWriter.WriteLog("PBMIFService.RetailerUpdate:UserName="******",TDP=" + TDP.ToString()
                + ",ClientInfo=" + JsonConvert.SerializeObject(Client));
            if (User.OwnerType == 3) TDP = User.ClientID;

            try
            {
                ClientInfo c = Client;
                if (c == null) { ErrorInfo = "Json字符串无法解析"; return -1; }        //Json字符串无法解析

                CM_Client TDPClient = new CM_ClientBLL(TDP).Model;
                if (TDPClient == null) { ErrorInfo = "所属经销商无效"; return -2; }   //所属经销商无效

                #region 判断必填与重复检测
                if (c.FullName == "") { ErrorInfo = "门店名称必填"; return -10; }
                if (c.Mobile == "") { ErrorInfo = "联系电话必填"; return -10; }
                if (c.Address == "") { ErrorInfo = "门店地址必填"; return -10; }

                if (c.Mobile.StartsWith("01")) c.Mobile = c.Mobile.Substring(1);
                if (c.TeleNum.Contains("-")) c.TeleNum = c.TeleNum.Replace("-", "");
                if (c.Mobile.Contains("-")) c.Mobile = c.Mobile.Replace("-", "");

                //检查门店资料重复
                int rptclientid = CM_ClientBLL.CheckRepeat(TDP, Client.ID, c.Mobile, c.TeleNum, c.FullName, c.Address);
                if (rptclientid > 0)
                {
                    CM_Client _rptclient = new CM_ClientBLL(rptclientid).Model;
                    ErrorInfo = "门店资料与[" + _rptclient.FullName + "]资料重复,请勿重复新增!";
                    return -11;
                }
                #endregion

                CM_ClientBLL bll = new CM_ClientBLL(c.ID);

                #region 门店基本资料
                bll.Model.Code = c.Code;
                bll.Model.FullName = c.FullName != "" ? c.FullName : c.ShortName;
                bll.Model.ShortName = c.ShortName == "" ? c.FullName : c.ShortName;

                if (c.OfficialCity > 0)
                    bll.Model.OfficialCity = c.OfficialCity;
                else
                    bll.Model.OfficialCity = TDPClient.OfficialCity;

                if (bll.Model.DeliveryAddress == bll.Model.Address)
                    bll.Model.DeliveryAddress = c.Address;
                bll.Model.Address = c.Address;

                bll.Model.LinkManName = c.LinkManName;
                bll.Model.TeleNum = c.TeleNum == "" ? c.Mobile : c.TeleNum;
                if (c.Mobile.StartsWith("1") && c.Mobile.Length == 11) bll.Model.Mobile = c.Mobile;
                bll.Model.UpdateStaff = User.StaffID;
                #endregion

                int retailerid = bll.Update();
                if (retailerid < 0) return -3;      //更新门店基本资料失败

                #region 设置供货商信息
                CM_ClientSupplierInfo supplierinfo = bll.GetSupplierInfo(TDP);
                supplierinfo.Code = c.CodeBySupplier;
                supplierinfo.StandardPrice = c.StandardPrice;
                supplierinfo.TDPChannel = c.TDPChannel;
                supplierinfo.TDPSalesArea = c.TDPSalesArea;
                supplierinfo.VisitRoute = c.VisitRoute;
                supplierinfo.VisitSequence = c.VisitSequence;
                supplierinfo.VisitTemplate = c.VisitTemplate;
                supplierinfo.UpdateStaff = User.StaffID;
                bll.SetSupplierInfo(supplierinfo);
                #endregion

                #region 设置厂商管理信息
                #endregion

                return 0;
            }
            catch (System.Exception err)
            {
                LogWriter.WriteLog("PBMIFService.RetailerAdd Exception Error!", err);
                return -100;
            }
        }
Exemple #19
0
        private void threadStartImport(BackgroundWorker worker, DoWorkEventArgs e)
        {
            DataTable dt_OfficialCity = Addr_OfficialCityBLL.GetAllOfficialCity();
            DataTable dt_OrganizeCity = Addr_OrganizeCityBLL.GetAllOrganizeCity();
            DataTable dt_Position = Org_PositionBLL.GetAllPostion();
            bool bFind = false;

            StringBuilder _xhs_success = new StringBuilder("");//成功导入的记录序号(用于定期批量更新导入标志)
            string XH = "";

            #region 导入销售人员资料
            try
            {
                if (cbx_Promotor.Checked)
                {
                    lb_Count.Text = dt_SalesStaff.Rows.Count.ToString();
                    tabControl1.SelectedIndex = 0;
                    XH = "";
                    for (int i = 0; i < dt_SalesStaff.Rows.Count; i++)
                    {
                        worker.ReportProgress((i + 1) * 100 / this.dt_SalesStaff.Rows.Count, i);
                        if (worker.CancellationPending)
                        {
                            e.Cancel = true;
                            break;
                        }
                        XH = dt_SalesStaff.Rows[i]["序号"].ToString();
                        Org_StaffBLL staff = new Org_StaffBLL();

                        //序号
                        if (dt_SalesStaff.Rows[i]["员工工号"].ToString() != "")
                            staff.Model["StaffCode"] = dt_SalesStaff.Rows[i]["员工工号"].ToString();
                        else
                            staff.Model["StaffCode"] = FormatClientCode('S', dt_SalesStaff.Rows[i]["序号"].ToString().Trim(), dt_SalesStaff.Rows[i]["管理片区代码"].ToString().Trim());

                        #region 判断数据是否重复
                        if (Org_StaffBLL.GetStaffList("StaffCode = '" + staff.Model["StaffCode"] + "'").Count > 0)
                        {
                            UpdateImportFlag(1, i, "导入失败,数据重复!");
                            continue;
                        }
                        #endregion

                        //姓名
                        staff.Model["RealName"] = dt_SalesStaff.Rows[i]["姓名"].ToString().Trim();

                        //职务
                        DataRow[] rows_Position = dt_Position.Select("Name = '" + dt_SalesStaff.Rows[i]["职务"].ToString().Trim() + "'");
                        if (rows_Position.Length == 0)
                        {
                            UpdateImportFlag(1, i, "导入失败,职务在系统字典中不存在!");
                            continue;
                        }
                        else
                            staff.Model["Position"] = rows_Position[0]["ID"].ToString().Trim();

                        //管理片区代码
                        DataRow[] rows_OrganizeCity = dt_OrganizeCity.Select("Code='" + dt_SalesStaff.Rows[i]["管理片区代码"].ToString().Trim() + "'");
                        if (rows_OrganizeCity.Length == 0)
                        {
                            UpdateImportFlag(1, i, "导入失败,管理片区代码在系统字典中不存在!");
                            continue;
                        }
                        else
                            staff.Model["OrganizeCity"] = rows_OrganizeCity[0]["ID"].ToString().Trim();

                        //性别
                        staff.Model["Sex"] = dt_SalesStaff.Rows[i]["性别"].ToString();
                        //bFind = false;
                        //foreach (Dictionary_Data item in DictionaryBLL.GetDicCollections("Pub_Sex").Values)
                        //{
                        //    if (item.Name == dt_SalesStaff.Rows[i]["性别"].ToString().Trim())
                        //    {
                        //        staff.Model["Sex"] = item.Code;
                        //        bFind = true;
                        //        break;
                        //    }
                        //}
                        //if (!bFind)
                        //{
                        //    UpdateImportFlag(1, i, "导入失败,性别在系统字典中不存在!");
                        //    continue;
                        //}

                        //联系电话
                        staff.Model["TeleNum"] = dt_SalesStaff.Rows[i]["联系电话"].ToString().Trim();

                        //手机
                        staff.Model["Mobile"] = dt_SalesStaff.Rows[i]["手机"].ToString().Trim();

                        //城市
                        string cityname = dt_SalesStaff.Rows[i]["城市"].ToString().Trim();
                        if (cityname.Length > 3) cityname = cityname.Substring(0, 3);
                        DataRow[] rows_OfficialCity = dt_OfficialCity.Select("Name like '" + cityname + "%'");
                        if (rows_OfficialCity.Length == 0)
                        {
                            UpdateImportFlag(1, i, "导入失败,城市在系统字典中不存在!");
                            continue;
                        }
                        else
                            staff.Model["OfficialCity"] = rows_OfficialCity[0]["ID"].ToString().Trim();

                        //家庭地址
                        staff.Model["Address"] = dt_SalesStaff.Rows[i]["家庭地址"].ToString().Trim();

                        //身份证号
                        staff.Model["IDCode"] = dt_SalesStaff.Rows[i]["身份证号"].ToString().Trim();

                        //上岗时间
                        if (dt_SalesStaff.Rows[i]["上岗时间"].ToString().Trim() != "")
                            staff.Model["BeginWorkTime"] = dt_SalesStaff.Rows[i]["上岗时间"].ToString().Trim();

                        //离岗时间
                        if (dt_SalesStaff.Rows[i]["离岗时间"].ToString().Trim() != "")
                            staff.Model["EndWorkTime"] = dt_SalesStaff.Rows[i]["离岗时间"].ToString().Trim();

                        //银行类别
                        staff.Model["BankName"] = dt_SalesStaff.Rows[i]["银行类别"].ToString().Trim();

                        //工资卡号
                        staff.Model["BankAccount"] = dt_SalesStaff.Rows[i]["工资卡号"].ToString().Trim();

                        //在职标志
                        staff.Model["Dimission"] = "1";

                        int iret = staff.Add();
                        if (iret > 0)
                        {
                            _xhs_success.Append(XH + ",");
                            //UpdateImportFlag(1, i, "导入成功,ID=" + iret.ToString());

                            #region 创建用户登录帐户
                            string username = staff.Model.RealName;
                            string pwd = "000000";
                            MembershipUserCollection haveusers = Membership.FindUsersByName(username);
                            if (haveusers.Count > 0)
                            {
                                username += "_" + haveusers.Count.ToString();
                            }
                            if (staff.Model["IDCode"].Length >= 6)
                                pwd = staff.Model["IDCode"].Substring(staff.Model["IDCode"].Length - 6);

                            MembershipUser user = Membership.CreateUser(username, pwd, "*****@*****.**");

                            if (user != null)
                            {
                                UserBLL.Membership_SetStaffID(user.UserName, iret);

                                Roles.AddUserToRole(user.UserName, " 全体员工");
                            }
                            #endregion
                        }
                        else
                            UpdateImportFlag(1, i, "导入失败,写入数据库失败!");
                    }
                    UpdateSuccess(_xhs_success.ToString(), 1);
                }
            }
            catch (System.Exception err)
            {
                UpdateSuccess(_xhs_success.ToString(), 1);
                MessageBox.Show(err.Source + "~r~n" + err.StackTrace, err.Message);
            }
            #endregion

            Thread.Sleep(1000);

            #region 导入经销商
            try
            {
                if (checkBox2.Checked)
                {
                    lb_Count.Text = dt_Distributor.Rows.Count.ToString();
                    tabControl1.SelectedIndex = 1;
                    XH = "";
                    for (int i = 0; i < dt_Distributor.Rows.Count; i++)
                    {
                        worker.ReportProgress((i + 1) * 100 / this.dt_Distributor.Rows.Count, i);

                        if (worker.CancellationPending)
                        {
                            e.Cancel = true;
                            break;
                        }
                        XH = dt_Distributor.Rows[i]["序号"].ToString();
                        CM_ClientBLL client = new CM_ClientBLL();

                        client.Model.ClientType = 2;    //经销商

                        #region 编号
                        if (dt_Distributor.Rows[i]["经销商编号"].ToString().Trim() != "")
                            client.Model["Code"] = dt_Distributor.Rows[i]["经销商编号"].ToString().Trim();
                        else
                            client.Model["Code"] = FormatClientCode('D', dt_Distributor.Rows[i]["序号"].ToString().Trim(), dt_Distributor.Rows[i]["管理片区代码"].ToString().Trim());

                        #region 判断数据是否重复
                        if (CM_ClientBLL.GetModelList("Code = '" + client.Model["Code"] + "'").Count > 0)
                        {
                            UpdateImportFlag(2, i, "导入失败,数据重复!");
                            continue;
                        }
                        #endregion
                        #endregion

                        //全称
                        client.Model["FullName"] = dt_Distributor.Rows[i]["全称"].ToString().Trim();
                        client.Model["ShortName"] = dt_Distributor.Rows[i]["简称"].ToString().Trim();

                        #region 管理片区代码
                        DataRow[] rows_OrganizeCity = dt_OrganizeCity.Select("Code='" + dt_Distributor.Rows[i]["管理片区代码"].ToString().Trim() + "'");
                        if (rows_OrganizeCity.Length == 0)
                        {
                            UpdateImportFlag(2, i, "导入失败,管理片区代码在系统字典中不存在!");
                            continue;
                        }
                        else
                            client.Model["OrganizeCity"] = rows_OrganizeCity[0]["ID"].ToString().Trim();
                        #endregion

                        #region 联系方式
                        client.Model["TeleNum"] = dt_Distributor.Rows[i]["固定电话"].ToString().Trim();
                        client.Model["Fax"] = dt_Distributor.Rows[i]["传真"].ToString().Trim();
                        client.Model["PostCode"] = dt_Distributor.Rows[i]["邮编"].ToString().Trim();
                        client.Model["Email"] = dt_Distributor.Rows[i]["Email"].ToString().Trim();
                        client.Model["Address"] = dt_Distributor.Rows[i]["地址"].ToString().Trim();
                        #endregion

                        #region 所在城市
                        string cityname = dt_Distributor.Rows[i]["城市"].ToString().Trim();
                        string areaname = dt_Distributor.Rows[i]["县城"].ToString().Trim();
                        if (areaname != "")
                        {
                            DataRow[] rows_OfficialCity = dt_OfficialCity.Select("Name like '" + areaname + "%'");
                            if (rows_OfficialCity.Length == 1)
                                client.Model.OfficalCity = int.Parse(rows_OfficialCity[0]["ID"].ToString().Trim());
                        }
                        if (cityname != "" && client.Model.OfficalCity == 0)
                        {
                            DataRow[] rows_OfficialCity = dt_OfficialCity.Select("Name like '" + cityname + "%'");
                            if (rows_OfficialCity.Length == 1)
                                client.Model.OfficalCity = int.Parse(rows_OfficialCity[0]["ID"].ToString().Trim());
                        }

                        if (client.Model["TeleNum"] != "" && client.Model.OfficalCity == 0)
                        {
                            Addr_OfficialCity city = null;
                            city = Addr_OfficialCityBLL.GetCityByTeleNumOrPostCode(client.Model["TeleNum"]);
                            if (city != null) client.Model.OfficalCity = city.ID;
                        }

                        if (client.Model["PostCode"] != "" && client.Model.OfficalCity == 0)
                        {
                            Addr_OfficialCity city = null;
                            city = Addr_OfficialCityBLL.GetCityByTeleNumOrPostCode(client.Model["PostCode"]);
                            if (city != null) client.Model.OfficalCity = city.ID;
                        }

                        if (dt_Distributor.Rows[i]["手机"].ToString().Trim() != "" && client.Model.OfficalCity == 0)
                        {
                            Addr_OfficialCity city = null;
                            city = Addr_OfficialCityBLL.GetCityByTeleNumOrPostCode(dt_Distributor.Rows[i]["手机"].ToString().Trim());
                            if (city != null) client.Model.OfficalCity = city.ID;
                        }

                        if (client.Model.OfficalCity == 0)
                        {
                            UpdateImportFlag(2, i, "导入失败,城市在系统字典中不存在!");
                            continue;
                        }
                        #endregion

                        #region 经销商类别
                        bFind = false;
                        foreach (Dictionary_Data item in DictionaryBLL.GetDicCollections("CM_DI_Classify").Values)
                        {
                            if (item.Name == dt_Distributor.Rows[i]["类别"].ToString().Trim())
                            {
                                client.Model["DIClassify"] = item.Code;
                                bFind = true;
                                break;
                            }
                        }
                        if (!bFind)
                        {
                            UpdateImportFlag(2, i, "导入失败,类别在系统字典中不存在!");
                            continue;
                        }

                        #endregion

                        #region 活跃状态
                        bFind = false;
                        foreach (Dictionary_Data item in DictionaryBLL.GetDicCollections("CM_ActiveFlag").Values)
                        {
                            if (item.Name == dt_Distributor.Rows[i]["活跃状态"].ToString().Trim())
                            {
                                client.Model["ActiveFlag"] = item.Code;
                                bFind = true;
                                break;
                            }
                        }
                        if (!bFind)
                        {
                            UpdateImportFlag(2, i, "导入失败,活跃状态在系统字典中不存在!");
                            continue;
                        }
                        #endregion

                        #region 纳税类型
                        if (dt_Distributor.Rows[i]["纳税类型"].ToString().Trim() != "")
                        {
                            bFind = false;
                            foreach (Dictionary_Data item in DictionaryBLL.GetDicCollections("CM_TaxesClassify").Values)
                            {
                                if (item.Name == dt_Distributor.Rows[i]["纳税类型"].ToString().Trim())
                                {
                                    client.Model["TaxesClassify"] = item.Code;
                                    bFind = true;
                                    break;
                                }
                            }
                            if (!bFind)
                            {
                                UpdateImportFlag(2, i, "导入失败,纳税类型在系统字典中不存在!");
                                continue;
                            }
                        }
                        #endregion

                        #region 市场类型
                        if (dt_Distributor.Rows[i]["市场类型"].ToString().Trim() != "")
                        {
                            bFind = false;
                            foreach (Dictionary_Data item in DictionaryBLL.GetDicCollections("CM_MarketType").Values)
                            {
                                if (item.Name == dt_Distributor.Rows[i]["市场类型"].ToString().Trim())
                                {
                                    client.Model["MarketType"] = item.Code;
                                    bFind = true;
                                    break;
                                }
                            }
                            if (!bFind)
                            {
                                UpdateImportFlag(2, i, "导入失败,市场类型在系统字典中不存在!");
                                continue;
                            }
                        }
                        #endregion

                        #region 主营渠道
                        if (dt_Distributor.Rows[i]["主营渠道"].ToString().Trim() != "")
                        {
                            bFind = false;
                            foreach (Dictionary_Data item in DictionaryBLL.GetDicCollections("CM_RT_Channel").Values)
                            {
                                if (item.Name == dt_Distributor.Rows[i]["主营渠道"].ToString().Trim())
                                {
                                    client.Model["RTChannel"] = item.Code;
                                    bFind = true;
                                    break;
                                }
                            }
                            if (!bFind)
                            {
                                UpdateImportFlag(2, i, "导入失败,主营渠道在系统字典中不存在!");
                                continue;
                            }
                        }
                        #endregion

                        //开始合作时间
                        if (dt_Distributor.Rows[i]["开始合作时间"].ToString().Trim() != "")
                            client.Model["OpenTime"] = dt_Distributor.Rows[i]["开始合作时间"].ToString().Trim();

                        //覆盖区域
                        client.Model["CoverageArea"] = dt_Distributor.Rows[i]["覆盖区域"].ToString().Trim();

                        //主要销售奶粉品牌
                        client.Model["MostlyBrand"] = dt_Distributor.Rows[i]["主要销售奶粉品牌"].ToString().Trim();

                        //开户行类别
                        client.Model["BankName"] = dt_Distributor.Rows[i]["开户行类别"].ToString().Trim();
                        //开户行账号
                        client.Model["BankAccountNo"] = dt_Distributor.Rows[i]["开户行账号"].ToString().Trim();

                        #region 隶属一级商编号
                        if (client.Model["DIClassify"] != "1" && dt_Distributor.Rows[i]["隶属一级商编号"].ToString().Trim() != "")
                        {
                            IList<CM_Client> lists = CM_ClientBLL.GetModelList("Code='" + dt_Distributor.Rows[i]["隶属一级商编号"].ToString().Trim() + "'");
                            if (lists.Count > 0)
                            {
                                client.Model["Supplier"] = lists[0]["ID"];
                            }
                            else
                            {
                                //UpdateImportFlag(2, i, "导入失败,隶属一级商编号在客户中不存在!");
                                //continue;
                            }
                        }
                        else if (client.Model["DIClassify"] == "1")
                        {
                            client.Model.Supplier = 1223; //总部仓库
                        }
                        #endregion

                        #region 责任业代
                        bool fail1 = false;
                        if (dt_Distributor.Rows[i]["责任业代"].ToString().Trim() != "")
                        {
                            string cityids = new Addr_OrganizeCityBLL(client.Model.OrganizeCity).GetAllChildNodeIDs();
                            if (cityids != "") cityids += ",";
                            cityids += client.Model.OrganizeCity.ToString();

                            IList<Org_Staff> staffs = Org_StaffBLL.GetStaffList("OrganizeCity IN(" + cityids + ") AND RealName='" + dt_Distributor.Rows[i]["责任业代"].ToString().Trim() + "' AND Dimission=1");
                            if (staffs.Count == 1)
                                client.Model.ClientManager = staffs[0].ID;
                            else
                            {
                                fail1 = true;
                                //UpdateImportFlag(2, i, "导入失败,责任业代在员工表中不存在!" + staffs.Count.ToString());
                                //continue;
                            }
                        }
                        #endregion

                        client.Model.ApproveFlag = 1;
                        int iret = client.Add();
                        if (iret > 0)
                        {
                            //_xhs_success.Append(XH + ",");
                            if (!fail1)
                                UpdateImportFlag(2, i, "导入成功,ID=" + iret.ToString());
                            else
                                UpdateImportFlag(2, i, "部分导入成功,责任业代在员工表中不存在!");
                        }
                        else
                        {
                            UpdateImportFlag(2, i, "导入失败,写入数据库失败!");
                            continue;
                        }

                        #region 加入联系人
                        CM_LinkManBLL linkman = new CM_LinkManBLL();
                        linkman.Model.ClientID = iret;

                        #region 负责人
                        if (dt_Distributor.Rows[i]["负责人"].ToString().Trim() != "")
                        {
                            linkman.Model["Name"] = dt_Distributor.Rows[i]["负责人"].ToString().Trim();

                            #region 负责人职务
                            if (dt_Distributor.Rows[i]["负责人职务"].ToString().Trim() != "")
                            {
                                bFind = false;
                                foreach (Dictionary_Data item in DictionaryBLL.GetDicCollections("CM_LinkManJob").Values)
                                {
                                    if (item.Name == dt_Distributor.Rows[i]["负责人职务"].ToString().Trim())
                                    {
                                        linkman.Model["Job"] = item.Code;
                                        bFind = true;
                                        break;
                                    }
                                }
                            }
                            #endregion

                            //固定电话
                            linkman.Model["OfficeTeleNum"] = dt_Distributor.Rows[i]["固定电话"].ToString().Trim();

                            //手机
                            linkman.Model["Mobile"] = dt_Distributor.Rows[i]["手机"].ToString().Trim();
                            iret = linkman.Add();

                            if (iret > 0)
                            {
                                client.Model["ChiefLinkMan"] = iret.ToString();
                                client.Update();
                            }
                        }
                        #endregion

                        #region 法人
                        if (dt_Distributor.Rows[i]["负责人"].ToString().Trim() != "")
                        {
                            linkman.Model["Name"] = dt_Distributor.Rows[i]["法人代表"].ToString().Trim();
                            linkman.Model["Job"] = "2";       //法人代表
                            linkman.Model["OfficeTeleNum"] = dt_Distributor.Rows[i]["法人联系电话"].ToString().Trim();

                            if (linkman.Model["OfficeTeleNum"].StartsWith("1"))
                                linkman.Model["Mobile"] = linkman.Model["OfficeTeleNum"];

                            linkman.Add();
                        }
                        #endregion

                        #endregion
                    }
                    //UpdateSuccess(_xhs_success.ToString(), 2);
                }
            }
            catch (System.Exception err)
            {
                UpdateSuccess(_xhs_success.ToString(), 1);
                MessageBox.Show(err.Source + "~r~n" + err.StackTrace, err.Message);
            }
            #endregion

            Thread.Sleep(1000);

            #region 导入终端门店资料表
            StringBuilder _xhs_rt_fail1 = new StringBuilder("");
            StringBuilder _xhs_rt_fail2 = new StringBuilder("");
            try
            {
                if (checkBox3.Checked)
                {
                    lb_Count.Text = dt_Retailer.Rows.Count.ToString();
                    tabControl1.SelectedIndex = 2;
                    XH = "";
                    for (int i = 0; i < dt_Retailer.Rows.Count; i++)
                    {
                        worker.ReportProgress((i + 1) * 100 / this.dt_Retailer.Rows.Count, i);
                        if (worker.CancellationPending)
                        {
                            e.Cancel = true;
                            break;
                        }

                        bool bsuccess = true;
                        XH = dt_Retailer.Rows[i]["序号"].ToString();
                        CM_ClientBLL client = new CM_ClientBLL();

                        client.Model.ClientType = 3;    //终端门店

                        #region 序号
                        client.Model["Code"] = dt_Retailer.Rows[i]["门店编码"].ToString().Trim();

                        #region 判断数据是否重复
                        if (CM_ClientBLL.GetModelList("Code = '" + client.Model["Code"] + "'").Count > 0)
                        {
                            UpdateImportFlag(3, i, "导入失败,数据重复!");
                            continue;
                        }
                        #endregion
                        #endregion

                        //连锁店名称
                        client.Model["ChainStoreName"] = dt_Retailer.Rows[i]["连锁店名称"].ToString().Trim();

                        //门店全称
                        client.Model["FullName"] = dt_Retailer.Rows[i]["门店全称"].ToString().Trim();

                        //门店简称
                        client.Model["ShortName"] = dt_Retailer.Rows[i]["门店简称"].ToString().Trim();
                        if (client.Model.ShortName == "") client.Model.ShortName = client.Model.FullName;

                        #region 管理片区代码
                        DataRow[] rows_OrganizeCity = dt_OrganizeCity.Select("Code='" + dt_Retailer.Rows[i]["管理片区代码"].ToString().Trim() + "'");
                        if (rows_OrganizeCity.Length == 0)
                        {
                            UpdateImportFlag(3, i, "导入失败,管理片区代码在系统字典中不存在!");
                            continue;
                        }
                        else
                            client.Model["OrganizeCity"] = rows_OrganizeCity[0]["ID"].ToString().Trim();
                        #endregion

                        //固定电话
                        client.Model["TeleNum"] = dt_Retailer.Rows[i]["固定电话"].ToString().Trim();
                        if (client.Model["TeleNum"] == "") client.Model["TeleNum"] = dt_Retailer.Rows[i]["联系人手机"].ToString().Trim();

                        //门店地址
                        client.Model["Address"] = dt_Retailer.Rows[i]["门店地址"].ToString().Trim();

                        #region 所在城市
                        string cityname = dt_Retailer.Rows[i]["城市"].ToString().Trim();
                        string areaname = dt_Retailer.Rows[i]["县城"].ToString().Trim();
                        string townname = dt_Retailer.Rows[i]["乡镇"].ToString().Trim();
                        if (townname != "")
                        {
                            DataRow[] rows_OfficialCity = dt_OfficialCity.Select("Name like '" + townname + "%'");
                            if (rows_OfficialCity.Length == 1)
                                client.Model.OfficalCity = int.Parse(rows_OfficialCity[0]["ID"].ToString().Trim());
                        }
                        if (areaname != "" && client.Model.OfficalCity == 0)
                        {
                            DataRow[] rows_OfficialCity = dt_OfficialCity.Select("Name like '" + areaname + "%'");
                            if (rows_OfficialCity.Length == 1)
                                client.Model.OfficalCity = int.Parse(rows_OfficialCity[0]["ID"].ToString().Trim());
                        }
                        if (cityname != "" && client.Model.OfficalCity == 0)
                        {
                            DataRow[] rows_OfficialCity = dt_OfficialCity.Select("Name like '" + cityname + "%'");
                            if (rows_OfficialCity.Length > 0)
                                client.Model.OfficalCity = int.Parse(rows_OfficialCity[0]["ID"].ToString().Trim());
                        }

                        if (client.Model["TeleNum"] != "" && client.Model.OfficalCity == 0)
                        {
                            Addr_OfficialCity city = null;
                            city = Addr_OfficialCityBLL.GetCityByTeleNumOrPostCode(client.Model["TeleNum"]);
                            if (city != null) client.Model.OfficalCity = city.ID;
                        }

                        if (client.Model.OfficalCity == 0)
                        {
                            UpdateImportFlag(3, i, "导入失败,城市在系统字典中不存在!");
                            continue;
                        }
                        #endregion

                        #region 门店渠道
                        if (dt_Retailer.Rows[i]["门店渠道"].ToString().Trim() != "")
                        {
                            bFind = false;
                            foreach (Dictionary_Data item in DictionaryBLL.GetDicCollections("CM_RT_Channel").Values)
                            {
                                if (item.Name == dt_Retailer.Rows[i]["门店渠道"].ToString().Trim().ToUpper())
                                {
                                    client.Model["RTChannel"] = item.Code;
                                    bFind = true;
                                    break;
                                }
                            }
                            if (!bFind)
                            {
                                UpdateImportFlag(3, i, "导入失败,门店渠道在系统字典中不存在!");
                                continue;
                            }
                        }
                        #endregion

                        #region 门店类型
                        if (dt_Retailer.Rows[i]["门店类型"].ToString().Trim() != "")
                        {
                            bFind = false;
                            foreach (Dictionary_Data item in DictionaryBLL.GetDicCollections("CM_RT_Classify").Values)
                            {
                                if (item.Name == dt_Retailer.Rows[i]["门店类型"].ToString().Trim())
                                {
                                    client.Model["RTClassify"] = item.Code;
                                    bFind = true;
                                    break;
                                }
                            }
                            if (!bFind)
                            {
                                UpdateImportFlag(3, i, "导入失败,门店类型在系统字典中不存在!");
                                continue;
                            }
                        }
                        #endregion

                        #region 销售代表
                        if (dt_Retailer.Rows[i]["销售代表工号"].ToString().Trim() != "")
                        {
                            IList<Org_Staff> staffs = Org_StaffBLL.GetStaffList("StaffCode='" + dt_Retailer.Rows[i]["销售代表工号"].ToString().Trim() + "' AND Dimission=1");
                            if (staffs.Count > 1) staffs = Org_StaffBLL.GetStaffList("StaffCode='" + dt_Retailer.Rows[i]["销售代表工号"].ToString().Trim() + "' AND Dimission=1 AND RealName='" + dt_Retailer.Rows[i]["销售代表"].ToString().Trim() + "'");

                            if (staffs.Count == 0)
                            {
                                _xhs_rt_fail2.Append(XH + ",");
                                bsuccess = false;
                                //UpdateImportFlag(3, i, "导入失败,销售代表在员工中不存在!");
                                //continue;
                            }
                            else if (staffs.Count > 1)
                            {
                                _xhs_rt_fail2.Append(XH + ",");
                                bsuccess = false;
                                //UpdateImportFlag(3, i, "导入失败,销售代表在员工中有多个相同姓名的员工!");
                                //continue;
                            }
                            else
                            {
                                client.Model["ClientManager"] = staffs[0]["ID"];
                            }
                        }
                        #endregion

                        #region 送货经销商编号
                        IList<CM_Client> clients = CM_ClientBLL.GetModelList("Code='" + dt_Retailer.Rows[i]["送货经销商编号"].ToString().Trim() + "'");
                        if (clients.Count == 0)
                        {
                            _xhs_rt_fail1.Append(XH + ",");
                            bsuccess = false;
                            //UpdateImportFlag(3, i, "导入失败,送货经销商编号在客户中不存在!");
                            //continue;
                        }
                        else if (clients.Count > 1)
                        {
                            _xhs_rt_fail1.Append(XH + ",");
                            bsuccess = false;
                            //UpdateImportFlag(3, i, "导入失败,送货经销商编号在客户中有多个相同编号的客户!");
                            //continue;
                        }
                        else
                        {
                            client.Model["Supplier"] = clients[0]["ID"];
                        }
                        #endregion

                        client.Model["Salesroom"] = dt_Retailer.Rows[i]["奶粉月容量"].ToString().Trim();
                        client.Model["BusinessArea"] = dt_Retailer.Rows[i]["卖场面积"].ToString().Trim();

                        client.Model["BankName"] = dt_Retailer.Rows[i]["开户行全称"].ToString().Trim();
                        client.Model["AccountName"] = dt_Retailer.Rows[i]["开户名"].ToString().Trim();
                        client.Model["BankAccountNo"] = dt_Retailer.Rows[i]["卡账号"].ToString().Trim();

                        //活跃状态
                        client.Model["ActiveFlag"] = "1";
                        client.Model.ApproveFlag = 1;

                        int iret = client.Add();
                        if (iret > 0)
                        {
                            if (bsuccess) _xhs_success.Append(XH + ",");
                            if (_xhs_success.Length >= 10000)
                            {
                                UpdateSuccess(_xhs_success.ToString(), 3);
                                UpdateFail1(_xhs_rt_fail1.ToString());
                                UpdateFail2(_xhs_rt_fail2.ToString());

                                _xhs_success = new StringBuilder("");
                                _xhs_rt_fail1 = new StringBuilder("");
                                _xhs_rt_fail2 = new StringBuilder("");
                            }
                            //UpdateImportFlag(3, i, "导入成功,ID=" + iret.ToString());
                        }
                        else
                        {
                            UpdateImportFlag(3, i, "导入失败,写入数据库失败!");
                            continue;
                        }

                        #region 加入联系人
                        CM_LinkManBLL linkman = new CM_LinkManBLL();
                        linkman.Model.ClientID = iret;

                        //门店联系人
                        linkman.Model["Name"] = dt_Retailer.Rows[i]["门店联系人"].ToString().Trim();
                        if (linkman.Model["Name"] == "") linkman.Model.Name = "无";

                        //联系人职务
                        #region 联系人职务
                        if (dt_Retailer.Rows[i]["联系人职务"].ToString().Trim() != "")
                        {
                            bFind = false;
                            foreach (Dictionary_Data item in DictionaryBLL.GetDicCollections("CM_LinkManJob").Values)
                            {
                                if (item.Name == dt_Retailer.Rows[i]["联系人职务"].ToString().Trim())
                                {
                                    linkman.Model["Job"] = item.Code;
                                    bFind = true;
                                    break;
                                }
                            }
                        }
                        #endregion

                        //联系人固定电话
                        linkman.Model["OfficeTeleNum"] = dt_Retailer.Rows[i]["联系人固定电话"].ToString().Trim();

                        //联系人手机
                        linkman.Model["Mobile"] = dt_Retailer.Rows[i]["联系人手机"].ToString().Trim();

                        if (linkman.Model.Name == "无" && linkman.Model["OfficeTeleNum"] == "" && linkman.Model["Mobile"] == "")
                        {
                        }
                        else
                        {
                            iret = linkman.Add();

                            if (iret > 0)
                            {
                                client.Model["ChiefLinkMan"] = iret.ToString();
                                client.Update();
                            }
                        }
                        #endregion
                    }
                    UpdateSuccess(_xhs_success.ToString(), 3);
                    UpdateFail1(_xhs_rt_fail1.ToString());
                    UpdateFail2(_xhs_rt_fail2.ToString());
                }
            }
            catch (System.Exception err)
            {
                UpdateSuccess(_xhs_success.ToString(), 3);
                UpdateFail1(_xhs_rt_fail1.ToString());
                UpdateFail2(_xhs_rt_fail2.ToString());

                MessageBox.Show(err.Source + "~r~n" + err.StackTrace, err.Message);
            }
            #endregion

            Thread.Sleep(1000);

            #region 导入促销员
            try
            {
                if (checkBox4.Checked)
                {
                    lb_Count.Text = dt_Promotor.Rows.Count.ToString();
                    tabControl1.SelectedIndex = 3;
                    XH = "";

                    for (int i = 0; i < dt_Promotor.Rows.Count; i++)
                    {
                        worker.ReportProgress((i + 1) * 100 / this.dt_Promotor.Rows.Count, i);
                        if (worker.CancellationPending)
                        {
                            e.Cancel = true;
                            break;
                        }
                        XH = dt_Promotor.Rows[i]["序号"].ToString();

                        PM_PromotorBLL promotor = new PM_PromotorBLL();

                        //序号
                        promotor.Model["Code"] = dt_Promotor.Rows[i]["导购编号"].ToString().Trim();

                        //判断数据是否重复
                        int promotorid = 0;
                        if (PM_PromotorBLL.GetModelList("Code = '" + promotor.Model["Code"] + "'").Count == 0)
                        {
                            #region 导入促销员资料
                            //姓名
                            promotor.Model["Name"] = dt_Promotor.Rows[i]["姓名"].ToString().Trim();

                            //管理片区代码
                            DataRow[] rows_OrganizeCity = dt_OrganizeCity.Select("Code='" + dt_Promotor.Rows[i]["管理片区代码"].ToString().Trim() + "'");
                            if (rows_OrganizeCity.Length == 0)
                            {
                                UpdateImportFlag(4, i, "导入失败,管理片区代码在系统字典中不存在!");
                                continue;
                            }
                            else
                                promotor.Model["OrganizeCity"] = rows_OrganizeCity[0]["ID"].ToString().Trim();

                            //联系电话
                            promotor.Model["TeleNum"] = dt_Promotor.Rows[i]["联系电话"].ToString().Trim();
                            if (promotor.Model["TeleNum"] == "")
                            {
                                promotor.Model["TeleNum"] = dt_Promotor.Rows[i]["手机"].ToString().Trim();
                            }

                            //手机
                            promotor.Model["Mobile"] = dt_Promotor.Rows[i]["手机"].ToString().Trim();
                            if (promotor.Model["Mobile"] == "" && promotor.Model["TeleNum"].StartsWith("1")) promotor.Model["Mobile"] = promotor.Model["TeleNum"];

                            #region 所在城市
                            string cityname = dt_Promotor.Rows[i]["城市"].ToString().Trim();
                            string areaname = dt_Promotor.Rows[i]["县城"].ToString().Trim();
                            string townname = dt_Promotor.Rows[i]["乡镇"].ToString().Trim();
                            if (townname != "")
                            {
                                DataRow[] rows_OfficialCity = dt_OfficialCity.Select("Name like '" + townname + "%'");
                                if (rows_OfficialCity.Length == 1)
                                    promotor.Model.OfficialCity = int.Parse(rows_OfficialCity[0]["ID"].ToString().Trim());
                            }
                            if (areaname != "" && promotor.Model.OfficialCity == 0)
                            {
                                DataRow[] rows_OfficialCity = dt_OfficialCity.Select("Name like '" + areaname + "%'");
                                if (rows_OfficialCity.Length == 1)
                                    promotor.Model.OfficialCity = int.Parse(rows_OfficialCity[0]["ID"].ToString().Trim());
                            }
                            if (cityname != "" && promotor.Model.OfficialCity == 0)
                            {
                                DataRow[] rows_OfficialCity = dt_OfficialCity.Select("Name like '" + cityname + "%'");
                                if (rows_OfficialCity.Length > 0)
                                    promotor.Model.OfficialCity = int.Parse(rows_OfficialCity[0]["ID"].ToString().Trim());
                            }

                            if (promotor.Model["TeleNum"] != "" && promotor.Model.OfficialCity == 0)
                            {
                                Addr_OfficialCity city = null;
                                city = Addr_OfficialCityBLL.GetCityByTeleNumOrPostCode(promotor.Model["TeleNum"]);
                                if (city != null) promotor.Model.OfficialCity = city.ID;
                            }

                            if (promotor.Model.OfficialCity == 0)
                            {
                                UpdateImportFlag(4, i, "导入失败,城市在系统字典中不存在!");
                                continue;
                            }
                            #endregion

                            //性别
                            if (dt_Promotor.Rows[i]["性别"].ToString().Trim() != "")
                            {
                                bFind = false;
                                foreach (Dictionary_Data item in DictionaryBLL.GetDicCollections("PUB_Sex").Values)
                                {
                                    if (item.Name == dt_Promotor.Rows[i]["性别"].ToString().Trim())
                                    {
                                        promotor.Model["Sex"] = item.Code;
                                        bFind = true;
                                        break;
                                    }
                                }
                                if (!bFind)
                                {
                                    UpdateImportFlag(4, i, "导入失败,性别在系统字典中不存在!");
                                    continue;
                                }
                            }

                            //分类
                            if (dt_Promotor.Rows[i]["分类"].ToString().Trim() != "")
                            {
                                bFind = false;
                                foreach (Dictionary_Data item in DictionaryBLL.GetDicCollections("PM_PromotorClassify").Values)
                                {
                                    if (item.Name == dt_Promotor.Rows[i]["分类"].ToString().Trim())
                                    {
                                        promotor.Model["Classfiy"] = item.Code;
                                        bFind = true;
                                        break;
                                    }
                                }
                                if (!bFind)
                                {
                                    UpdateImportFlag(4, i, "导入失败,分类在系统字典中不存在!");
                                    continue;
                                }
                            }

                            //家庭地址
                            promotor.Model["Address"] = dt_Promotor.Rows[i]["家庭地址"].ToString().Trim();

                            //身份证号
                            promotor.Model["IDCode"] = dt_Promotor.Rows[i]["身份证号"].ToString().Trim();

                            //上岗时间
                            if (dt_Promotor.Rows[i]["上岗时间"].ToString().Trim() != "")
                                promotor.Model["BeginWorkDate"] = dt_Promotor.Rows[i]["上岗时间"].ToString().Trim();

                            //离岗时间
                            if (dt_Promotor.Rows[i]["离岗时间"].ToString().Trim() != "")
                                promotor.Model["EndWorkDate"] = dt_Promotor.Rows[i]["离岗时间"].ToString().Trim();

                            //银行类别
                            promotor.Model["BankName"] = dt_Promotor.Rows[i]["银行类别"].ToString().Trim();

                            //工资卡号
                            promotor.Model["BankAccount"] = dt_Promotor.Rows[i]["工资卡号"].ToString().Trim();

                            //在职标志
                            promotor.Model["Dimission"] = "1";
                            promotor.Model.ApproveFlag = 1;
                            promotorid = promotor.Add();
                            if (promotorid > 0)
                            {
                                _xhs_success.Append(XH + ",");
                                //UpdateImportFlag(4, i, "导入成功,ID=" + iret.ToString());
                            }
                            else
                            {
                                UpdateImportFlag(4, i, "导入失败,写入数据库失败!");
                                continue;
                            }
                            #endregion
                        }
                        else
                        {
                            promotorid = PM_PromotorBLL.GetModelList("Code = '" + promotor.Model["Code"] + "'")[0].ID;
                        }

                        #region 促销员所在门店
                        //门店编号
                        string rtcodes = dt_Promotor.Rows[i]["门店编号"].ToString().Trim();
                        if (rtcodes != "")
                        {
                            char[] sep = { ',' };
                            string[] codes = rtcodes.Split(sep);
                            foreach (string c in codes)
                            {
                                if (string.IsNullOrEmpty(c)) continue;
                                //if (c.IndexOf('-') > 0)
                                //{
                                //    char[] sep2 = { '-' };
                                //    string[] codes2 = c.Split(sep2);

                                //    if (codes2.Length == 2)
                                //    {
                                //        int begincode, endcode;
                                //        if (int.TryParse(codes2[0], out begincode) && int.TryParse(codes2[1], out endcode))
                                //        {
                                //            for (int codexh = begincode; codexh <= endcode; codexh++)
                                //            {
                                //                string code = FormatClientCode('R', codexh.ToString(), dt_Promotor.Rows[i]["管理片区代码"].ToString().Trim());

                                //                IList<CM_Client> clients = CM_ClientBLL.GetModelList("Code='" + code + "' AND ClientType = 3");
                                //                if (clients.Count == 1)
                                //                {
                                //                    PM_PromotorInRetailerBLL pinr = new PM_PromotorInRetailerBLL();
                                //                    pinr.Model.Promotor = promotorid;
                                //                    pinr.Model.Client = clients[0].ID;
                                //                    pinr.Add();
                                //                }
                                //                else
                                //                    break;
                                //            }
                                //        }

                                //    }
                                //    else
                                //    {
                                //        string xhs = _xhs_success.ToString();
                                //        if (xhs.EndsWith(","))
                                //        {
                                //            xhs = xhs.Substring(0, xhs.Length - 1);
                                //            xhs = xhs.Substring(0, xhs.LastIndexOf(',') + 1);
                                //            _xhs_success.Remove(0, _xhs_success.Length);
                                //            _xhs_success.Append(xhs);
                                //        }
                                //        UpdateImportFlag(4, i, "导入成功,ID=" + promotorid.ToString() + ",关联所在门店失败!");
                                //        break;
                                //    }
                                //}
                                //else
                                {
                                    string code = c;

                                    IList<CM_Client> clients = CM_ClientBLL.GetModelList("Code='" + code + "' AND ClientType = 3");
                                    if (clients.Count == 1)
                                    {
                                        PM_PromotorInRetailerBLL pinr = new PM_PromotorInRetailerBLL();
                                        pinr.Model.Promotor = promotorid;
                                        pinr.Model.Client = clients[0].ID;
                                        pinr.Add();
                                    }
                                    else
                                    {
                                        string xhs = _xhs_success.ToString();
                                        if (xhs.EndsWith(","))
                                        {
                                            xhs = xhs.Substring(0, xhs.Length - 1);
                                            xhs = xhs.Substring(0, xhs.LastIndexOf(',') + 1);
                                            _xhs_success.Remove(0, _xhs_success.Length);
                                            _xhs_success.Append(xhs);
                                        }
                                        UpdateImportFlag(4, i, "导入成功,ID=" + promotorid.ToString() + ",关联所在门店失败!");
                                        break;
                                    }
                                }
                            }
                        }

                        #endregion
                    }

                    UpdateSuccess(_xhs_success.ToString(), 4);

                }
            }
            catch (System.Exception err)
            {
                UpdateSuccess(_xhs_success.ToString(), 1);
                MessageBox.Show(err.Source + "~r~n" + err.StackTrace, err.Message);
            }
            #endregion

            return;
        }