コード例 #1
0
        public ActionResult Insert_server(Concentrator info)
        {
            //检查用户是否有权限,否则抛出MyDenyAccessException异常
            base.CheckAuthorized(AuthorizeKey.InsertKey);

            CommonResult result = new CommonResult();

            //厂家编码
            var endcode = Session["EndCode"] ?? "0";

            info.IntEndCode = endcode.ToString().ToInt32();

            try
            {
                //调用后台服务获取集中器信息
                ServiceDbClient DbServer = new ServiceDbClient();

                var flg = DbServer.ArcConcentrator_Ins(info);

                if (flg == "0")
                {
                    result.Success = true;
                }
                else
                {
                    result.ErrorMessage = flg;
                    result.Success      = false;
                }
            }
            catch (Exception ex)
            {
                result.ErrorMessage = ex.Message;
            }
            return(ToJsonContent(result));
        }
コード例 #2
0
        private void Fn89(CommonResult result, string fn)
        {
            //var txtConnetTime = Request["txtConnetTime"].ToDecimal();

            //var listPara = GetParams(fn, 1);
            //var ds = baseBLL.ExecStoreProcToDataSet("up_GetAFN04DataRang", listPara);
            //var ret = listPara[listPara.Count - 1].Value.ToString();
            //if (ret == "0")
            //{
            //    if (ds.Tables[0].Rows.Count == 1)
            //    {
            //        var min = ds.Tables[0].Rows[0]["min"].ToString().ToDecimalOrZero();
            //        var max = ds.Tables[0].Rows[0]["max"].ToString().ToDecimalOrZero();

            //        if (min > txtConnetTime || max < txtConnetTime)
            //        {
            //            result.Success = false;
            //            result.ErrorMessage = "允许与主站连续无通信时间 超出范围,应在{0}和{1}之间.".FormatWith(min.ToString(), max.ToString());
            //        }
            //    }
            //}
            //else
            //{
            //    result.Success = false;
            //    result.ErrorMessage = ERR.ArcConcentrator.ExecStoreProcErr + ret;
            //}
        }
コード例 #3
0
        private void Fn1(CommonResult result, string fn)
        {
            var heartCycle = Request["txtHeartCycle"].ToDecimal();

            var listPara = GetParams(fn, 6);
            var ds       = baseBLL.ExecStoreProcToDataSet("up_GetAFN04DataRang", listPara);
            var ret      = listPara[listPara.Count - 1].Value.ToString();

            if (ret == "0")
            {
                if (ds.Tables[0].Rows.Count == 1)
                {
                    var min = ds.Tables[0].Rows[0]["min"].ToString().ToDecimalOrZero();
                    var max = ds.Tables[0].Rows[0]["max"].ToString().ToDecimalOrZero();

                    if (min > heartCycle || max < heartCycle)
                    {
                        result.Success      = false;
                        result.ErrorMessage = "心跳周期超出范围,应在{0}和{1}之间."
                                              .FormatWith(min.ToString("0"), max.ToString("0"));
                    }
                }
            }
            else
            {
                result.Success      = false;
                result.ErrorMessage = ERR.ArcConcentrator.ExecStoreProcErr + ret;
            }
        }
コード例 #4
0
        public ActionResult ChangeTBL_Server(MeterReplaceInfo MeterReplace)
        {
            CommonResult result = new CommonResult();

            MeterReplace.VcUserID   = Session["UserID"].ToString();
            MeterReplace.IntEndCode = 0;
            try
            {
                var flg = new ServiceDbClient().ArcMeter_Replace(MeterReplace);
                if (flg == "0")
                {
                    result.Success = true;
                }
                else
                {
                    result.ErrorMessage = flg;
                    result.Success      = false;
                }
            }
            catch (Exception ex)
            {
                result.ErrorMessage = ex.Message;
            }
            return(ToJsonContent(result));
        }
コード例 #5
0
        /// <summary>
        /// 设置参数
        /// </summary>
        /// <param name="sAddr"></param>
        /// <param name="ChrAllowUsed"></param>
        /// <param name="ChrFreezeDay"></param>
        /// <param name="ChrValveMaint"></param>
        /// <param name="ChrUpTiming"></param>
        /// <param name="ChrUpTimingUnit"></param>
        /// <param name="ChrUpAmount"></param>
        /// <returns></returns>
        public ActionResult SettingMeterInfo_Server(String sAddr, String sMeterInfoTypeNo)
        {
            CommonResult result             = new CommonResult();
            var          endcode            = Session["EndCode"] ?? "0";
            var          meterSettingtypeno = sMeterInfoTypeNo.ToInt();

            try
            {
                var rs = new ServiceDbClient().Terminal_SetMeterConfig(endcode.ToString().ToInt(), sAddr, meterSettingtypeno);
                if (rs == "0")
                {
                    result.Success = true;
                }
                else
                {
                    result.Success      = false;
                    result.ErrorMessage = rs;
                }
            }
            catch (Exception ex)
            {
                var err = ex.ToString();
                result.Success = false;
            }
            return(ToJsonContent(result));
        }
コード例 #6
0
        public ActionResult Update_Server(string id, Concentrator info)
        {
            //检查用户是否有权限,否则抛出MyDenyAccessException异常
            base.CheckAuthorized(AuthorizeKey.UpdateKey);

            //赋值
            info.IntID = Convert.ToInt32(id);

            CommonResult result = new CommonResult();

            if (info.IntUpID == info.IntID)
            {
                result.ErrorMessage = "不能选择自己作为父级设备";
                return(ToJsonContent(result));
            }
            //判断当前 选择的父级 是否为当前设备下的子级
            var listChilden = new List <int>();

            GetChilden(info.IntID.ToString(), ref listChilden);
            if (listChilden.Contains(info.IntUpID))
            {
                result.ErrorMessage = "父级设备不能是当前设备下的子级设备!请重新选择!";
                return(ToJsonContent(result));
            }

            //厂家编码
            var endcode = Session["EndCode"] ?? "0";

            info.IntEndCode = endcode.ToString().ToInt32();

            try
            {
                //调用后台服务获取集中器信息
                ServiceDbClient DbServer = new ServiceDbClient();

                var flg = DbServer.ArcConcentrator_Upd(info);

                if (flg == "0")
                {
                    result.Success = true;
                }
                else
                {
                    result.ErrorMessage = flg;
                    result.Success      = false;
                }
            }
            catch (Exception ex)
            {
                result.ErrorMessage = ex.Message;
            }
            return(ToJsonContent(result));
        }
コード例 #7
0
        public new ActionResult Update(string id, Core.Entity.ArcConcentratorInfo info)
        {
            //检查用户是否有权限,否则抛出MyDenyAccessException异常
            base.CheckAuthorized(AuthorizeKey.UpdateKey);

            CommonResult result = new CommonResult();

            if (info.IntUpID == info.IntID)
            {
                result.ErrorMessage = "不能选择自己作为父级设备";
                return(ToJsonContent(result));
            }
            //判断当前 选择的父级 是否为当前设备下的子级
            var listChilden = new List <int>();

            GetChilden(info.IntID.ToString(), ref listChilden);
            if (listChilden.Contains(info.IntUpID))
            {
                result.ErrorMessage = "父级设备不能是当前设备下的子级设备!请重新选择!";
                return(ToJsonContent(result));
            }

            DbTransaction dbTransaction = BLLFactory <Core.BLL.ArcConcentratorInfo> .Instance.CreateTransaction();

            try
            {
                var flg = baseBLL.Update(info, info.IntID, dbTransaction);

                //if (flg)
                //{
                //    var layerParent = GetLayerParent(info.IntUpID.ToString(), dbTransaction);
                //    var layerChilden = GetLayerChilden(info.IntID.ToString(), dbTransaction);
                //    //层次关系不能大于3
                //    if (layerChilden + layerParent > 3)
                //    {
                //        dbTransaction.Rollback();
                //        result.ErrorMessage = "父级设备层次关系不能大于3,即一个集中器下最多能挂三个中继器!";
                //    }
                //    else
                //    {
                dbTransaction.Commit();
                result.Success = flg;
                //}
                //}
            }
            catch (Exception ex)
            {
                dbTransaction.Rollback();
                LogTextHelper.Error(ex);//错误记录
                result.ErrorMessage = ex.Message;
            }
            return(ToJsonContent(result));
        }
コード例 #8
0
        public ActionResult Update_Server(Customer CustomerInfo, Meter MeterInfo)
        {
            //检查用户是否有权限,否则抛出MyDenyAccessException异常
            base.CheckAuthorized(AuthorizeKey.InsertKey);
            CommonResult result = new CommonResult();

            try
            {
                var cInfo   = Request["CustomerInfo"];
                var mInfo   = Request["MeterInfo"];
                var setting = new Newtonsoft.Json.JsonSerializerSettings
                {
                    NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore
                };
                CustomerInfo = Newtonsoft.Json.JsonConvert.DeserializeObject <Customer>(cInfo, setting);
                MeterInfo    = Newtonsoft.Json.JsonConvert.DeserializeObject <Meter>(mInfo, setting);
                CustomerInfo = ReflectionHelper.ReplacePropertyValue(CustomerInfo, typeof(string), null, string.Empty);
                MeterInfo    = ReflectionHelper.ReplacePropertyValue(MeterInfo, typeof(string), null, string.Empty);

                CustomerInfo.IntUserID = CurrentUser.ID;
                CustomerInfo.IntStatus = 1;

                CustomerInfo.DteCancel = DateTime.Now;
                CustomerInfo.DteOpen   = DateTime.Now;
                MeterInfo.DtCreate     = DateTime.Now;
                MeterInfo.DtOnline     = DateTime.Now;

                MeterInfo.IntCustNO     = CustomerInfo.IntNo;
                CustomerInfo.VcAddrCode = DBLib.PinYinHelper.GetInitials(CustomerInfo.NvcAddr);
                CustomerInfo.VcNameCode = DBLib.PinYinHelper.GetInitials(CustomerInfo.NvcName);
                var endcode = Session["EndCode"] ?? "0";
                CustomerInfo.IntEndCode = endcode.ToString().ToInt32();
                MeterInfo.IntEndCode    = endcode.ToString().ToInt32();
                //调用后台服务获取集中器信息
                ServiceDbClient DbServer = new ServiceDbClient();
                var             flg      = DbServer.ArcCustMeter_Upd(CustomerInfo, MeterInfo);
                if (flg == "0")
                {
                    result.Success = true;
                }
                else
                {
                    result.ErrorMessage = flg;
                    result.Success      = false;
                }
            }
            catch (Exception ex)
            {
                result.Success      = false;
                result.ErrorMessage = ex.Message;
            }
            return(ToJsonContent(result));
        }
コード例 #9
0
        public override ActionResult Insert(Core.Entity.ArcConcentratorInfo info)
        {
            //检查用户是否有权限,否则抛出MyDenyAccessException异常
            base.CheckAuthorized(AuthorizeKey.InsertKey);

            CommonResult  result        = new CommonResult();
            DbTransaction dbTransaction = BLLFactory <Core.BLL.ArcConcentratorInfo> .Instance.CreateTransaction();

            try
            {
                var flg = baseBLL.Insert(info, dbTransaction);

                if (flg)
                {
                    //var layerParent = GetLayerParent(info.IntUpID.ToString(), dbTransaction);
                    //var layerChilden = GetLayerChilden(info.IntID.ToString(), dbTransaction);
                    ////层次关系不能大于3
                    //if (layerChilden + layerParent > 3)
                    //{
                    //    dbTransaction.Rollback();
                    //    result.ErrorMessage = "父级设备层次关系不能大于3,即一个集中器下最多能挂三个中继器!";
                    //}
                    //else
                    //{
                    dbTransaction.Commit();
                    result.Success = true;
                    //}
                }
                else
                {
                    dbTransaction.Rollback();
                }
            }
            catch (Exception ex)
            {
                dbTransaction.Rollback();
                LogTextHelper.Error(ex);//错误记录
                result.ErrorMessage = ex.Message;
            }
            return(ToJsonContent(result));
        }
コード例 #10
0
        public ActionResult Param_MeterConfig_Upd(MeterConfig MeterConf)
        {
            CommonResult result  = new CommonResult();
            var          endcode = Session["EndCode"] ?? "0";

            MeterConf.VcUserIDUpd = Session["UserID"].ToString() ?? "";
            MeterConf.IntEndCode  = endcode.ToString().ToInt32();
            MeterConf.DtLstUpd    = DateTime.Now;
            var rs = new ServiceDbClient().Param_MeterConfig_Opr(MeterConf);

            if (rs == "0")
            {
                result.Success = true;
            }
            else
            {
                result.Success      = false;
                result.ErrorMessage = rs;
            }
            return(ToJsonContent(result));
        }
コード例 #11
0
        private void Fn3(CommonResult result, string fn)
        {
            var mainIP   = Request["txtMainIP"];
            var mainPort = Request["txtMainPort"].ToInt();
            var backIP   = Request["txtBackIP"];
            var backPort = Request["txtBackPort"].ToInt();

            //主用主站地址
            var listPara = GetParams(fn, 1);
            var ds       = baseBLL.ExecStoreProcToDataSet("up_GetAFN04DataRang", listPara);
            var ret      = listPara[listPara.Count - 1].Value.ToString();

            if (ret == "0")
            {
                if (ds.Tables[0].Rows.Count > 1)
                {
                    var startIP = ds.Tables[0].Rows[0][0].ToString();
                    var endIP   = ds.Tables[0].Rows[1][0].ToString();

                    if (!DBLib.Validate.IsIP(mainIP, startIP, endIP))
                    {
                        result.Success      = false;
                        result.ErrorMessage = "主用主站地址 超出范围,应在{0}和{1}之间.".FormatWith(startIP, endIP);
                        return;
                    }
                }
            }
            else
            {
                result.Success      = false;
                result.ErrorMessage = ERR.ArcConcentrator.ExecStoreProcErr + ret;
                return;
            }


            //备用主站地址
            if (backIP != "0.0.0.0")
            {
                listPara = GetParams(fn, 3);
                ds       = baseBLL.ExecStoreProcToDataSet("up_GetAFN04DataRang", listPara);
                ret      = listPara[listPara.Count - 1].Value.ToString();

                if (ret == "0")
                {
                    if (ds.Tables[0].Rows.Count > 1)
                    {
                        var startIP = ds.Tables[0].Rows[0][0].ToString();
                        var endIP   = ds.Tables[0].Rows[1][0].ToString();

                        if (!DBLib.Validate.IsIP(backIP, startIP, endIP))
                        {
                            result.Success      = false;
                            result.ErrorMessage = "备用主站地址 超出范围,应在{0}和{1}之间.".FormatWith(startIP, endIP);
                            return;
                        }
                    }
                }
                else
                {
                    result.Success      = false;
                    result.ErrorMessage = ERR.ArcConcentrator.ExecStoreProcErr + ret;
                    return;
                }
            }

            //主用主站端口
            listPara = GetParams(fn, 2);
            ds       = baseBLL.ExecStoreProcToDataSet("up_GetAFN04DataRang", listPara);
            ret      = listPara[listPara.Count - 1].Value.ToString();

            if (ret == "0")
            {
                if (ds.Tables[0].Rows.Count == 1)
                {
                    var min = ds.Tables[0].Rows[0]["min"].ToString().ToDecimalOrZero();
                    var max = ds.Tables[0].Rows[0]["max"].ToString().ToDecimalOrZero();

                    if (min > mainPort || max < mainPort)
                    {
                        result.Success      = false;
                        result.ErrorMessage = "主用主站端口 超出范围,应在{0}和{1}之间.".FormatWith(min.ToString(), max.ToString());
                        return;
                    }
                }
            }
            else
            {
                result.Success      = false;
                result.ErrorMessage = ERR.ArcConcentrator.ExecStoreProcErr + ret;
                return;
            }


            //备用主站端口
            if (backPort != 0)
            {
                listPara = GetParams(fn, 4);
                ds       = baseBLL.ExecStoreProcToDataSet("up_GetAFN04DataRang", listPara);
                ret      = listPara[listPara.Count - 1].Value.ToString();

                if (ret == "0")
                {
                    if (ds.Tables[0].Rows.Count == 1)
                    {
                        var min = ds.Tables[0].Rows[0]["min"].ToString().ToDecimalOrZero();
                        var max = ds.Tables[0].Rows[0]["max"].ToString().ToDecimalOrZero();

                        if (min > backPort || max < backPort)
                        {
                            result.Success      = false;
                            result.ErrorMessage = "备用主站端口 超出范围,应在{0}和{1}之间.".FormatWith(min.ToString(), max.ToString());
                            return;
                        }
                    }
                }
                else
                {
                    result.Success      = false;
                    result.ErrorMessage = ERR.ArcConcentrator.ExecStoreProcErr + ret;
                    return;
                }
            }
        }
コード例 #12
0
        public ActionResult Import(string guid)
        {
            CommonResult result = new CommonResult();

            result.Success = false;
            try
            {
                var attach = BLLFactory <FileUpload> .Instance.GetByAttachGUID(guid).FirstOrDefault();

                if (attach != null)
                {
                    var    filename = Server.MapPath("~\\" + attach.BasePath + "\\" + attach.SavePath);
                    var    dt       = new System.Data.DataTable();
                    string err      = null;

                    if (AsposeExcelTools.ExcelFileToDataTable(filename, out dt, out err))
                    {
                        //清空中间表
                        BLLFactory <Core.BLL.MidConcentrator> .Instance.DeleteByCondition("1=1");

                        BLLFactory <Core.BLL.MidCustomerMeter> .Instance.DeleteByCondition("1=1");

                        //采集器信息
                        var entity      = new Core.Entity.MidConcentrator();
                        var row         = dt.Rows[2];
                        var nvcName     = row[0].ToString();
                        var nvcAddr     = row[1].ToString();
                        var vcAddr      = row[2].ToString();
                        var intProtocol = row[3].ToString().ToInt();
                        var intCount    = row[4].ToString().ToInt();
                        var intCommMode = row[5].ToString().ToInt();
                        var intCOM      = row[6].ToString().ToInt();
                        var vcParam     = row[7].ToString();
                        var vcSimNo     = row[8].ToString();
                        var intStatus   = row[9].ToString().ToInt();
                        var clientIP    = "127.0.0.1";

                        entity.VcClientIP  = clientIP;
                        entity.IntCOM      = intCOM;
                        entity.IntCommMode = intCommMode;
                        entity.IntCount    = intCount;
                        entity.IntProtocol = intProtocol;
                        entity.IntStatus   = intStatus;
                        entity.NvcAddr     = nvcAddr;
                        entity.NvcName     = nvcName;
                        entity.VcAddr      = vcAddr;
                        entity.VcParam     = vcParam;
                        entity.VcSimNo     = vcSimNo;

                        //DbTransaction dbTransaction = BLLFactory<Core.BLL.MidConcentrator>.Instance.CreateTransaction();
                        BLLFactory <Core.BLL.MidConcentrator> .Instance.Insert(entity);

                        //dbTransaction.Commit();

                        //客户及表信息
                        for (int i = 5; i < dt.Rows.Count; i++)
                        {
                            var item          = dt.Rows[i];
                            var IntCustCode   = item[0].ToString().ToInt();
                            var NvcName       = item[1].ToString();
                            var NvcAddr       = item[2].ToString();
                            var VcTelNo       = item[3].ToString();
                            var VcMobile      = item[4].ToString();
                            var VcIDNo        = item[5].ToString();
                            var IntPriceNo    = item[6].ToString().ToInt();
                            var VcCustType    = item[7].ToString();
                            var IntStatusUser = item[8].ToString().ToInt();
                            var DteOpen       = Convert.ToDateTime(item[9].ToString());
                            var NvcInvName    = item[10].ToString();
                            var NvcInvAddr    = item[11].ToString();
                            var NvcVillage    = item[12].ToString();
                            var VcBuilding    = item[13].ToString();
                            var IntUnitNum    = item[14].ToString().ToInt();
                            var IntRoomNum    = item[15].ToString().ToInt();
                            var IntNumber     = item[16].ToString().ToInt();
                            var VcAddr        = item[17].ToString();
                            var NvcAddrIns    = item[18].ToString();
                            var VcAssetNo     = item[19].ToString();
                            var VcBarCode     = item[20].ToString();
                            var IntOrig       = item[21].ToString().ToInt();
                            var IntChannal    = item[22].ToString().ToInt();
                            var IntProtocol   = item[23].ToString().ToInt();
                            var DtCreate      = Convert.ToDateTime(item[24].ToString());
                            var IntCycle      = item[25].ToString().ToInt();
                            var IntState      = item[26].ToString().ToInt();

                            var mMeter = new Core.Entity.MidCustomerMeter();
                            mMeter.DtCreate    = DateTime.Now;
                            mMeter.DteOpen     = DateTime.Now;
                            mMeter.IntChannal  = IntChannal;
                            mMeter.IntCustCode = IntCustCode;
                            mMeter.IntCycle    = IntCycle;
                            mMeter.IntNumber   = IntNumber;
                            mMeter.IntOrig     = IntOrig;
                            mMeter.IntPriceNo  = IntPriceNo;
                            mMeter.IntProtocol = IntProtocol;
                            mMeter.IntRoomNum  = IntRoomNum;
                            mMeter.IntState    = IntState;
                            mMeter.IntStatus   = IntStatusUser;
                            mMeter.IntUnitNum  = IntUnitNum;
                            //mMeter.IntUserID=
                            mMeter.NvcAddr     = NvcAddr;
                            mMeter.NvcAddrIns  = NvcAddrIns;
                            mMeter.NvcCustType = VcCustType;
                            mMeter.NvcInvAddr  = NvcInvAddr;
                            mMeter.NvcInvName  = NvcInvName;
                            mMeter.NvcName     = NvcName;
                            mMeter.NvcVillage  = NvcVillage;
                            mMeter.VcAddr      = VcAddr;
                            mMeter.VcAssetNo   = VcAssetNo;
                            mMeter.VcBarCode   = VcBarCode;
                            mMeter.VcBuilding  = VcBuilding;
                            mMeter.VcClientIP  = clientIP;
                            //mMeter.VcContractNo=
                            mMeter.VcIDNo   = VcIDNo;
                            mMeter.VcMobile = VcMobile;
                            mMeter.VcTelNo  = VcTelNo;

                            BLLFactory <Core.BLL.MidCustomerMeter> .Instance.Insert(mMeter);

                            //BLLFactory<Core.BLL.MidCustomerMeter>.Instance.Insert(mMeter, dbTransaction);
                        }

                        //dbTransaction.Commit();

                        //@sClientIP VARCHAR(64), --< !--客户端IP-- >
                        //@iConcFlag  INTEGER, --< !--采集器标志0:如果已存在相同采集器,则提示错误,终止导入档案信息 1:如果已存在同地址采集器,将客户与表信息导入,表挂接在同地址采集器下-- >
                        //@iMeterFlag INTEGER,    --< !--一户多表标志0:一户一表,MidCustomerMeter.IntCustCode唯一 1:一户多表,MidCustomerMeter.IntCustCode相同的记录认为是同一客户-- >
                        List <SqlParameter> param = new List <SqlParameter>();
                        param.Add(new SqlParameter("@sClientIP", SqlDbType.VarChar, 64)
                        {
                            Value = clientIP
                        });
                        param.Add(new SqlParameter("@iConcFlag", SqlDbType.VarChar, 64)
                        {
                            Value = 1
                        });
                        param.Add(new SqlParameter("@iMeterFlag", SqlDbType.VarChar, 64)
                        {
                            Value = 1
                        });
                        param.Add(new SqlParameter("@sReturn", SqlDbType.VarChar, 256)
                        {
                            Direction = ParameterDirection.Output
                        });
                        //param[0].Value = clientIP;
                        //param[1].Value = 1;
                        //param[2].Value = 1;
                        //param[3].Direction = ParameterDirection.Output;

                        BLLFactory <Core.BLL.ArcConcentratorInfo> .Instance.ExecStoreProc("up_ImportArchive", param);

                        if (param[3].Value.ToString() == "0")
                        {
                            result.Success = true;
                        }
                        else
                        {
                            result.ErrorMessage = "执行up_ImportArchive存储过程出错!错误如下:" + param[3].Value.ToString();
                        }
                    }
                    else
                    {
                        result.ErrorMessage = err;
                    }
                }
            }
            catch (Exception ex)
            {
                result.ErrorMessage = ex.Message;
            }
            return(ToJsonContent(result));
        }