Example #1
0
        public static int UpdateOrSaveStatistics(BioInfo info)
        {
            if (info.category.bio.statistics == null)
            {
                return(0);
            }

            string sql = "INSERT INTO bio_statistics(device_sn,sample) VALUES(?sn,?sample) "
                         + "ON DUPLICATE KEY UPDATE ";

            if (info.category.bio.statistics.sample != null)
            {
                sql += ",sample = ?sample";
            }

            sql += ";";
            sql  = sql.Replace("UPDATE ,", "UPDATE ");

            MySqlParameter[] parameters = { new MySqlParameter("?sn",     MySqlDbType.VarChar),
                                            new MySqlParameter("?sample", MySqlDbType.Int32) };

            parameters[0].Value = info.sn;
            parameters[1].Value = info.category.bio.statistics.sample;

            int num = MySqlHelper.ExecuteNonQuery(Conn, sql, parameters);

            return(num);
        }
Example #2
0
        public static int SaveFault(BioInfo info)
        {
            if (info.category.bio.fault == null)
            {
                return(0);
            }

            string sql = "INSERT INTO bio_fault(device_sn,code,dttime) "
                         + "VALUES(?sn,?code,?dttime) ";

            MySqlParameter[] parameters = { new MySqlParameter("?sn",     MySqlDbType.VarChar),
                                            new MySqlParameter("?code",   MySqlDbType.VarChar),
                                            new MySqlParameter("?dttime", MySqlDbType.Timestamp) };

            int num = 0;

            for (int i = 0; i < info.category.bio.fault.Count; i++)
            {
                parameters[0].Value = info.sn;
                parameters[1].Value = info.category.bio.fault[i].code;
                parameters[2].Value = info.category.bio.fault[i].time;

                num += MySqlHelper.ExecuteNonQuery(Conn, sql, parameters);
            }

            return(num);
        }
        public static int UpdateOrSaveSession(string id, DateTime dt, string strJson)
        {
            int       num       = 0;
            BloodInfo bloodInfo = null;
            BioInfo   bioInfo   = null;
            PoctInfo  poctInfo  = null;

            strJson = strJson.Trim().TrimStart('&').TrimEnd('#');
            try
            {
                if (strJson.IndexOf("\"bio\"") >= 0)
                {//生化仪
                    bioInfo = JsonConvert.DeserializeObject <BioInfo>(strJson);
                }
                else if (strJson.IndexOf("\"poct\"") >= 0)
                {//POCT
                    poctInfo = JsonConvert.DeserializeObject <PoctInfo>(strJson);
                }
                else
                {//血液分析仪
                    bloodInfo = JsonConvert.DeserializeObject <BloodInfo>(strJson.Replace("+", "_"));
                }
            }
            catch (Exception e)
            {
                bloodInfo = null;
                Console.WriteLine("Json 转 ClientInfo 出错:" + e.Message);
            }

            if (bloodInfo != null)
            {
                bloodInfo.sessionid = id;
                bloodInfo.starttime = dt;

                num = ReceiveDao.UpdateOrSaveSession(bloodInfo);
                SaveBloodData(bloodInfo);
            }
            else if (bioInfo != null)
            {
                bioInfo.sessionid = id;
                bioInfo.starttime = dt;
                num = ReceiveDao.UpdateOrSaveSessionForBio(bioInfo);
                SaveBioData(bioInfo);
                SaveLog(bioInfo.sn, strJson);
            }
            else if (poctInfo != null)
            {
                poctInfo.sessionid = id;
                poctInfo.starttime = dt;
                num = ReceiveDao.UpdateOrSaveSessionForPoct(poctInfo);
                SavePoctData(poctInfo);
                SaveLog(poctInfo.sn, strJson);
            }
            else
            {
                Console.WriteLine("ClientInfo 为 null.");
            }

            return(num);
        }
Example #4
0
        public static int UpdateOrSaveStatisticsItem(BioInfo info)
        {
            if (info.category.bio.statistics == null || info.category.bio.statistics.item == null)
            {
                return(0);
            }

            int            num = 0;
            StatisticsItem item;

            for (int i = 0; i < info.category.bio.statistics.item.Count; i++)
            {
                item = info.category.bio.statistics.item[i];

                string sql = "INSERT INTO bio_statistics_item(num,device_sn,R1,R2,smpl) VALUES(?num,?sn,?r1,?r2,?smpl) ";
                //           + "ON DUPLICATE KEY UPDATE ";
                //if (item.R1 != null)
                //    sql += ",R1 = ?r1";
                //if (item.R2 != null)
                //    sql += ",R2 = ?r2";
                //if (item.smpl != null)
                //    sql += ",smpl = ?smpl";

                //sql += ";";
                //sql = sql.Replace("UPDATE ,", "UPDATE ");

                MySqlParameter[] parameters = { new MySqlParameter("?num",  MySqlDbType.VarChar),
                                                new MySqlParameter("?sn",   MySqlDbType.VarChar),
                                                new MySqlParameter("?r1",   MySqlDbType.VarChar),
                                                new MySqlParameter("?r2",   MySqlDbType.VarChar),
                                                new MySqlParameter("?smpl", MySqlDbType.VarChar) };

                parameters[0].Value = item.num;
                parameters[1].Value = info.sn;
                parameters[2].Value = item.R1;
                parameters[3].Value = item.R2;
                parameters[4].Value = item.smpl;

                num += MySqlHelper.ExecuteNonQuery(Conn, sql, parameters);
            }

            return(num);
        }
        private static void AddBioInfo(DataRow candidate, BioInfo bioInfo)
        {
            var value = candidate == null
        ? string.Empty
        : (candidate[bioInfo.Column] as string).SafeString().Trim();
            var item =
                new HtmlDiv {
                InnerText = value
            }.AddTo(bioInfo.Container,
                    "info-item bio-item");

            if (value == string.Empty)
            {
                item.AddCssClasses("empty-item");
            }
            else
            {
                bioInfo.HasValue = true;
            }
        }
 private static void SaveBioData(BioInfo info)
 {
     try
     {
         if (info.dump != null)
         {
             BioDao.InsertDump(info);
         }
         if (info.category != null && info.category.bio != null)
         {
             BioDao.UpdateOrSaveBioItem(info);
             BioDao.UpdateOrSaveStatistics(info);
             BioDao.UpdateOrSaveStatisticsItem(info);
             BioDao.SaveFault(info);
         }
     }
     catch (Exception e)
     {
         Console.WriteLine(e.Message);
     }
 }
Example #7
0
        public static int InsertDump(BioInfo info)
        {
            if (info.dump == null)
            {
                return(0);
            }

            string sql = "INSERT INTO dump(device_sn,encoding,filename,data) VALUES(?sn,?encoding,?filename,?data);";

            MySqlParameter[] parameters = { new MySqlParameter("?sn",       MySqlDbType.VarChar),
                                            new MySqlParameter("?encoding", MySqlDbType.VarChar),
                                            new MySqlParameter("?filename", MySqlDbType.VarChar),
                                            new MySqlParameter("?data",     MySqlDbType.MediumText) };

            parameters[0].Value = info.sn;
            parameters[1].Value = info.dump.encoding;
            parameters[2].Value = info.dump.filename;
            parameters[3].Value = info.dump.data;

            int num = MySqlHelper.ExecuteNonQuery(Conn, sql, parameters);

            return(num);
        }
Example #8
0
        public static int UpdateOrSaveSessionForBio(BioInfo info)
        {
            string sql = "INSERT INTO device_info(SN,DeviceName,SIM,Region,Hospital,Address,Model,DeviceType,MachineType,UpdateTime,dtupdate,sessionid,starttime) "
                         + "VALUES(?sn,?devicename,?sim,?region,?hospoital,?address,?model,'生化仪',?machinetype,?updatetime,?dtupdate,?id,?dt) "
                         + "ON DUPLICATE KEY UPDATE ";

            if (info.sim != null)
            {
                sql += ",SIM = ?sim";
            }
            if (info.hospital != null && info.model != null)
            {
                sql += ",DeviceName = ?devicename";
            }
            if (info.region != null)
            {
                sql += ",Region = ?region";
            }
            if (info.hospital != null)
            {
                sql += ",Hospital = ?hospoital";
            }
            if (info.addr != null)
            {
                sql += ",Address = ?address";
            }
            if (info.model != null)
            {
                sql += ",Model = ?model";
            }
            if (info.machine_type != null)
            {
                sql += ",MachineType = ?machinetype";
            }
            if (info.update_time != null && info.update_time != DateTime.MinValue)
            {
                sql += ",UpdateTime = ?updatetime";
            }

            sql += ",dtupdate = ?dtupdate ";
            sql += ",sessionid = ?id,starttime = ?dt; ";
            sql  = sql.Replace("UPDATE ,", "UPDATE ");

            MySqlParameter[] parameters = { new MySqlParameter("?sn",          MySqlDbType.VarChar),
                                            new MySqlParameter("?devicename",  MySqlDbType.VarChar),
                                            new MySqlParameter("?sim",         MySqlDbType.VarChar),
                                            new MySqlParameter("?region",      MySqlDbType.VarChar),
                                            new MySqlParameter("?hospoital",   MySqlDbType.VarChar),
                                            new MySqlParameter("?address",     MySqlDbType.VarChar),
                                            new MySqlParameter("?model",       MySqlDbType.VarChar),
                                            new MySqlParameter("?machinetype", MySqlDbType.Int32),
                                            new MySqlParameter("?updatetime",  MySqlDbType.Timestamp),
                                            new MySqlParameter("?dtupdate",    MySqlDbType.Timestamp),
                                            new MySqlParameter("?id",          MySqlDbType.VarChar),
                                            new MySqlParameter("?dt",          MySqlDbType.Timestamp) };
            parameters[0].Value = info.sn;
            parameters[1].Value = (string.IsNullOrEmpty(info.hospital) ? "" : info.hospital) + "_" + (string.IsNullOrEmpty(info.model) ? "" : info.model);
            parameters[2].Value = info.sim;
            parameters[3].Value = info.region;
            parameters[4].Value = info.hospital;
            parameters[5].Value = info.addr;
            parameters[6].Value = info.model != null?info.model.ToUpper() : null;

            parameters[7].Value  = info.machine_type;
            parameters[8].Value  = info.update_time;
            parameters[9].Value  = DateTime.Now;
            parameters[10].Value = info.sessionid;
            parameters[11].Value = info.starttime;

            int num = MySqlHelper.ExecuteNonQuery(Conn, sql, parameters);

            return(num);
        }
Example #9
0
        public static int UpdateOrSaveBioItem(BioInfo info)
        {
            if (info.category.bio.item == null)
            {
                return(0);
            }

            int           num = 0;
            BioItemDetail item;

            for (int i = 0; i < info.category.bio.item.Count; i++)
            {
                item = info.category.bio.item[i];

                string sql = @"INSERT INTO bio_item(num,device_sn,blank_time_begin,blank_time_end,calibration_method,corrected_intercept,corrected_slope,first_reagent_volume,k_factor_value,
                                                         main_wavelength,measuring_method,reaction_direction,reaction_time_begin,reaction_time_end,sample_volume,second_reagent_volume,sub_wavelength) 
                                           VALUES(?num,?sn,?blank_time_begin,?blank_time_end,?calibration_method,?corrected_intercept,?corrected_slope,?first_reagent_volume,?k_factor_value,
                                                  ?main_wavelength,?measuring_method,?reaction_direction,?reaction_time_begin,?reaction_time_end,?sample_volume,?second_reagent_volume,?sub_wavelength) "
                             + "ON DUPLICATE KEY UPDATE ";
                if (item.blank_time_begin != null)
                {
                    sql += ",blank_time_begin = ?blank_time_begin";
                }
                if (item.blank_time_end != null)
                {
                    sql += ",blank_time_end = ?blank_time_end";
                }
                if (item.calibration_method != null)
                {
                    sql += ",calibration_method = ?calibration_method";
                }
                if (item.corrected_intercept != null)
                {
                    sql += ",corrected_intercept = ?corrected_intercept";
                }
                if (item.corrected_slope != null)
                {
                    sql += ",corrected_slope = ?corrected_slope";
                }
                if (item.first_reagent_volume != null)
                {
                    sql += ",first_reagent_volume = ?first_reagent_volume";
                }
                if (item.k_factor_value != null)
                {
                    sql += ",k_factor_value = ?k_factor_value";
                }
                if (item.main_wavelength != null)
                {
                    sql += ",main_wavelength = ?main_wavelength";
                }
                if (item.measuring_method != null)
                {
                    sql += ",measuring_method = ?measuring_method";
                }
                if (item.reaction_direction != null)
                {
                    sql += ",reaction_direction = ?reaction_direction";
                }
                if (item.reaction_time_begin != null)
                {
                    sql += ",reaction_time_begin = ?reaction_time_begin";
                }
                if (item.reaction_time_end != null)
                {
                    sql += ",reaction_time_end = ?reaction_time_end";
                }
                if (item.sample_volume != null)
                {
                    sql += ",sample_volume = ?sample_volume";
                }
                if (item.second_reagent_volume != null)
                {
                    sql += ",second_reagent_volume = ?second_reagent_volume";
                }
                if (item.sub_wavelength != null)
                {
                    sql += ",sub_wavelength = ?sub_wavelength";
                }

                sql += ";";
                sql  = sql.Replace("UPDATE ,", "UPDATE ");

                MySqlParameter[] parameters =
                {
                    new MySqlParameter("?num",                   MySqlDbType.VarChar),
                    new MySqlParameter("?sn",                    MySqlDbType.VarChar),
                    new MySqlParameter("?blank_time_begin",      MySqlDbType.Int32),
                    new MySqlParameter("?blank_time_end",        MySqlDbType.Int32),
                    new MySqlParameter("?calibration_method",    MySqlDbType.VarChar),
                    new MySqlParameter("?corrected_intercept",   MySqlDbType.Float),
                    new MySqlParameter("?corrected_slope",       MySqlDbType.Float),
                    new MySqlParameter("?first_reagent_volume",  MySqlDbType.Float),
                    new MySqlParameter("?k_factor_value",        MySqlDbType.Float),
                    new MySqlParameter("?main_wavelength",       MySqlDbType.Int32),
                    new MySqlParameter("?measuring_method",      MySqlDbType.VarChar),
                    new MySqlParameter("?reaction_direction",    MySqlDbType.VarChar),
                    new MySqlParameter("?reaction_time_begin",   MySqlDbType.Int32),
                    new MySqlParameter("?reaction_time_end",     MySqlDbType.Int32),
                    new MySqlParameter("?sample_volume",         MySqlDbType.Float),
                    new MySqlParameter("?second_reagent_volume", MySqlDbType.Float),
                    new MySqlParameter("?sub_wavelength",        MySqlDbType.Int32)
                };

                parameters[0].Value  = item.num;
                parameters[1].Value  = info.sn;
                parameters[2].Value  = item.blank_time_begin;
                parameters[3].Value  = item.blank_time_end;
                parameters[4].Value  = item.calibration_method;
                parameters[5].Value  = item.corrected_intercept;
                parameters[6].Value  = item.corrected_slope;
                parameters[7].Value  = item.first_reagent_volume;
                parameters[8].Value  = item.k_factor_value;
                parameters[9].Value  = item.main_wavelength;
                parameters[10].Value = item.measuring_method;
                parameters[11].Value = item.reaction_direction;
                parameters[12].Value = item.reaction_time_begin;
                parameters[13].Value = item.reaction_time_end;
                parameters[14].Value = item.sample_volume;
                parameters[15].Value = item.second_reagent_volume;
                parameters[16].Value = item.sub_wavelength;

                num += MySqlHelper.ExecuteNonQuery(Conn, sql, parameters);
            }

            return(num);
        }