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\"}"); } }
/// <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)); }
/// <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); } }