Beispiel #1
0
        public string AddUserSignIn(QW_UserSigninsModel model)
        {
            QW_UserSigninsBLL bll = new QW_UserSigninsBLL();

            try
            {
                int result = bll.AddUserSignIn(model);
                if (result == -1)
                {
                    return("{\"msg\":\"上报成功!\",\"resCode\":\"-1\"}");
                }
                else if (result == -2)
                {
                    return("{\"msg\":\"上报成功!\",\"resCode\":\"-2\"}");
                }
                else
                {
                    return("{\"msg\":\"上报成功!\",\"resCode\":\"1\"}");
                }
            }
            catch (Exception)
            {
                return("{\"msg\":\"json数据不正确\",\"resCode\":\"0\"}");
            }
        }
Beispiel #2
0
 /// <summary>
 /// 添加
 /// </summary>
 /// <param name="model"></param>
 /// <returns></returns>
 public int AddUserSignIn(QW_UserSigninsModel model)
 {
     //string geometry = model.x84 + "," + model.y84;
     //string map2000 = new MapXYConvent().WGS84ToCGCS2000(geometry);
     //if (!string.IsNullOrEmpty(map2000))
     //{
     //    model.x2000 = double.Parse(map2000.Split(',')[0]);
     //    model.y2000 = double.Parse(map2000.Split(',')[1]);
     //}
     return(dal.AddUserSignIn(model));
 }
Beispiel #3
0
        /// <summary>
        /// 添加
        /// </summary>
        /// <param name="model"></param>
        /// <returns></returns>
        public int AddUserSignIn(QW_UserSigninsModel model)
        {
            using (Entities db = new Entities())
            {
                int      num  = 0;
                int      type = 0;
                DateTime time = DateTime.Now;
                DateTime dt1  = time.Date;
                DateTime dt2  = time.AddDays(1).Date;

                qw_usersignins qumodel = new qw_usersignins();

                qumodel.X2000 = model.x2000;
                qumodel.Y2000 = model.y2000;

                qumodel.sszd       = model.sszd;
                qumodel.ssbc       = model.ssbc;
                qumodel.userid     = model.userid;
                qumodel.signintime = DateTime.Now;

                qumodel.X84    = model.x84;
                qumodel.Y84    = model.y84;
                qumodel.remark = model.remark;
                db.qw_usersignins.Add(qumodel);
                db.SaveChanges();
                UserTask utmodel = new UserTask();

                IQueryable <UserTask> taskmodel = (from a in db.qw_usertasks
                                                   join b_join in db.qw_signinareas on a.signinareaid equals b_join.signinareaid into bTmp
                                                   from b in bTmp.DefaultIfEmpty()
                                                   where a.userid == model.userid
                                                   select new UserTask
                {
                    taskstarttime = a.taskstarttime,
                    userid = a.userid,
                    start_stime = b.start_stime,
                    start_etime = b.start_etime,
                    end_stime = b.end_stime,
                    end_etime = b.end_etime,
                });
                utmodel = taskmodel.FirstOrDefault(a => a.taskstarttime >= dt1 && a.taskstarttime < dt2);
                if (utmodel != null)
                {
                    DateTime dt3 = Convert.ToDateTime(utmodel.start_stime.ToString("t"));
                    DateTime dt4 = Convert.ToDateTime(utmodel.start_etime.ToString("t"));

                    DateTime dt5 = Convert.ToDateTime(utmodel.end_stime.ToString("t"));
                    DateTime dt6 = Convert.ToDateTime(utmodel.end_etime.ToString("t"));

                    if (dt3 < time && dt4 > time)
                    {
                        num  = 1;
                        type = 1;
                    }
                    else if (dt5 < time && dt6 > time)
                    {
                        num  = 1;
                        type = 2;
                    }
                    else
                    {
                        num = -1;
                    }
                }
                if (num != -1)
                {
                    string      sql     = string.Format(@"select qut.userid,qus.sszd,qus.ssbc,
case when DATE_FORMAT( MAX(qus.signintime),'%h%i%s') BETWEEN DATE_FORMAT(qsr.end_stime,'%h%i%s') and DATE_FORMAT(qsr.end_etime,'%h%i%s') then MAX(qus.signintime)
ELSE '未签到' end etime,
case when DATE_FORMAT( MIN(qus.signintime),'%h%i%s') BETWEEN DATE_FORMAT(qsr.start_stime,'%h%i%s') and DATE_FORMAT(qsr.start_etime,'%h%i%s') then MIN(qus.signintime)
ELSE '未签到' end stime 
from qw_usertasks qut
left join qw_signinareas qsr on qut.signinareaid=qsr.signinareaid 
right join qw_usersignins qus on qut.userid=qus.userid and date_format(qus.signintime,'%Y-%m-%d')=DATE_FORMAT(now(),'%Y-%m-%d')
and (( DATE_FORMAT(qus.signintime,'%h%i%s') BETWEEN DATE_FORMAT(qsr.start_stime,'%h%i%s') and DATE_FORMAT(qsr.start_etime,'%h%i%s') )
or ( DATE_FORMAT(qus.signintime,'%h%i%s') BETWEEN DATE_FORMAT(qsr.end_stime,'%h%i%s') and DATE_FORMAT(qsr.end_etime,'%h%i%s') ))
where qus.userid=" + model.userid + " and date_format(qut.taskstarttime,'%Y-%m-%d')=DATE_FORMAT(now(),'%Y-%m-%d')");
                    SignInModel simodel = db.Database.SqlQuery <SignInModel>(sql).FirstOrDefault();
                    if (simodel != null)
                    {
                        if (type == 1)
                        {
                            if (simodel.stime == "未签到")
                            {
                                num = 1;
                            }
                            else
                            {
                                num = -2;
                            }
                        }
                        if (type == 2)
                        {
                            if (simodel.etime == "未签到")
                            {
                                num = 1;
                            }
                            else
                            {
                                num = -2;
                            }
                        }
                    }
                }
                return(num);
            }
        }