/// <summary> /// 清库 /// </summary> /// <param name="primaryKey"></param> /// <returns></returns> public ActionResult ClearData(string primaryKey) { var id = int.Parse(primaryKey); var model = _itemService.Get(item => item.SD_ITEM_ID == id); try { var count = _itemResultService.GetUnitDataCount(id); var result = _itemResultService.UnitClearData(id); if (result == count) { //更新执行状态表 _procStateService.DataItemDoClear(model.SD_ID.Value, primaryKey); //更新执行日志表 var proLog = new PDP_PROC_LOG() { SD_ID = model.SD_ID, PROC_CAT_CODE = _procLogService.DataItemCatCode(), PROC_CONTENT_ID = model.SD_ITEM_ID.ToString(), PATIENT_ID = "", PROC_URL = "", PROC_STAT_CODE = 3 }; _procLogService.Insert(proLog); //更新数据项 _itemService.Update(model); } var proc = _procStateService.Get(item => item.PROC_CONTENT_ID == primaryKey && item.SD_ID == model.SD_ID.Value); var user = _userService.Get(u => u.Id == proc.UPD_USER_ID); var userName = user == null ? proc.UPD_USER_ID : user.RealName; var data = new Dictionary <string, string> { { "exeUser", userName }, { "exeTime", proc.UPD_DATE.ToString() } }; return(result == count?Success("清库成功!", data) : Error("清库失败!")); } catch (Exception ex) { _itemService.InsertErrorLog(model.SD_ID.Value, 0, "", "清库失败!" + ex.Message, "2"); return(Error("清库失败!")); } }
public ActionResult Form(string strEnum, SD_ITEM_INFO model) { model.SD_ITEM_ALGO = HttpUtility.UrlDecode(model.SD_ITEM_ALGO, Encoding.Default); model.SD_ITEM_NAME = HttpUtility.UrlDecode(model.SD_ITEM_NAME, Encoding.Default); model.SD_ITEM_ALIAS = HttpUtility.UrlDecode(model.SD_ITEM_ALIAS, Encoding.Default); var row = 0; SD_ITEM_INFO entity = null; model.SD_ITEM_ALGO = model.SD_ITEM_ALGO.Replace("'", "\""); //保存或修改并更新到数据库 var exist = _itemService.Exists(r => r.SD_ITEM_ID == model.SD_ITEM_ID); if (exist) { entity = _itemService.GetWithTrace(r => r.SD_ITEM_ID == model.SD_ITEM_ID); entity.SD_ITEM_CODE = model.SD_ITEM_CODE; entity.SD_ITEM_NAME = model.SD_ITEM_NAME; entity.SD_ITEM_ALIAS = model.SD_ITEM_ALIAS; entity.SD_ITEM_CAT_ID = model.SD_ITEM_CAT_ID; entity.SD_ITEM_DATA_TYPE = model.SD_ITEM_DATA_TYPE; entity.SD_ITEM_UNIT = model.SD_ITEM_UNIT; entity.NUM_PRECISION = model.NUM_PRECISION; entity.SD_ITEM_SRC = model.SD_ITEM_SRC; entity.IS_RESULT = model.IS_RESULT; entity.ORDER_NO = model.ORDER_NO; entity.SD_ITEM_ALGO = model.SD_ITEM_ALGO; entity.VALID_FLAG = model.VALID_FLAG; //entity.SD_EKPI_DESC = model.SD_EKPI_DESC; entity.IS_PUBLIC = model.IS_PUBLIC; row = _itemService.Update(entity); } else { SD_ITEM_INFO value = new SD_ITEM_INFO() { SD_ITEM_CODE = _projectService.GetCurrentSD().SD_CODE + "_TEST", SD_ITEM_NAME = model.SD_ITEM_NAME, SD_ITEM_ALIAS = model.SD_ITEM_ALIAS, SD_ITEM_CAT_ID = model.SD_ITEM_CAT_ID, SD_ITEM_DATA_TYPE = model.SD_ITEM_DATA_TYPE, SD_ITEM_UNIT = model.SD_ITEM_UNIT, NUM_PRECISION = model.NUM_PRECISION, SD_ITEM_SRC = 2, IS_RESULT = model.IS_RESULT, ORDER_NO = model.ORDER_NO, SD_ITEM_ALGO = model.SD_ITEM_ALGO, VALID_FLAG = model.VALID_FLAG, //SD_EKPI_DESC = model.SD_EKPI_DESC, IS_PUBLIC = 0, }; entity = _itemService.Insert(value); model.SD_ITEM_ID = entity.SD_ITEM_ID; } if (!string.IsNullOrWhiteSpace(strEnum)) { var enumList = JsonConvert.DeserializeObject <Dictionary <string, string> >(strEnum);//strEnum.Split(','); var index = 0; foreach (var enumV in enumList) { var id = enumV.Key.Contains("new") ? 0 : int.Parse(enumV.Key); var enumModel = new SD_ITEM_OPTION() { ITEM_OPTION_ID = id, SD_ITEM_ID = model.SD_ITEM_ID, ITEM_OPTION_NAME = enumV.Value, ORDER_NO = index + 1 }; if (_itemOptionService.Exists(r => r.SD_ITEM_ID == model.SD_ITEM_ID && r.ITEM_OPTION_ID == id)) { _itemOptionService.Update(enumModel); } else { _itemOptionService.Insert(enumModel); } } } if (exist) { return(row > 0 ? Success() : Error()); } return(entity != null?Success() : Error()); }