public ActionResult QyDetail(string bh = "") { var qyModel = qyjbxxService.GetModel(bh, GLYadmin.YYID); if (qyModel == null) { return(Content("参数错误")); } var qypqModel = qypqszService.GetModelByQybh(bh, GLYadmin.YYID);//渠道排期基本设置 if (qypqModel == null) { PqJbszModel jbszModel = jbszService.GetModel(GLYadmin.YYID); jbszModel = jbszModel == null ? new PqJbszModel() : jbszModel; qypqModel = new PqQyszModel(); qypqModel.qybh = bh; qypqModel.yybh = qyModel.yybh; } var plszjlModel = plszjlService.GetModelByQybh(bh); plszjlModel = plszjlModel == null ? new PqPlszjlModel() : plszjlModel; plszjlModel.mxList = JsonConvert.DeserializeObject <List <PlszMxModel> >(plszjlModel.mx); if (plszjlModel.mxList.Count == 0) { plszjlModel.mxList.Add(new PlszMxModel { kssj = "07:30", jssj = "08:30", tjrs = 10 }); plszjlModel.mxList.Add(new PlszMxModel { kssj = "08:30", jssj = "09:30", tjrs = 10 }); } ViewBag.qy = qyModel; ViewBag.jbsz = qypqModel; //基本设置 ViewBag.plszjl = plszjlModel; //批量设置 return(View()); }
/// <summary> /// 批量保存 /// </summary> /// <param name="model"></param> /// <returns></returns> public ActionResult BatchSave(PqQyszModel model) { var rq = Request["rq"]; model.ksrq = Convert.ToDateTime(rq.Split('~')[0]); model.jsrq = Convert.ToDateTime(rq.Split('~')[1]); if (pqqyszService.CheckRepeat(GLYadmin.YYID, model.qybh, model.ksrq, model.jsrq, model.pqbh)) { return(Json(new { code = 500, msg = "排期日期有重复", pqbh = model.pqbh })); } model.yybh = GLYadmin.YYID; model.xxr = string.IsNullOrEmpty(Request["xxr"]) ? "" : Request["xxr"].Replace(",", "|"); //时间段 var kssjList = Request.Params.GetValues("kssj") ?? new string[] { }; var jssjList = Request.Params.GetValues("jssj") ?? new string[] { }; var tjrsList = Request.Params.GetValues("tjrs") ?? new string[] { }; var tjrs_dyList = Request.Params.GetValues("tjrs_dy") ?? new string[] { }; model.SjdList = new List <Sjd>(); for (int i = 0; i < kssjList.Count(); i++) { if (string.IsNullOrEmpty(kssjList[i]) || string.IsNullOrEmpty(jssjList[i])) { return(Json(new { code = 500, msg = "时间段不能为空" })); } else if (string.IsNullOrEmpty(tjrsList[i])) { return(Json(new { code = 500, msg = "预留人数不能为空" })); } for (int j = i + 1; j < kssjList.Count(); j++) { if (Convert.ToDateTime(kssjList[j]) > Convert.ToDateTime(kssjList[i]) && Convert.ToDateTime(kssjList[j]) < Convert.ToDateTime(jssjList[i])) { return(Json(new { code = 500, msg = "第" + (i + 1) + "和第" + (j + 1) + "行时间有重叠" })); } else if (Convert.ToDateTime(jssjList[j]) > Convert.ToDateTime(kssjList[i]) && Convert.ToDateTime(jssjList[j]) < Convert.ToDateTime(jssjList[i])) { return(Json(new { code = 500, msg = "第" + (i + 1) + "和第" + (j + 1) + "行时间有重叠" })); } else if (Convert.ToDateTime(kssjList[j]) < Convert.ToDateTime(kssjList[i]) && Convert.ToDateTime(jssjList[j]) > Convert.ToDateTime(jssjList[i])) { return(Json(new { code = 500, msg = "第" + (i + 1) + "和第" + (j + 1) + "行时间有重叠" })); } } int tjrs_dy = Convert.ToInt32(string.IsNullOrEmpty(tjrs_dyList[i]) ? tjrsList[i] : tjrs_dyList[i]); model.SjdList.Add(new Sjd { kssj = kssjList[i], jssj = jssjList[i], tjrs = Convert.ToInt32(tjrsList[i]), tjrs_dy = tjrs_dy }); } model.tjrs = model.SjdList.Sum(x => x.tjrs); model.tjrs_dy = model.SjdList.Sum(x => x.tjrs_dy); model.sjd = JsonConvert.SerializeObject(model.SjdList); string[] pjtc = Request.Params.GetValues("pjtc"); string[] pjtcrs = Request.Params.GetValues("pjtcrs"); string[] pjtcXxr = Request.Params.GetValues("pjtcXxr"); string[] pjtcSfxz = Request.Params.GetValues("pjtcSfxz"); List <PqPjtcModel> pjtcList = new List <PqPjtcModel>(); if (pjtc != null && pjtcrs != null) { for (int i = 0; i < pjtc.Length; i++) { foreach (var item in pjtc[i].Split(',')) { pjtcList.Add(new PqPjtcModel { tcbh = item, tjrs = Convert.ToInt32(pjtcrs[i]) }); } } if (pjtcList.Count() > 0 && pjtcList.Select(x => x.tcbh).Count() != pjtcList.Select(x => x.tcbh).Distinct().Count()) { return(Json(new { code = 500, msg = "瓶颈套餐有重复" })); } } pqqyszService.Save(model, pjtc, pjtcrs, pjtcXxr, pjtcSfxz); return(Json(new { code = 200, msg = "", pqbh = model.pqbh })); }
/// <summary> /// 追加保存 /// </summary> /// <param name="model"></param> public void ZjSave(PqQyszModel model) { using (IDbConnection conn = new DapperConnection().DbConnection) { IDbTransaction transaction = conn.BeginTransaction(); try { StringBuilder strSql = new StringBuilder(); strSql.Append("UPDATE dbo.pq_qysz SET jsrq=@jsrq WHERE pqbh=@pqbh"); conn.Execute(strSql.ToString(), model, transaction); strSql.Clear(); model.SjdList = JsonConvert.DeserializeObject <List <Sjd> >(model.sjd); for (int i = 0; i < model.jsrq.Subtract(model.ksrq).TotalDays + 1; i++) { DateTime rq = model.ksrq.AddDays(i); PqTjrqModel rqModel = new PqTjrqModel(); rqModel.pqbh = model.pqbh; rqModel.qybh = model.qybh; rqModel.rq = model.ksrq.AddDays(i); rqModel.tjrs = model.SjdList.Sum(x => x.tjrs); rqModel.yybh = model.yybh; rqModel.flag = GetFlag(model.ksrq.AddDays(i), model.xxr); strSql.Append("insert into pq_tjrq("); strSql.Append("pqbh,yybh,qybh,rq,tjrs,flag)"); strSql.Append(" values ("); strSql.Append("@pqbh,@yybh,@qybh,@rq,@tjrs,@flag)"); conn.Execute(strSql.ToString(), rqModel, transaction); strSql.Clear(); foreach (var item in model.SjdList) { PqTjsjModel sjModel = new PqTjsjModel(); sjModel.yybh = model.yybh; sjModel.pqbh = model.pqbh; sjModel.qybh = model.qybh; sjModel.rq = rqModel.rq; sjModel.tjrs = item.tjrs; sjModel.kssj = Convert.ToDateTime(rqModel.rq.ToString("yyyy-MM-dd") + " " + item.kssj); sjModel.jssj = Convert.ToDateTime(rqModel.rq.ToString("yyyy-MM-dd") + " " + item.jssj); strSql.Append("insert into pq_tjsj("); strSql.Append("pqbh,yybh,qybh,rq,kssj,jssj,tjrs)"); strSql.Append(" values ("); strSql.Append("@pqbh,@yybh,@qybh,@rq,@kssj,@jssj,@tjrs)"); conn.Execute(strSql.ToString(), sjModel, transaction); strSql.Clear(); } } transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw; } } }
public ActionResult BatchSave() { string yybh = GLYadmin.YYID; string qybh = Request["qybh"]; //企业id int tqts = Convert.ToInt32(Request["tqts"]); //提前天数 string jzsj = Request["txtTimeBefor"]; //截止时间 //日期范围 DateTime ksrq = Convert.ToDateTime(Request["txtStartDate"]); DateTime jsrq = Convert.ToDateTime(Request["txtEndDate"]); //时间段 var kssjList = Request.Params.GetValues("kssj"); var jssjList = Request.Params.GetValues("jssj"); var tjrsList = Request.Params.GetValues("tjrs"); //休息日 var xxr = (Request["xxr"] ?? "").Replace(",", "|"); List <PlszMxModel> mxList = new List <PlszMxModel>(); List <PqTjrqModel> tjrqList = new List <PqTjrqModel>(); List <PqTjsjModel> tjsjList = new List <PqTjsjModel>(); for (int i = 0; i < kssjList.Count(); i++) { if (string.IsNullOrEmpty(kssjList[i]) || string.IsNullOrEmpty(jssjList[i])) { return(Json(new { code = 500, msg = "时间段不能为空" })); } else if (string.IsNullOrEmpty(tjrsList[i])) { return(Json(new { code = 500, msg = "预留人数不能为空" })); } for (int j = i + 1; j < kssjList.Count(); j++) { if (Convert.ToDateTime(kssjList[j]) > Convert.ToDateTime(kssjList[i]) && Convert.ToDateTime(kssjList[j]) < Convert.ToDateTime(jssjList[i])) { return(Json(new { code = 500, msg = "第" + (i + 1) + "和第" + (j + 1) + "行时间有重叠" })); } else if (Convert.ToDateTime(jssjList[j]) > Convert.ToDateTime(kssjList[i]) && Convert.ToDateTime(jssjList[j]) < Convert.ToDateTime(jssjList[i])) { return(Json(new { code = 500, msg = "第" + (i + 1) + "和第" + (j + 1) + "行时间有重叠" })); } else if (Convert.ToDateTime(kssjList[j]) < Convert.ToDateTime(kssjList[i]) && Convert.ToDateTime(jssjList[j]) > Convert.ToDateTime(jssjList[i])) { return(Json(new { code = 500, msg = "第" + (i + 1) + "和第" + (j + 1) + "行时间有重叠" })); } } mxList.Add(new PlszMxModel { kssj = kssjList[i], jssj = jssjList[i], tjrs = Convert.ToInt32(tjrsList[i]) }); } //获取企业排期基本设置 var qyPqModel = qypqszService.GetModelByQybh(qybh, GLYadmin.YYID); if (qyPqModel == null) { qyPqModel = new PqQyszModel() { qybh = qybh, yybh = yybh, jzsj = jzsj, tqts = tqts, xxr = xxr }; qypqszService.Add(qyPqModel); } else { qyPqModel.jzsj = jzsj; qyPqModel.tqts = tqts; qyPqModel.xxr = xxr; qypqszService.Update(qyPqModel); } PqPlszjlModel plszjlModel = new PqPlszjlModel(); plszjlModel.kssj = ksrq; plszjlModel.jssj = jsrq; plszjlModel.mx = JsonConvert.SerializeObject(mxList); plszjlModel.yybh = yybh; plszjlModel.qybh = qybh; plszjlService.Add(plszjlModel); tjrqService.BatchSave(ksrq, jsrq, yybh, qybh, mxList, xxr); return(Json(new { code = 200, msg = "" })); }
/// <summary> /// 保存 /// </summary> /// <param name="model"></param> /// <param name="pjtc"></param> /// <param name="pjtcrs"></param> public void Save(PqQyszModel model, string[] pjtc, string[] pjtcrs, string[] pjtcXxr, string[] pjtcSfxz) { using (IDbConnection conn = new DapperConnection().DbConnection) { IDbTransaction transaction = conn.BeginTransaction(); try { StringBuilder strSql = new StringBuilder(); if (!string.IsNullOrEmpty(model.pqbh)) { strSql.Append("DELETE FROM dbo.pq_tjrq WHERE pqbh=@pqbh;"); strSql.Append("DELETE FROM dbo.pq_tjsj WHERE pqbh=@pqbh;"); strSql.Append("DELETE FROM dbo.pq_pjtc WHERE pqbh=@pqbh;"); strSql.Append("DELETE FROM dbo.pq_pjtcgz WHERE pqbh=@pqbh;"); strSql.Append("UPDATE dbo.pq_qysz SET ksrq=@ksrq,jsrq=@jsrq,jzsj=@jzsj,xxr=@xxr,tqts=@tqts,sjd=@sjd,tjrs=@tjrs,tjrs_dy=@tjrs_dy WHERE pqbh=@pqbh"); } else { model.pqbh = GetPqbh(); strSql.Append("insert into pq_qysz(pqbh,yybh,qybh,ksrq,jsrq,cjsj,jzsj,xxr,tqts,sjd,tjrs,tjrs_dy) values (@pqbh,@yybh,@qybh,@ksrq,@jsrq,@cjsj,@jzsj,@xxr,@tqts,@sjd,@tjrs,@tjrs_dy);"); } conn.Execute(strSql.ToString(), model, transaction); strSql.Clear(); //foreach (var item in pjtcList) //{ // strSql.Append("insert into pq_pjtc("); // strSql.Append("pqbh,tcbh,tjrs)"); // strSql.Append(" values ("); // strSql.Append("@pqbh,@tcbh,@tjrs)"); // item.pqbh = model.pqbh; // conn.Execute(strSql.ToString(), item, transaction); // strSql.Clear(); //} if (pjtc != null && pjtcrs != null) { for (int i = 0; i < pjtc.Length; i++) { var fzbh = GetFzbh(); var tjrs = Convert.ToInt32(pjtcrs[i]); var xxr = pjtcXxr[i]; var sfxz = Convert.ToInt32(pjtcSfxz[i]); strSql.Append("insert into pq_pjtcgz("); strSql.Append("pqbh,fzbh,tjrs,xxr,sfxz)"); strSql.Append(" values ("); strSql.Append("@pqbh,@fzbh,@tjrs,@xxr,@sfxz)"); conn.Execute(strSql.ToString(), new { pqbh = model.pqbh, fzbh = fzbh, tjrs = tjrs, xxr = xxr, sfxz = sfxz }, transaction); strSql.Clear(); foreach (var item in pjtc[i].Split(',')) { strSql.Append("insert into pq_pjtc("); strSql.Append("pqbh,tcbh,fzbh)"); strSql.Append(" values ("); strSql.Append("@pqbh,@tcbh,@fzbh)"); conn.Execute(strSql.ToString(), new { pqbh = model.pqbh, fzbh = fzbh, tcbh = item }, transaction); strSql.Clear(); } } } for (int i = 0; i < model.jsrq.Subtract(model.ksrq).TotalDays + 1; i++) { DateTime rq = model.ksrq.AddDays(i); PqTjrqModel rqModel = new PqTjrqModel(); rqModel.pqbh = model.pqbh; rqModel.qybh = model.qybh; rqModel.rq = model.ksrq.AddDays(i); rqModel.tjrs = model.SjdList.Sum(x => x.tjrs); rqModel.yybh = model.yybh; rqModel.flag = GetFlag(model.ksrq.AddDays(i), model.xxr); strSql.Append("insert into pq_tjrq("); strSql.Append("pqbh,yybh,qybh,rq,tjrs,flag)"); strSql.Append(" values ("); strSql.Append("@pqbh,@yybh,@qybh,@rq,@tjrs,@flag)"); conn.Execute(strSql.ToString(), rqModel, transaction); strSql.Clear(); foreach (var item in model.SjdList) { PqTjsjModel sjModel = new PqTjsjModel(); sjModel.yybh = model.yybh; sjModel.pqbh = model.pqbh; sjModel.qybh = model.qybh; sjModel.rq = rqModel.rq; sjModel.tjrs = item.tjrs; sjModel.kssj = Convert.ToDateTime(rqModel.rq.ToString("yyyy-MM-dd") + " " + item.kssj); sjModel.jssj = Convert.ToDateTime(rqModel.rq.ToString("yyyy-MM-dd") + " " + item.jssj); strSql.Append("insert into pq_tjsj("); strSql.Append("pqbh,yybh,qybh,rq,kssj,jssj,tjrs)"); strSql.Append(" values ("); strSql.Append("@pqbh,@yybh,@qybh,@rq,@kssj,@jssj,@tjrs)"); conn.Execute(strSql.ToString(), sjModel, transaction); strSql.Clear(); } } transaction.Commit(); } catch (Exception ex) { transaction.Rollback(); throw; } } }