Exemple #1
0
        /// <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("清库失败!"));
            }
        }
Exemple #2
0
        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());
        }