//二级类别不存在时新增 private ActionResult CatNew2(int sdId, UN_SD_TERM_CAT_CONF model) { var catCode2 = GetCatCode(sdId, 2, model.TERM_CAT_CODE, model.TERM_CAT1_CODE, ""); var entity = _termcatconfService.GetWithTrace(r => r.TERM_CAT_CONF_ID == model.TERM_CAT_CONF_ID); if (entity != null) { var row = CatUpdata(entity, model, 2, entity.TERM_CAT2_CODE ?? catCode2); return(row > 0 ? Success() : Error()); } else { var list = _termcatconfService.GetManay(d => d.TERM_CAT_CODE == model.TERM_CAT_CODE && d.SD_ID == sdId && d.TERM_TYPE == 1 && d.TERM_CAT1_CODE == model.TERM_CAT1_CODE && d.TERM_CAT1_NAME.Trim() == model.TERM_CAT1_NAME.Trim()).ToList(); if (list.Count > 1 || list.Count == 0 || (list.Count == 1 && !string.IsNullOrWhiteSpace(list.FirstOrDefault().TERM_CAT2_CODE))) { entity = CatInsert(sdId, model, 2, catCode2); return(entity != null?Success() : Error()); } var m = _termcatconfService.GetWithTrace(d => d.TERM_CAT_CODE == model.TERM_CAT_CODE && d.SD_ID == sdId && d.TERM_TYPE == 1 && d.TERM_CAT1_CODE == model.TERM_CAT1_CODE && d.TERM_CAT1_NAME.Trim() == model.TERM_CAT1_NAME.Trim()); var row = CatUpdata(m, model, 2, m.TERM_CAT2_CODE ?? catCode2); return(row > 0 ? Success() : Error()); } }
public ActionResult CategoryFrom(UN_SD_TERM_CAT_CONF model) { //新增 if (string.IsNullOrEmpty(model.TERM_CAT_CODE)) { // var count = _termCatConfService.GetManay(d => d.TERM_CAT_NAME == model.TERM_CAT_NAME && d.TERM_TYPE == 3 && d.SD_ID == ProjectProvider.Instance.Current.SD_ID).Count; if (_termCatConfService.Exists(d => d.TERM_CAT_NAME == model.TERM_CAT_NAME && d.TERM_TYPE == 3 && d.SD_ID == ProjectProvider.Instance.Current.SD_ID)) { return(Error("该条检查类别已存在!")); } else { var catConf = _termCatConfService.GetManay(d => d.TERM_TYPE == 3 && d.SD_ID == ProjectProvider.Instance.Current.SD_ID); var Catconfig = _termCatConfService.Insert(new UN_SD_TERM_CAT_CONF { TERM_TYPE = 3, TERM_CAT_CODE = catConf.Count > 0 ? catConf.Max(r => int.Parse(r.TERM_CAT_CODE) + 1).ToString() : "1",//(_termCatConfService.GetManay(d => d.TERM_TYPE == 3 && d.SD_ID == ProjectProvider.Instance.Current.SD_ID).Max(r => int.Parse(r.TERM_CAT_CODE)) + 1).ToString(), TERM_CAT_NAME = model.TERM_CAT_NAME, SD_ID = ProjectProvider.Instance.Current.SD_ID }); return(Catconfig != null?Success() : Error()); } } //编辑 else { //var confId = _termCatConfService.Get(d => d.TERM_CAT_NAME == model.TERM_CAT_NAME && d.TERM_TYPE == 2 && d.SD_ID == ProjectProvider.Instance.Current.SD_ID).TERM_CAT_CONF_ID; if (_termCatConfService.Exists(d => d.TERM_CAT_NAME == model.TERM_CAT_NAME && d.SD_ID == ProjectProvider.Instance.Current.SD_ID && d.TERM_CAT_CONF_ID != model.TERM_CAT_CONF_ID)) { return(Error("该类别名称重复!")); } else { if (_termCatConfService.Exists(b => b.TERM_CAT_NAME == model.TERM_CAT_NAME && b.TERM_TYPE == 3 && b.SD_ID == ProjectProvider.Instance.Current.SD_ID && b.TERM_CAT_CODE != model.TERM_CAT_CODE)) { return(Error("此类别名称已经存在!")); } var confnList = _termCatConfService.GetManayWithTrace(r => r.TERM_CAT_CODE == model.TERM_CAT_CODE && r.TERM_TYPE == 3 && r.SD_ID == ProjectProvider.Instance.Current.SD_ID); foreach (var confn in confnList) { confn.TERM_CAT_NAME = model.TERM_CAT_NAME; if (_termCatConfService.Update(confn) < 0) { return(Error("数据更新失败!")); } } return(Success()); } } }
/// <summary> /// 类别更新 /// </summary> /// <param name="entity"></param> /// <param name="model"></param> /// <param name="type">类型(0:药物类别 1:一级类别 2:二级类别 3:三级类别)</param> /// <param name="code"></param> /// <returns></returns> private int CatUpdata(UN_SD_TERM_CAT_CONF entity, UN_SD_TERM_CAT_CONF model, int type, string code) { entity.TERM_CAT_CODE = model.TERM_CAT_NAME == null ? "" : (type == 0 ? code : model.TERM_CAT_CODE); entity.TERM_CAT_NAME = model.TERM_CAT_NAME ?? ""; entity.TERM_CAT1_CODE = model.TERM_CAT1_NAME == null ? "" : (type == 1 ? code : (model.TERM_CAT1_CODE == "aaa" ? "1" : model.TERM_CAT1_CODE)); entity.TERM_CAT1_NAME = model.TERM_CAT1_NAME ?? ""; entity.TERM_CAT2_CODE = model.TERM_CAT2_NAME == null ? "" : (type == 2 ? code : (model.TERM_CAT2_CODE == "aaa" ? "1" : model.TERM_CAT2_CODE)); entity.TERM_CAT2_NAME = model.TERM_CAT2_NAME ?? ""; entity.TERM_CAT3_CODE = model.TERM_CAT3_NAME == null ? "" : (type == 3 ? code : (model.TERM_CAT3_CODE == "aaa" ? "1" : model.TERM_CAT3_CODE)); entity.TERM_CAT3_NAME = model.TERM_CAT3_NAME ?? ""; var row = _termcatconfService.Update(entity); return(row); }
//三级类别更新 private ActionResult CatNew3(int sdId, UN_SD_TERM_CAT_CONF model) { var catCode3 = GetCatCode(sdId, 3, model.TERM_CAT_CODE, model.TERM_CAT1_CODE, model.TERM_CAT2_CODE); var entity = _termcatconfService.GetWithTrace(r => r.TERM_CAT_CONF_ID == model.TERM_CAT_CONF_ID); if (entity == null) { var list = _termcatconfService.GetManay(d => d.TERM_CAT_CODE == model.TERM_CAT_CODE && d.SD_ID == sdId && d.TERM_TYPE == 1 && d.TERM_CAT1_CODE == model.TERM_CAT1_CODE && d.TERM_CAT1_NAME.Trim() == model.TERM_CAT1_NAME.Trim() && d.TERM_CAT2_CODE == model.TERM_CAT2_CODE && d.TERM_CAT2_NAME.Trim() == model.TERM_CAT2_NAME.Trim()).ToList(); if (list.Count > 1 || list.Count == 0 || (list.Count == 1 && !string.IsNullOrWhiteSpace(list.FirstOrDefault().TERM_CAT3_CODE))) { entity = CatInsert(sdId, model, 3, catCode3); return(entity != null?Success() : Error()); } var m = _termcatconfService.GetWithTrace( d => d.TERM_CAT_CODE == model.TERM_CAT_CODE && d.SD_ID == sdId && d.TERM_TYPE == 1 && d.TERM_CAT1_CODE == model.TERM_CAT1_CODE && d.TERM_CAT1_NAME.Trim() == model.TERM_CAT1_NAME.Trim() && d.TERM_CAT2_CODE == model.TERM_CAT2_CODE && d.TERM_CAT2_NAME.Trim() == model.TERM_CAT2_NAME.Trim()); if (string.IsNullOrWhiteSpace(model.TERM_CAT3_CODE) && string.IsNullOrWhiteSpace(model.TERM_CAT3_NAME)) { return(Error("数据库中存在相同数据,无法添加!")); } var row = CatUpdata(m, model, 3, (m.TERM_CAT3_CODE == null || m.TERM_CAT3_CODE == "") ? catCode3 : m.TERM_CAT3_CODE); return(row > 0 ? Success() : Error()); } else { var m = _termcatconfService.GetWithTrace( d => d.TERM_CAT_CODE == model.TERM_CAT_CODE && d.SD_ID == sdId && d.TERM_TYPE == 1 && d.TERM_CAT1_CODE == model.TERM_CAT1_CODE && d.TERM_CAT1_NAME.Trim() == model.TERM_CAT1_NAME.Trim() && d.TERM_CAT2_CODE == model.TERM_CAT2_CODE && d.TERM_CAT2_NAME.Trim() == model.TERM_CAT2_NAME.Trim()); if (m != null && m.TERM_CAT_CONF_ID != entity.TERM_CAT_CONF_ID) { return(Error("数据库中存在相同数据,无法修改!")); } var row = CatUpdata(entity, model, 3, (entity.TERM_CAT3_CODE == null || entity.TERM_CAT3_CODE == "") ? catCode3 : entity.TERM_CAT3_CODE); return(row > 0 ? Success() : Error()); } }
/// <summary> /// 类别新增 /// </summary> /// <param name="sdId"></param> /// <param name="model"></param> /// <param name="type">类型(0:药物类别 1:一级类别 2:二级类别 3:三级类别)</param> /// <param name="code"></param> /// <returns></returns> private UN_SD_TERM_CAT_CONF CatInsert(int sdId, UN_SD_TERM_CAT_CONF model, int type, string code) { var entity = new UN_SD_TERM_CAT_CONF() { SD_ID = sdId, TERM_TYPE = 1, TERM_CAT_CODE = type == 0 ? code : model.TERM_CAT_CODE, TERM_CAT_NAME = model.TERM_CAT_NAME ?? "", TERM_CAT1_CODE = type == 1 ? code : (model.TERM_CAT1_CODE == "aaa" ? "1" : model.TERM_CAT1_CODE), TERM_CAT1_NAME = model.TERM_CAT1_NAME ?? "", TERM_CAT2_CODE = type == 2 ? code : (model.TERM_CAT2_CODE == "aaa" ? "1" : model.TERM_CAT2_CODE), TERM_CAT2_NAME = model.TERM_CAT2_NAME ?? "", TERM_CAT3_CODE = type == 3 ? code : (model.TERM_CAT3_CODE == "aaa" ? "1" : model.TERM_CAT3_CODE), TERM_CAT3_NAME = model.TERM_CAT3_NAME ?? "" }; var m = _termcatconfService.Insert(entity); return(m); }
public ActionResult SubCategoryForm(UN_SD_TERM_CAT_CONF model) { //新增 if (model.TERM_CAT_CONF_ID == 0) { // var count = _termCatConfService.GetManay(d => d.TERM_CAT_NAME == model.TERM_CAT_NAME && d.TERM_TYPE == 3 && d.SD_ID == ProjectProvider.Instance.Current.SD_ID).Count; if (_termCatConfService.Exists(d => d.TERM_CAT_NAME == model.TERM_CAT_NAME && d.TERM_CAT1_NAME == model.TERM_CAT1_NAME && d.TERM_TYPE == 3 && d.SD_ID == ProjectProvider.Instance.Current.SD_ID)) { return(Error("该条检查类别已存在")); } else { //var catConf = _termCatConfService.GetManay(b => b.TERM_CAT_NAME == model.TERM_CAT_NAME && b.TERM_TYPE == 3 && b.SD_ID == ProjectProvider.Instance.Current.SD_ID).Select(b => b.TERM_CAT_CODE).FirstOrDefault(); var catConf = _termCatConfService.GetManayWithTrace(b => b.TERM_CAT_NAME == model.TERM_CAT_NAME && b.TERM_TYPE == 3 && b.SD_ID == ProjectProvider.Instance.Current.SD_ID); var catConf1 = catConf.Where(r => r.TERM_CAT1_NAME.IsNullOrEmpty()).ToList(); if (catConf1.Count > 0) { var catConfEntity = catConf1.FirstOrDefault(); catConfEntity.TERM_CAT1_CODE = (_termCatConfService.GetManayWithTrace(d => d.TERM_TYPE == 3 && d.SD_ID == ProjectProvider.Instance.Current.SD_ID && d.TERM_CAT_NAME == model.TERM_CAT_NAME).Max(r => int.Parse(r.TERM_CAT1_CODE ?? "0")) + 1).ToString(); catConfEntity.TERM_CAT1_NAME = model.TERM_CAT1_NAME; var count = _termCatConfService.Update(catConfEntity); return(count > 0 ? Success() : Error()); } else { var Catconfig = _termCatConfService.Insert(new UN_SD_TERM_CAT_CONF { //如何得到查询后code的内容 TERM_TYPE = 3, TERM_CAT_CODE = catConf.Select(r => r.TERM_CAT_CODE).FirstOrDefault(),//(_termCatConfService.GetManay(b => b.TERM_CAT_NAME == model.TERM_CAT_NAME && b.TERM_TYPE == 3 && b.SD_ID == ProjectProvider.Instance.Current.SD_ID)).ToString(), TERM_CAT_NAME = model.TERM_CAT_NAME, TERM_CAT1_CODE = (_termCatConfService.GetManay(d => d.TERM_TYPE == 3 && d.SD_ID == ProjectProvider.Instance.Current.SD_ID && d.TERM_CAT_NAME == model.TERM_CAT_NAME).Max(r => int.Parse(r.TERM_CAT1_CODE ?? "0")) + 1).ToString(), TERM_CAT1_NAME = model.TERM_CAT1_NAME, SD_ID = ProjectProvider.Instance.Current.SD_ID }); return(Catconfig != null?Success() : Error()); } } } //编辑 else { if (_termCatConfService.Exists(d => d.TERM_CAT1_NAME == model.TERM_CAT1_NAME && d.SD_ID == ProjectProvider.Instance.Current.SD_ID && d.TERM_CAT_NAME == model.TERM_CAT_NAME && d.TERM_CAT_CONF_ID != model.TERM_CAT_CONF_ID)) { return(Error("该类别名称重复")); } else { if (_termCatConfService.Exists(b => b.TERM_CAT1_NAME == model.TERM_CAT1_NAME && b.TERM_TYPE == 3 && b.SD_ID == ProjectProvider.Instance.Current.SD_ID && b.TERM_CAT_NAME == model.TERM_CAT_NAME && b.TERM_CAT_CONF_ID != model.TERM_CAT_CONF_ID)) { return(Error("此类别名称已经存在")); } // var confnList = _termCatConfService.GetManay(r => r.TERM_TYPE == 3 && r.SD_ID == ProjectProvider.Instance.Current.SD_ID&&r.TERM_CAT_CONF_ID==model.TERM_CAT_CONF_ID); var confn = _termCatConfService.GetWithTrace(r => r.TERM_CAT_CONF_ID == model.TERM_CAT_CONF_ID); confn.TERM_CAT1_NAME = model.TERM_CAT1_NAME; confn.TERM_CAT_NAME = model.TERM_CAT_NAME; var Catconfig = _termCatConfService.Update(confn); return(Catconfig != 0 ? Success() : Error()); //foreach (var confn in confnList) //{ // confn.TERM_CAT1_NAME = model.TERM_CAT1_NAME; // if (_termCatConfService.Update(confn) < 0) // return Error("数据更新失败!"); //} //return Success(); } } }
public ActionResult FormCate(UN_SD_TERM_CAT_CONF model) { #region 原逻辑代码 //var sdId = ProjectProvider.Instance.Current.SD_ID; //var lsTermConf = _termcatconfService.Get(d => // d.TERM_CAT_CODE == model.TERM_CAT_CODE && d.SD_ID == sdId && d.TERM_TYPE == 1); //var termname = ""; //var termcatcode = ""; //#region 判断TERM_CAT_CODE是否存在 ////存在(说明是选择已有的药品类别--需要验证化学名是否重复)--找到TERM_CAT_NAME并赋值 //if (lsTermConf != null) //{ // termname = lsTermConf.TERM_CAT_NAME; // termcatcode = lsTermConf.TERM_CAT_CODE; // var lsTermCatConf = _termcatconfService.GetSearchList(d => // d.TERM_CAT_CODE == termcatcode && d.TERM_CAT1_NAME.Trim() == model.TERM_CAT1_NAME.Trim() && // d.SD_ID == sdId && d.TERM_TYPE == 1); // int index = lsTermCatConf?.Count() ?? 0; // //同一termcatcode下termcat1name不能重复 // if (index > 0) // { // //编辑化学名 // if (model.TERM_CAT_CONF_ID > 0) // { // if (lsTermCatConf.FindAll(d => d.TERM_CAT_CONF_ID == model.TERM_CAT_CONF_ID).Count <= 0) // { // return Error("此药品类别下已有此化学名,请重新输入!"); // } // } // //添加化学名 // else // { // return Error("此药品类别下已有此化学名,请重新输入!"); // } // } //} ////不存在(说明是新增药品类别)--不用验证化学名是否重复 //else //{ // //判断TERM_CAT_CODE是否是int型 // var termcatcodeint = 0; // try // { // Convert.ToInt32(model.TERM_CAT_CODE); // termcatcode = model.TERM_CAT_CODE; // } // //不是的话,找到数据库中的TERM_CAT_CODE的最大值并加1赋给termcatcode,TERM_CAT_CODE的值赋给termname // catch (Exception e) // { // //先判断TERM_CAT_CODE是否与数据库中的TERM_CAT_NAME一致 // if (_termcatconfService.Count(d => // d.SD_ID == sdId && d.TERM_TYPE == 1 && d.TERM_CAT_NAME == model.TERM_CAT_CODE) <= 0) // { // var termcatconf = _termcatconfService.GetSearchList(d => d.SD_ID == sdId && d.TERM_TYPE == 1) // .Select(d => new { termcatcodetemp = Convert.ToInt32(d.TERM_CAT_CODE) }).Distinct() // .OrderByDescending(d => d.termcatcodetemp).FirstOrDefault(); // if (termcatconf != null) // termcatcode = (termcatconf.termcatcodetemp + 1).ToString(); // else // termcatcode = "1"; // termname = model.TERM_CAT_CODE; // } // else // { // return Error("此药品类别已存在,请重新输入!"); // } // } //} //#endregion //#region 更新 //if (_termcatconfService.Exists(d => d.TERM_CAT_CONF_ID == model.TERM_CAT_CONF_ID)) //{ // var entity = _termcatconfService.GetWithTrace(r => r.TERM_CAT_CONF_ID == model.TERM_CAT_CONF_ID); // entity.TERM_CAT1_NAME = model.TERM_CAT1_NAME; // entity.TERM_CAT_NAME = termname; // entity.TERM_CAT1_CODE = model.TERM_CAT1_CODE; // entity.TERM_CAT_CODE = termcatcode; // entity.TERM_CAT2_CODE = model.TERM_CAT2_CODE; // entity.TERM_CAT2_NAME = model.TERM_CAT2_NAME; // entity.TERM_CAT3_CODE = model.TERM_CAT3_CODE; // entity.TERM_CAT3_NAME = model.TERM_CAT3_NAME; // var row = _termcatconfService.Update(entity); // return row > 0 ? Success() : Error(); //} //#endregion //#region 插入 //else //{ // var lsTermConf2 = _termcatconfService.GetSearchList(d => d.SD_ID == sdId && d.TERM_TYPE == 1) // .Select(d => new { termcat1code = Convert.ToInt32(d.TERM_CAT1_CODE) }).Distinct() // .OrderByDescending(d => d.termcat1code).FirstOrDefault(); // var termcat1code = ""; // if (lsTermConf2 != null) // termcat1code = (lsTermConf2.termcat1code + 1).ToString(); // else // termcat1code = "1"; // var value = new UN_SD_TERM_CAT_CONF // { // TERM_TYPE = 1, // TERM_CAT1_NAME = model.TERM_CAT1_NAME, // TERM_CAT_NAME = termname, // TERM_CAT1_CODE = termcat1code, // TERM_CAT_CODE = termcatcode, // TERM_CAT2_NAME = "", // TERM_CAT3_NAME = "", // TERM_CAT2_CODE = "", // TERM_CAT3_CODE = "", // MEMO = "", // UPD_USER_ID = "", // UPD_DATE = DateTime.Now, // SD_ID = sdId // }; // var entity = _termcatconfService.Insert(value); // return entity != null ? Success() : Error(); //} //#endregion #endregion var sdId = ProjectProvider.Instance.Current.SD_ID; var lstCatConf = _termcatconfService.GetManay(d => d.TERM_CAT_CODE == model.TERM_CAT_CODE && d.SD_ID == sdId && d.TERM_TYPE == 1); //药物类别存在 if (lstCatConf.Count > 0) { var lsCat1 = lstCatConf.Where(d => d.TERM_CAT1_CODE == model.TERM_CAT1_CODE && d.TERM_CAT1_NAME.Trim() == model.TERM_CAT1_NAME.Trim()).ToList(); //一级类别存在 if (lsCat1.Count() > 0) { //二级类别更新 if (model.TERM_CAT2_CODE != null && model.TERM_CAT2_NAME != null) { var lsCat2 = lsCat1.Where( d => d.TERM_CAT2_CODE == model.TERM_CAT2_CODE && d.TERM_CAT2_NAME.Trim() == model.TERM_CAT2_NAME.Trim()).ToList(); //二级类别存在 if (lsCat2.Count() > 0) { //三级类别更新 //if (model.TERM_CAT3_NAME != null) return(CatNew3(sdId, model)); } //二级类别不存在 else { return(CatNew2(sdId, model)); } } else { return(Error("数据库中存在相同数据,无法更新!")); } } //一级类别不存在 else { var catCode1 = GetCatCode(sdId, 1, model.TERM_CAT_CODE, "", ""); var entity = _termcatconfService.GetWithTrace(r => r.TERM_CAT_CONF_ID == model.TERM_CAT_CONF_ID); if (entity == null) { var entityModel = CatInsert(sdId, model, 1, catCode1); return(entityModel != null?Success() : Error()); } var row = CatUpdata(entity, model, 1, catCode1); return(row > 0 ? Success() : Error()); } } else { var catCode = GetCatCode(sdId, 0, "", "", ""); var entity = CatInsert(sdId, model, 0, catCode); return(entity != null?Success() : Error()); } return(Success()); }