예제 #1
0
        private static WorkBean tryGetWorkBeanValue(string ip)
        {
            WorkBean work  = new WorkBean();
            bool     exist = workMap.TryGetValue(ip, out work);

            return(work);
        }
예제 #2
0
        public static void insertUserDataToWorkBean(UserBean bean)//读卡器读到卡号
        {
            /***
             * 接收到一个用户刷卡信息
             * 1、查看卡号是否存在用户表中(可不做要求cjc)
             * 2、查看关联表中,是否存在读卡器IP
             * 3、记录
             *
             * 一个IP对应一个读卡器,
             * 查看workMap中是否有
             */

            // TODO 从用户表中通过卡号查找用户信息在给到bean

            WorkBean work = tryGetWorkBeanValue(bean.Ip);

            if (work != null)
            {
                if (!work.Card.Equals(bean.Card))//判断存在卡号是否与当前刷的卡号一致  不一致则移除后新增
                {
                    workMap.Remove(bean.Ip);
                    workMap.Add(bean.Ip, insertUserToMap(bean));
                }
            }
            else
            {
                workMap.Add(bean.Ip, insertUserToMap(bean));
            }
        }
예제 #3
0
        private static WorkBean insertWeightToMap(WorkBean workBean, DZCBean bean)
        {
            workBean.WeiIp  = bean.Ip;
            workBean.Weight = bean.Weight;
            workBean.Data   = bean.Data;
            workBean.Unit   = bean.Unit;

            return(workBean);
        }
예제 #4
0
        private static WorkBean insertUserToMap(UserBean bean)
        {
            WorkBean workBean = new WorkBean();

            workBean.UserIp = bean.Ip;
            workBean.UserId = bean.Num;
            workBean.Name   = bean.Name;
            workBean.Card   = bean.Card;

            return(workBean);
        }
예제 #5
0
        public ResultBean insertWeightDataToWorkBean(DZCBean bean)//电子秤读到重量
        {
            ResultBean result  = new ResultBean();
            bool       success = false;
            string     msg     = "";

            ConnBean conn      = new ConnBean();
            bool     connExist = connMap.TryGetValue(bean.Ip, out conn);//通过关联表中找到读卡器IP


            if (conn != null)
            {
                if (conn.Ip3 != null)                              //读卡器IP
                {
                    WorkBean work = tryGetWorkBeanValue(conn.Ip3); //通过读卡器IP得到已经保存的刷卡信息
                    if (work != null)
                    {
                        work = insertWeightToMap(work, bean);

                        saveWork(work);//保存信息

                        success       = true;
                        msg           = "数据保存成功";
                        result.IsLow  = (bean.Weight - conn.Weight) < 0.00000001;//低重
                        result.Value1 = bean.Weight + "";
                        result.Value2 = conn.Weight + "";
                        result.Msg2   = "低重,发送报警。报警重量:" + conn.Weight + ",当前重量:" + bean.Weight;//在IsLow为true时才正确
                        result.Bean   = conn;
                    }
                    else
                    {
                        msg = "电子称 " + conn.Ip + " 未有用户刷卡,重量数据不保存";
                    }
                }
                else
                {
                    msg = "电子称 " + conn.Ip + " 关联的读卡器 " + conn.Ip3 + " 不存在";
                }
            }
            else
            {
                msg = "关联表中不存在电子秤IP:" + bean.Ip + "的报警器及读卡器关联信息";
            }
            result.Success = success;
            result.Msg     = msg;

            return(result);
        }
예제 #6
0
        //保存用户称药数据信息
        public Boolean saveWork(WorkBean b)
        {
            if (b == null)
            {
                return(false);
            }
            //CJC需要处理部分
            LogUtil.instance.Log("-------开始保存数据-------");//"insert into work(weighter_ip) values('127.168.3.78')"
            string sql = "insert into work(user_id,user_name,user_card,user_ip,weighter_ip,weight,data,unit) values(" + b.UserId + ",'" + b.Name + "','" + b.Card + "','" + b.UserIp + "','" + b.WeiIp + "','" + b.Weight + "','" + b.Data + "','" + b.Unit + "')";

            LogUtil.instance.Log(sql);//日志输出

            cmd.CommandText = sql;
            int count = Convert.ToInt32(cmd.ExecuteScalar());

            Console.WriteLine("数据库保存结果:" + count);
            return(true);
        }