예제 #1
0
        public int PoiBillAudit(string userName, string type, string id)
        {
            //审核bill
            string cookies = HttpContext.Current.Request.Cookies["guid"] == null ? "" : HttpContext.Current.Request.Cookies["guid"].Value as string;
            string session = Session.SessionID.ToString();

            if (!cookies.Equals(session))
            {
                return(-1);//身份验证失败
            }
            MLogin.GetExeUname();
            L_PushPoi        n    = new L_PushPoi();
            List <L_PushPoi> list = n.Select(" and id =" + id);

            if (list.Count <= 0)
            {
                return(-1);
            }
            else
            {
                n.ZF2 = userName;                   //审核人
                n.ZF3 = SysTime.GetTime.ToString(); //审核时间
                if (type.ToUpper() == "YES")
                {
                    n.OPERATE_TYPE = "同意";
                    KFLocation.Set(list[0].BILLMAN, list[0].CLIENT, list[0].AFTER_LNG + "," + list[0].AFTER_LAT);
                }
                else
                {
                    n.OPERATE_TYPE = "否决";
                }
                return(n.Updata(" and id=" + id));
            }
        }
예제 #2
0
        public string[] StayTime(string userId, double lng, double lat, string client)
        {
            string kf_poi = KFLocation.Get(client);

            if (kf_poi != "" && kf_poi != "none")
            {
                string[]         strs  = kf_poi.Split(',');
                double           lng1  = Convert.ToDouble(strs[0]);
                double           lat1  = Convert.ToDouble(strs[1]);
                string           start = string.Empty;
                string           end   = string.Empty;
                scue_user        su    = new scue_user();
                List <scue_user> list  = su.Select("  and USERPU='" + userId + "' and date ='" + DateTime.Now.ToString("yyyyMMdd") + "'  order by id desc ", " top 3 * ");
                if (list != null && list.Count > 0)
                {
                    for (int i = 0; i < list.Count; i++)//从最新记录开始
                    {
                        List <string> time = Function.SearchST(list[i].POINTS.Split(','), lng1, lat1, MyGlobal.STAY_AREA);
                        if (time == null)//这一组没有 不必继续,break'
                        {
                            break;
                        }
                        else
                        {
                            if (time[0] != "start")//开始值有效  开始值取小,需要不断更新
                            {
                                start = time[0];
                            }
                            if (time[1] != "end" && end == "")//结束值有效 结束值取大,第一次即为最大
                            {
                                end = time[1];
                            }
                        }
                    }
                    //计算时间差
                    if (start != "" && end != "")
                    {
                        string   date = DateTime.Now.ToString("yyyy-MM-dd ");
                        DateTime a    = Convert.ToDateTime(date + start);
                        DateTime b    = Convert.ToDateTime(date + end);
                        string   stay = DateDiff(a, b);
                        string[] vs   = { a.ToString(), b.ToString(), stay };
                        return(vs);
                    }
                    else
                    {
                        return(null);
                    }
                }
                else
                {
                    return(null);
                }
            }
            else
            {
                return(null);
            }
        }
예제 #3
0
        //int client_id,
        public string GetKFLoc(string client)
        {
            //获取客户位置
            string cookies = HttpContext.Current.Request.Cookies["guid"] == null ? "" : HttpContext.Current.Request.Cookies["guid"].Value as string;
            string session = Session.SessionID.ToString();

            if (!cookies.Equals(session))
            {
                return("NoCookies");
            }
            MLogin.GetExeUname();
            return(KFLocation.Get(client));
        }
예제 #4
0
        public FindLoc GetPep(string name, string type)//修改为name   20180728 skl
        {
            string cookies = HttpContext.Current.Request.Cookies["guid"] == null ? "" : HttpContext.Current.Request.Cookies["guid"].Value as string;
            string session = Session.SessionID.ToString();

            if (!cookies.Equals(session))
            {
                return(null);//身份验证失败
            }
            MLogin.GetExeUname();
            string  position = "";
            string  lng; //经度
            string  lat; //纬度
            string  datetime = SysTime.GetTime.ToString("yyyyMMdd");
            FindLoc findLoc  = new FindLoc();

            findLoc.status = 0;//标记状态 0:未获取到客户位置  10:获取到客户位置
            List <PersonLOC> locs = new List <PersonLOC>();

            if (KFLocation.Get(name) != "")
            {
                findLoc.status = 10;
                position       = KFLocation.Get(name);
                string[] strs_kf = position.Split(',');
                lng = strs_kf[0];
                lat = strs_kf[1];
                //只取当天人的最新记录
                string           sql    = "select * from scue_user a where not exists(select 1 from scue_user b where b.userpu=a.userpu and b.id>a.id) and a.date ='" + datetime + "' ";
                List <scue_user> scue_s = BLL.SqlToList <scue_user>(MyGlobal.DataBase, sql);

                foreach (scue_user s in scue_s)
                {
                    string[]  strs   = s.POINTS.Split(',');
                    int       count  = strs.Length - 2;
                    string    newpoi = strs[count];
                    string[]  poi    = newpoi.Split(':');
                    PersonLOC o      = new PersonLOC();
                    o.userId   = s.USERPU;
                    o.userName = s.TURENAME;
                    o.lng      = Convert.ToDouble(poi[0]);
                    o.lat      = Convert.ToDouble(poi[1]);
                    o.lastTime = s.OPERATETIME.ToString();
                    locs.Add(o);
                }
                findLoc.kflng = Convert.ToDouble(lng);
                findLoc.kflat = Convert.ToDouble(lat);
                findLoc.list  = locs;
            }
            return(findLoc);
        }
예제 #5
0
        public void PushPoi(string userId, string name, string position)//修改为name  20180728 skl
        {
            string cookies = HttpContext.Current.Request.Cookies["guid"] == null ? "" : HttpContext.Current.Request.Cookies["guid"].Value as string;
            string session = Session.SessionID.ToString();

            if (!cookies.Equals(session))
            {
                return;//身份验证失败
            }
            MLogin.GetExeUname();
            List <puku_user> now = ScueFun.GetPUser.PUser(" and USERPU='" + userId + "' ");

            if (now.Count > 0)
            {
                KFLocation.Set(now[0].TURENAME, name, position);
            }
        }
예제 #6
0
        public int WxReport(string userName, double lng1, double lat1, string userId, string client, string billcode, int id, string note)
        {
            int    flag    = 0;
            string cookies = HttpContext.Current.Request.Cookies["guid"] == null ? "" : HttpContext.Current.Request.Cookies["guid"].Value as string;
            string session = Session.SessionID.ToString();

            if (!cookies.Equals(session))
            {
                return(-10);//身份验证失败
            }
            MLogin.GetExeUname();
            string position = KFLocation.Get(client);
            double lng, lat;

            if (MyGlobal.AERA_CHECK) //是否范围校验
            {
                if (position == "")  //该客户没有定位,将现在这个位置赋值给当前客户
                {
                    flag = -2;
                    return(flag);
                }
                else if (position == "none")//不存在该用户
                {
                    flag = -3;
                    return(flag);
                }
                else
                {
                }
                string[] strs = position.Split(',');
                lng = Convert.ToDouble(strs[0]);
                lat = Convert.ToDouble(strs[1]);

                if (ScueFun.LngLatDis.GetDistance(lng, lat, lng1, lat1) > MyGlobal.VISITAERA)
                {
                    flag = 5;
                    return(flag);//超出范围不能提交
                }
            }
            else
            {
                lng = lng1;
                lat = lat1;
            }

            //事务处理开始,劫持链接通道的sql语句
            TransactionSql.Start(MyGlobal.DataBase);  //===>开始
            DateTime now = SysTime.GetTime;

            clientservice_AfterServiceBill C = new clientservice_AfterServiceBill();

            C.ZF5 = note;
            string[] strs_p = Function.StayTime(userId, lng1, lat1, client);
            if (strs_p != null)
            {
                C.ZF11 = strs_p[0] == null ? "" : strs_p[0]; //开始时间
                C.ZF12 = strs_p[1] == null ? "" : strs_p[1]; //结束时间
                C.ZF13 = strs_p[2] == null ? "" : strs_p[2]; //时间间隔
            }
            C.Updata(" AND ID=" + id);
            L_AfterRepair repair = new L_AfterRepair();

            repair.BILLMAN      = userName;
            repair.OPERATE_TIME = now.ToString();
            repair.REFERCODE    = billcode;      //关联维修单号
            repair.OPERATE_TYPE = "完结";
            repair.ZF1          = id.ToString(); //关联维修单号的id
            repair.Insert();

            //更新关联单据号,最新的,可作为最后打卡的目标公司,名称、地址  20180904 skl
            puku_user u = new puku_user();

            u.REFERCODE = billcode;
            u.ZF1       = client;
            u.ZF2       = lng.ToString();
            u.ZF3       = lat.ToString();
            u.ZF4       = now.ToString("yyyy-MM-dd HH:mm:ss");
            u.Updata(" and  USERPU='" + userId + "'   ");

            //提交事务到sql服务器处理//===>结束
            if (!TransactionSql.EndSql())//判断是否成功
            {
                flag = -1;
            }
            return(flag);
        }
예제 #7
0
        public int KFNew(string userName, string client, string type, string lev, double lng, double lat)
        {
            string cookies = HttpContext.Current.Request.Cookies["guid"] == null ? "" : HttpContext.Current.Request.Cookies["guid"].Value as string;
            string session = Session.SessionID.ToString();

            if (!cookies.Equals(session))
            {
                return(-5);//身份验证失败
            }
            MLogin.GetExeUname();
            string             position = lng.ToString() + ',' + lat.ToString();
            ClientService_kfku newkf    = new ClientService_kfku();

            if (KFLocation.Get(client) == "none")
            {
                newkf.NAME          = client;
                newkf.TRADETYPENAME = type;
                newkf.创建人           = userName;
                // newkf.CONTACTOR = hisname;//联系人对方姓名
                // newkf.PHONE = hisphone;//联系人对方手机
                newkf.ZF29 = lng.ToString();
                newkf.ZF30 = lat.ToString();
                newkf.ZF34 = "PHONE";//手机新建客户标识
                if (lev.Contains("1级"))
                {
                    lev        = "1级";
                    newkf.回访间隔 = "150";
                }
                else if (lev.Contains("2级"))
                {
                    lev        = "2级";
                    newkf.回访间隔 = "100";
                }
                else if (lev.Contains("3级"))
                {
                    lev        = "3级";
                    newkf.回访间隔 = "60";
                }
                else if (lev.Contains("4级"))
                {
                    lev        = "4级";
                    newkf.回访间隔 = "30";
                }
                else if (lev.Contains("5级"))
                {
                    lev        = "5级";
                    newkf.回访间隔 = "7";
                }
                else
                {
                }
                // newkf.RQ1 = System.DateTime.Now;//创建时间
                newkf.CODE = Function.CalKFcode();
                newkf.LEV  = lev;
                newkf.Insert();
                return(0);//成功
            }
            else
            {
                return(-1);//数据库内有该客户
            }
        }
예제 #8
0
        public int NewVisit(int bfid, string userId, string client, string zf2, string billtype, string date, string hisname,
                            string hisposition, string hisphone, string content, string userName, double lng1, double lat1,
                            string nextTime, string nextMethod, string nextNotice, string saleContent, string IfWX,
                            string list_id, string list_reply)
        {
            string cookies = HttpContext.Current.Request.Cookies["guid"] == null ? "" : HttpContext.Current.Request.Cookies["guid"].Value as string;
            string session = Session.SessionID.ToString();

            if (!cookies.Equals(session))
            {
                return(10);//用户验证失败
            }
            MLogin.GetExeUname();
            int flag = 0;//默认为0

            try
            {
                //事务处理开始,劫持链接通道的sql语句
                DateTime now = SysTime.GetTime;
                TransactionSql.Start(MyGlobal.DataBase);  //===>开始
                if (list_id.Trim() != "" && list_reply.Trim() != "")
                {
                    list_id    = list_id.Substring(0, list_id.Length - 1);
                    list_reply = list_reply.Substring(0, list_reply.Length - 1);
                    string[] ids     = list_id.Split(',');
                    string[] replies = list_reply.Split(',');
                    int      count;
                    for (count = 0; count < ids.Length; count++)
                    {
                        L_ContactSheetMsg msg = new L_ContactSheetMsg();
                        msg.MTITLE     = replies[count];
                        msg.INSERTER   = userName;
                        msg.FID        = Convert.ToInt32(ids[count]);
                        msg.INSERTDATE = now;
                        msg.STATE      = "已提交";
                        msg.Insert();
                    }
                }

                string position = KFLocation.Get(client);
                double lng, lat;
                if (MyGlobal.AERA_CHECK) //是否范围校验
                {
                    if (position == "")  //该客户没有定位,将现在这个位置赋值给当前客户
                    {
                        flag = -1;
                        return(flag);
                    }
                    else if (position == "none")//不存在该用户
                    {
                        flag = -2;
                        return(flag);
                    }
                    string[] strs_kf = position.Split(',');
                    lng = Convert.ToDouble(strs_kf[0]);
                    lat = Convert.ToDouble(strs_kf[1]);

                    #region 数据库获取定位
                    //string userpoi = UserLocation.Get(userId);
                    //
                    //if (userpoi == "")
                    //{
                    //    flag = -2;
                    //    return flag;//用户无定位信息
                    //}
                    //string[] poi = userpoi.Split(':');
                    //lng1 = Convert.ToDouble(poi[0]);
                    //lat1 = Convert.ToDouble(poi[1]);
                    #endregion

                    if (ScueFun.LngLatDis.GetDistance(lng, lat, lng1, lat1) > MyGlobal.VISITAERA)
                    {
                        flag = 5;
                        return(flag);//超出范围不能提交
                    }
                }
                else
                {
                    lng = lng1;
                    lat = lat1;
                }

                clientservice_VisitBill bill = new clientservice_VisitBill();
                //kfku m = new kfku();
                string lev = string.Empty;
                int    day = 0;
                //List<kfku> ms = m.Select(" and NAME='" + client + "'  order by id desc  ");
                //if (ms.Count > 0)
                //{
                //    if(ms[0].TRADETYPENAME!=null&& ms[0].LEV!=null)
                //    {
                //        bill.ZF1 = ms[0].TRADETYPENAME.ToString();
                //        lev = ms[0].LEV;
                //    }
                //}
                //else
                //{

                ClientService_kfku        k  = new ClientService_kfku();
                List <ClientService_kfku> ks = k.Select(" and NAME='" + client + "'   order by id desc   ");
                if (ks.Count > 0)
                {
                    if (ks[0].TRADETYPENAME != null && ks[0].LEV != null)
                    {
                        bill.ZF1 = ks[0].TRADETYPENAME.ToString();
                        lev      = ks[0].LEV;
                        if (ks[0].TRADETYPENAME == "新建客户" && ks[0].CONTACTOR == null && ks[0].PHONE == null && ks[0].ZF34 == "PHONE")
                        {
                            k.CONTACTOR = hisname;
                            k.PHONE     = hisphone;
                            k.ZF8       = hisposition;
                            k.Updata(" and id=" + ks[0].ID);
                        }
                    }
                }
                //}
                if (lev.Contains("1级"))
                {
                    day = 150;
                }
                else if (lev.Contains("2级"))
                {
                    day = 100;
                }
                else if (lev.Contains("3级"))
                {
                    day = 60;
                }
                else if (lev.Contains("4级"))
                {
                    day = 30;
                }
                else if (lev.Contains("5级"))
                {
                    day = 7;
                }
                else
                {
                    day = 0;
                }
                bill.CODE           = ScueFun.Code.BasicCode();
                bill.CLIENT         = client;
                bill.BILLDATE       = Convert.ToDateTime(date);
                bill.BILLMAN        = userName;
                bill.NOTEPRE        = content;
                bill.ZF2            = zf2;
                bill.BILLTYPE       = billtype;
                bill.INTRODUCERDATE = now;
                bill.FINISHDATE     = now;
                bill.ZF3            = hisname;//存放对方信息
                bill.ZF4            = hisposition;
                bill.ZF5            = hisphone;

                //增加天
                DateTime dt1 = now.AddDays(day);
                if (nextTime == "默认")
                {
                    bill.ZF6 = dt1.ToString("yyyy-MM-dd");
                }
                else
                {
                    bill.ZF6 = nextTime;
                }
                bill.ZF7  = IfWX;//是否有其他需求
                bill.ZF8  = nextNotice;
                bill.ZF9  = nextMethod;
                bill.ZF10 = saleContent;
                string[] strs = Function.StayTime(userId, lng1, lat1, client);
                if (strs != null)
                {
                    bill.ZF11 = strs[0] == null ? "" : strs[0]; //开始时间
                    bill.ZF12 = strs[1] == null ? "" : strs[1]; //结束时间
                    bill.ZF13 = strs[2] == null ? "" : strs[2]; //时间间隔
                }
                bill.INTRODUCER = userName;

                L_VisitSend s       = new L_VisitSend();
                string      today_1 = now.ToString("yyyy-MM-dd 00:00:00");
                string      today   = now.ToString("yyyy-MM-dd 23:59:59");
                string      refer   = string.Empty;
                if (bfid == -1) //若不是链接操作,主动查询,校验是否存在派单信息,取最早的
                {
                    List <L_VisitSend> sl = s.Select("  and VISITCLIENT='" + client + "'  and state = 7  and GETUSER='******'  order by id ");
                    if (sl.Count > 0)
                    {
                        bfid = sl[0].ID;
                    }
                }
                if (bfid != -1)
                {
                    List <L_VisitSend> list = s.Select("  and id= " + bfid + "  and state = 7 ");
                    foreach (L_VisitSend i in list)
                    {
                        L_VisitSend vs = new L_VisitSend();
                        vs.STATE = 10;
                        vs.RQ2   = now;//完成时间
                        if (IfWX.Contains("有业务需求"))
                        {
                            vs.ZF1 = "有意向";
                        }
                        vs.ZF5 = content;//拜访内容
                        vs.Updata(" and id=" + i.ID);
                        refer = i.CODE;
                    }
                }
                if (IfWX.Contains("有业务需求"))
                {
                    bill.ZF14 = "有意向";
                }
                ClientService_kfku km = new ClientService_kfku();
                km.ZF33 = bill.CODE;                                  //关联单据号
                km.RQ1  = Convert.ToDateTime(bill.ZF6 + " 00:00:00"); //string格式有要求,必须是yyyy-MM-dd hh: mm: ss
                km.Updata("  and NAME='" + client + "'  ");
                bill.REFERCODE = refer;
                bill.Insert();

                //更新关联单据号,最新的,可作为最后打卡的目标公司,名称、地址  20180904 skl
                puku_user u = new puku_user();
                u.REFERCODE = bill.CODE;
                u.ZF1       = client;
                u.ZF2       = lng.ToString();
                u.ZF3       = lat.ToString();
                u.ZF4       = now.ToString("yyyy-MM-dd HH:mm:ss");
                u.Updata(" and  USERPU='" + userId + "'   ");

                //提交事务到sql服务器处理
                if (!TransactionSql.EndSql())
                {
                    flag = -3; //回滚触发
                }              //===>结束
            }
            catch (Exception ex)
            {
                flag = -3;//回滚触发
            }
            finally
            {
            }
            return(flag);
        }
예제 #9
0
        public SignBill WtSignBill(string userName, string client, string remark)
        {
            string cookies = HttpContext.Current.Request.Cookies["guid"] == null ? "" : HttpContext.Current.Request.Cookies["guid"].Value as string;
            string session = Session.SessionID.ToString();

            if (!cookies.Equals(session))
            {
                return(null);//身份验证失败
            }
            MLogin.GetExeUname();
            SignBill sign = new SignBill();
            string   position = KFLocation.Get(client);
            string   lng = null, lat = null;

            if (position == "")          //该客户没有定位
            {
                if (MyGlobal.AERA_CHECK) //是否范围校验
                {
                    sign.status = -1;
                    return(sign);
                }
            }
            else if (position == "none")//不存在该用户
            {
                sign.status = -2;
                return(sign);
            }
            else
            {
            }
            if (MyGlobal.AERA_CHECK)  //是否范围校验
            {
                string[] strs_kf = position.Split(',');
                lng = strs_kf[0];
                lat = strs_kf[1];
            }
            else
            {
                lng = "";
                lat = "";
            }
            TreatFee        t    = new TreatFee();
            List <TreatFee> list = t.Select(" and VBCODE= '打卡申请'  and  left(createtime, 10) = CONVERT(varchar(10), GETDATE(), 120)   and billman='" + userName + "'  ");

            if (list.Count > 0)
            {
                sign.status = -3;
                return(sign);
            }

            t.BILLCODE    = ScueFun.Code.BasicCode("TreatFee", "BILLCODE", "TF");
            t.VBCODE      = "打卡申请";   //拜访单单号
            t.CLIENT      = client;   //客户名字
            t.BILLMAN     = userName; //申请人
            t.BLANK_STR_1 = remark;   //备注,说明
            t.KFLNG       = lng;
            t.KFLAT       = lat;
            t.CREATETIME  = SysTime.GetTime.ToString("yyyy-MM-dd HH:mm:ss"); //申请时间
            t.STATE       = 0;                                               //已提交
            t.Insert();
            sign.status = 0;

            return(sign);
        }