/// <summary>
        /// 修改详情列表并提交状态
        /// </summary>
        /// <param name="detaillist"></param>
        public void Update(List <CarcheckitemdetailEntity> detaillist)
        {
            var res = DbFactory.Base().BeginTrans();

            try
            {
                Repository <HazardouscarEntity> inlogdb = new Repository <HazardouscarEntity>(DbFactory.Base());
                HazardouscarEntity haza = inlogdb.FindEntity(detaillist[0].PID);
                Operator           user = OperatorProvider.Provider.Current();
                haza.HazardousProcess = 1;
                haza.ProcessingName   = user.UserName;
                haza.ProcessingId     = user.UserId;
                haza.ProcessingSign   = user.SignImg;
                haza.Modify(detaillist[0].PID);
                for (int i = 0; i < detaillist.Count; i++)
                {
                    detaillist[i].Modify(detaillist[i].ID);
                }

                res.Update <HazardouscarEntity>(haza);
                res.Update <CarcheckitemdetailEntity>(detaillist);
                res.Commit();
            }
            catch (Exception e)
            {
                res.Rollback();
                throw;
            }
        }
Beispiel #2
0
 public ActionResult Refuse(string keyvalue, int type)
 {
     if (type == 0)
     {//拜访车辆(有车)
         VisitcarEntity car = visitcarbll.GetEntity(keyvalue);
         car.State = 99;
         visitcarbll.SaveForm(keyvalue, car);
     }
     else if (type == 3)
     {//拜访人员
         CarUserEntity car = CarUserbll.GetEntity(keyvalue);
         car.State = 99;
         CarUserbll.SaveForm(keyvalue, car, null);
     }
     else if (type == 1)
     {//物料车
         OperticketmanagerBLL    obll = new OperticketmanagerBLL();
         OperticketmanagerEntity op   = obll.GetEntity(keyvalue);
         op.ExamineStatus = 99;
         obll.SaveForm(keyvalue, op);
     }
     else
     {//2危化品车
         HazardouscarBLL    hbll = new HazardouscarBLL();
         HazardouscarEntity ha   = hbll.GetEntity(keyvalue);
         ha.State = 99;
         hbll.Update(keyvalue, ha);
     }
     return(Success("操作成功。"));
 }
Beispiel #3
0
        public ActionResult CarOut(string keyValue, string Note, int type, List <PersongpsEntity> pergps)
        {
            //根据危化品类型添加二级节点
            var    data = dataItemDetailBLL.GetDataItemListByItemCode("'SocketUrl'");
            string IP   = "";
            int    Port = 0;

            foreach (var item in data)
            {
                if (item.ItemName == "IP")
                {
                    IP = item.ItemValue;
                }
                else if (item.ItemName == "Port")
                {
                    Port = Convert.ToInt32(item.ItemValue);
                }
            }
            visitcarbll.CarOut(keyValue, Note, type, pergps);
            CarAlgorithmEntity Car = new CarAlgorithmEntity();

            Car.ID    = keyValue;
            Car.State = 1;
            SocketHelper.SendMsg(Car.ToJson(), IP, Port);

            DataItemDetailBLL pdata = new DataItemDetailBLL();
            string            key   = string.Empty;       // "21049470";
            string            sign  = string.Empty;       // "4gZkNoh3W92X6C66Rb6X";
            var pitem = pdata.GetItemValue("Hikappkey");  //海康服务器密钥
            var url   = pdata.GetItemValue("HikBaseUrl"); //海康服务器地址

            if (!string.IsNullOrEmpty(pitem))
            {
                key  = pitem.Split('|')[0];
                sign = pitem.Split('|')[1];
            }

            if (type == 0)
            {
                VisitcarEntity car = visitcarbll.GetEntity(keyValue);
                HikOut(url, key, sign, car.CarNo);
            }
            else if (type == 1)
            {
                OperticketmanagerBLL    obll = new OperticketmanagerBLL();
                OperticketmanagerEntity op   = obll.GetEntity(keyValue);
                HikOut(url, key, sign, op.Platenumber);
            }
            else if (type == 2)
            {
                HazardouscarBLL    hbll = new HazardouscarBLL();
                HazardouscarEntity ha   = hbll.GetEntity(keyValue);
                HikOut(url, key, sign, ha.CarNo);
            }
            return(Success("操作成功。"));
        }
Beispiel #4
0
 /// <summary>
 /// 改变GPS绑定信息
 /// </summary>
 /// <param name="keyValue"></param>
 /// <param name="entity"></param>
 /// <param name="pgpslist"></param>
 public void ChangeGps(string keyValue, HazardouscarEntity entity, List <PersongpsEntity> pgpslist)
 {
     try
     {
         service.ChangeGps(keyValue, entity, pgpslist);
     }
     catch (Exception e)
     {
         throw;
     }
 }
Beispiel #5
0
 /// <summary>
 /// 保存表单(新增、修改)
 /// </summary>
 /// <param name="keyValue">主键值</param>
 /// <param name="entity">实体对象</param>
 /// <returns></returns>
 public void Update(string keyValue, HazardouscarEntity entity)
 {
     try
     {
         service.Update(keyValue, entity);
     }
     catch (Exception e)
     {
         throw;
     }
 }
Beispiel #6
0
 /// <summary>
 /// 保存表单随行人员及人脸图片
 /// </summary>
 /// <param name="keyValue"></param>
 /// <param name="entity"></param>
 /// <param name="userjson"></param>
 public void SaveFaceUserForm(string keyValue, HazardouscarEntity entity, List <CarUserFileImgEntity> userjson)
 {
     try
     {
         service.SaveFaceUserForm(keyValue, entity, userjson);
     }
     catch (Exception)
     {
         throw;
     }
 }
Beispiel #7
0
 /// <summary>
 /// 保存表单(新增、修改)
 /// </summary>
 /// <param name="keyValue">主键值</param>
 /// <param name="entity">实体对象</param>
 /// <returns></returns>
 public void SaveForm(string keyValue, HazardouscarEntity entity)
 {
     try
     {
         service.SaveForm(keyValue, entity);
     }
     catch (Exception)
     {
         throw;
     }
 }
Beispiel #8
0
        /// <summary>
        /// 增加一个违章接口
        /// </summary>
        public void AddViolation(string id, int type, int ViolationType, string ViolationMsg)
        {
            CarviolationEntity entity = new CarviolationEntity();

            //0为电厂班车 1为私家车 2为商务公车 3为拜访车辆 4为物料车辆 5为危化品车辆
            switch (type)
            {
            case 0:
            case 1:
            case 2:
                Repository <CarinfoEntity> inlogdbC = new Repository <CarinfoEntity>(DbFactory.Base());
                CarinfoEntity car = inlogdbC.FindEntity(id);
                entity.CardNo = car.CarNo;
                entity.Dirver = car.Dirver;
                entity.Phone  = car.Phone;
                break;

            case 3:
                Repository <VisitcarEntity> inlogdbv = new Repository <VisitcarEntity>(DbFactory.Base());
                VisitcarEntity oldv = inlogdbv.FindEntity(id);
                entity.CardNo = oldv.CarNo;
                entity.Dirver = oldv.Dirver;
                entity.Phone  = oldv.Phone;
                break;

            case 4:
                Repository <OperticketmanagerEntity> inlogdbo = new Repository <OperticketmanagerEntity>(DbFactory.Base());
                OperticketmanagerEntity oldo = inlogdbo.FindEntity(id);
                entity.CardNo = oldo.Platenumber;
                entity.Dirver = oldo.DriverName;
                entity.Phone  = oldo.DriverTel;
                break;

            case 5:
                Repository <HazardouscarEntity> inlogdb = new Repository <HazardouscarEntity>(DbFactory.Base());
                HazardouscarEntity old = inlogdb.FindEntity(id);

                entity.CardNo = old.CarNo;
                entity.Dirver = old.Dirver;
                entity.Phone  = old.Phone;
                break;
            }
            entity.CarType       = type;
            entity.CID           = id;
            entity.ViolationType = ViolationType;
            entity.ViolationMsg  = ViolationMsg;
            entity.IsProcess     = 0;
            entity.Create();
            this.BaseRepository().Insert(entity);
        }
 public ActionResult ChangeGps(string keyValue, HazardouscarEntity entity, List <PersongpsEntity> pergps)
 {
     hazardouscarbll.ChangeGps(keyValue, entity, pergps);
     return(Success("操作成功。"));
 }
 public ActionResult SaveForm(string keyValue, HazardouscarEntity entity)
 {
     hazardouscarbll.SaveForm(keyValue, entity);
     return(Success("操作成功。"));
 }
Beispiel #11
0
        /// <summary>
        /// 车辆出厂
        /// </summary>
        /// <param name="keyValue"></param>
        /// <param name="Note"></param>
        /// <param name="type"></param>
        public void CarOut(string keyValue, string Note, int type, List <PersongpsEntity> pergps)
        {
            //开始事物
            var res = DbFactory.Base().BeginTrans();

            try
            {
                List <CarUserFileImgEntity>       dellist   = new List <CarUserFileImgEntity>();//离场
                Repository <CarUserFileImgEntity> caruserdb = new Repository <CarUserFileImgEntity>(DbFactory.Base());
                if (type == 0)
                {//拜访车辆
                    Repository <VisitcarEntity> inlogdb = new Repository <VisitcarEntity>(DbFactory.Base());
                    VisitcarEntity old = inlogdb.FindEntity(keyValue);
                    //old.OutTime = DateTime.Now;
                    //old.State = 4;
                    old.Issubmit = 1;
                    old.Note     = Note;
                    old.Modify(old.ID);
                    Repository <PersongpsEntity> pgpsinlogdb = new Repository <PersongpsEntity>(DbFactory.Base());
                    List <PersongpsEntity>       pgps        = pgpsinlogdb.IQueryable(it => it.VID == keyValue && it.State == 0).ToList();
                    foreach (PersongpsEntity item in pergps)
                    {
                        if (item.UserName == "车辆" && item.State == 1)
                        {//车辆出厂但跟随人员部分未出厂
                            old.Issubmit = 2;
                            //List<PersongpsEntity> list = pgpsinlogdb.IQueryable(it => it.VID == keyValue && it.State == 0).ToList();
                            //if (list.Count == 0)
                            //{//子表所有人员都出厂修改主表出厂状态
                            //    old.OutTime = DateTime.Now;
                            //    old.State = 4;
                            //}
                        }
                        else
                        {//人员
                            PersongpsEntity entity = pgpsinlogdb.FindEntity(item.ID);
                            if (entity != null)
                            {
                                entity.Issubmit = 1;
                                entity.State    = item.State;
                                entity.Modify(item.ID);
                                if (item.State == 1)
                                {
                                    entity.OutTime = DateTime.Now;
                                    var carentity = caruserdb.IQueryable(it => it.Baseid == keyValue && it.Username == entity.UserName).ToList();
                                    dellist.AddRange(carentity);
                                }
                                pgps.Add(entity);
                            }
                        }
                        if (pergps.Where(t => t.State == 1).ToList().Count == pergps.Count)
                        {//子表所有人员都出厂修改主表出厂状态
                            old.OutTime = DateTime.Now;
                            old.State   = 4;
                        }
                    }
                    res.Update <VisitcarEntity>(old);
                    res.Update <PersongpsEntity>(pgps);
                }
                else if (type == 1)
                {
                    //将该车1小时内的打卡记录都变为已进场
                    Repository <OperticketmanagerEntity> inlogdb = new Repository <OperticketmanagerEntity>(DbFactory.Base());
                    OperticketmanagerEntity old = inlogdb.FindEntity(keyValue);
                    old.ExamineStatus = 4;
                    old.OutDate       = DateTime.Now;
                    old.PassRemark    = Note;
                    old.Modify(old.ID);
                    res.Update <OperticketmanagerEntity>(old);
                }
                else
                {//危化品车辆
                    //将该车1小时内的打卡记录都变为已进场
                    Repository <HazardouscarEntity> inlogdb = new Repository <HazardouscarEntity>(DbFactory.Base());
                    HazardouscarEntity old = inlogdb.FindEntity(keyValue);
                    //old.OutTime = DateTime.Now;
                    //old.State = 4;
                    old.Note     = Note;
                    old.Issubmit = 1;
                    old.Modify(old.ID);
                    Repository <PersongpsEntity> pgpsinlogdb = new Repository <PersongpsEntity>(DbFactory.Base());
                    List <PersongpsEntity>       pgps        = new List <PersongpsEntity>();
                    foreach (PersongpsEntity item in pergps)
                    {
                        if (item.UserName == "车辆" && item.State == 1)
                        {//车辆出厂但跟随人员部分未出厂
                            old.Issubmit = 2;
                        }
                        else
                        {//人员
                            PersongpsEntity entity = pgpsinlogdb.FindEntity(item.ID);
                            if (entity != null)
                            {
                                entity.Issubmit = 1;
                                entity.State    = item.State;
                                entity.Modify(item.ID);
                                if (item.State == 1)
                                {
                                    entity.OutTime = DateTime.Now;
                                    var carentity = caruserdb.IQueryable(it => it.Baseid == keyValue && it.Username == entity.UserName).ToList();
                                    dellist.AddRange(carentity);
                                }
                                pgps.Add(entity);
                            }
                        }
                        if (pergps.Where(t => t.State == 1).ToList().Count == pergps.Count)
                        {//子表所有人员都出厂修改主表出厂状态
                            old.OutTime = DateTime.Now;
                            old.State   = 4;
                        }
                    }
                    res.Update <HazardouscarEntity>(old);
                    res.Update <PersongpsEntity>(pgps);
                }
                Repository <CargpsEntity> cgpsinlogdb = new Repository <CargpsEntity>(DbFactory.Base());
                List <CargpsEntity>       cgps        = cgpsinlogdb.IQueryable(it => it.AID == keyValue && it.Status == 0).ToList();
                if (cgps.Count > 0)
                {
                    for (int i = 0; i < cgps.Count; i++)
                    {
                        cgps[i].Status  = 1;
                        cgps[i].EndTime = DateTime.Now;
                        cgps[i].Modify(cgps[i].ID);
                    }
                    res.Update <CargpsEntity>(cgps);
                }

                //车辆违章记录处理
                Repository <CarviolationEntity> violinlogdb = new Repository <CarviolationEntity>(DbFactory.Base());
                List <CarviolationEntity>       violation   = violinlogdb.IQueryable(it => it.CID == keyValue && it.IsProcess == 0).ToList();
                if (violation.Count > 0)
                {
                    for (int i = 0; i < violation.Count; i++)
                    {
                        violation[i].IsProcess      = 1;
                        violation[i].ProcessMeasure = Note;
                        violation[i].Modify(violation[i].ID);
                    }
                    res.Update <CarviolationEntity>(violation);
                }

                res.Commit();
                DeleteUserHiK(dellist, 1);
            }
            catch (Exception ex)
            {
                res.Rollback();
                throw ex;
            }
        }
Beispiel #12
0
        public ActionResult ChangeState(string keyvalue, int type, int state)
        {
            //根据危化品类型添加二级节点
            #region 获取编码管理配置信息
            var    data = dataItemDetailBLL.GetDataItemListByItemCode("'SocketUrl'");
            string IP   = "";
            int    Port = 0;
            foreach (var item in data)
            {
                if (item.ItemName == "IP")
                {
                    IP = item.ItemValue;
                }
                else if (item.ItemName == "Port")
                {
                    Port = Convert.ToInt32(item.ItemValue);
                }
            }

            DataItemDetailBLL pdata = new DataItemDetailBLL();
            string            key   = string.Empty;         // "21049470";
            string            sign  = string.Empty;         // "4gZkNoh3W92X6C66Rb6X";
            var pitem   = pdata.GetItemValue("Hikappkey");  //海康服务器密钥
            var baseurl = pdata.GetItemValue("HikBaseUrl"); //海康服务器地址
            if (!string.IsNullOrEmpty(pitem))
            {
                key  = pitem.Split('|')[0];
                sign = pitem.Split('|')[1];
            }
            #endregion
            state++;
            if (type == 0)
            {//拜访车辆
                VisitcarEntity car = visitcarbll.GetEntity(keyvalue);
                car.State  = state;
                car.InTime = DateTime.Now;
                visitcarbll.SaveForm(keyvalue, car);
                CarAlgorithmEntity Car = new CarAlgorithmEntity();
                Car.CarNo     = car.CarNo;
                Car.GPSID     = car.GPSID;
                Car.GPSName   = car.GPSNAME;
                Car.ID        = car.ID;
                Car.Type      = 3;
                Car.State     = 0;
                Car.LineName  = car.LineName;
                Car.GoodsName = "";
                SocketHelper.SendMsg(Car.ToJson(), IP, Port);
                //车辆放行 (疫情期间此功能暂时屏蔽)
                //AddCarpermission(baseurl, key, sign, car.CarNo, car.Phone, car.Dirver);
                var baselist = CarUserbll.addUserJurisdiction(keyvalue, state, baseurl, key, sign);
                return(Content(baselist.ToJson()));
            }
            else if (type == 3)
            {//拜访人员
                CarUserEntity car = CarUserbll.GetEntity(keyvalue);
                car.State  = type;
                car.InTime = DateTime.Now;
                CarUserbll.SaveForm(keyvalue, car, null);
                //人员添加出入权限
                var baselist = CarUserbll.addUserJurisdiction(keyvalue, state, baseurl, key, sign);
                return(Content(baselist.ToJson()));
            }
            else if (type == 1)
            {//物料车辆
                string parkNames             = "1号岗,二号地磅";
                OperticketmanagerBLL    obll = new OperticketmanagerBLL();
                OperticketmanagerEntity op   = obll.GetEntity(keyvalue);
                op.ExamineStatus = state;
                if (state == 3)
                {
                    op.Getdata = DateTime.Now;
                }
                obll.SaveForm(keyvalue, op);
                CarAlgorithmEntity Car = new CarAlgorithmEntity();
                Car.CarNo   = op.Platenumber;
                Car.GPSID   = op.GpsId;
                Car.GPSName = op.GpsName;
                Car.ID      = op.ID;
                Car.State   = 0;
                Car.Type    = 4;
                string Dress = op.Dress;
                Car.GoodsName = Dress;
                int    ISwharf       = op.ISwharf;
                string Transporttype = op.Transporttype;
                if (Transporttype == "提货")
                {
                    Car.LineName = op.Dress + Transporttype;
                    if (ISwharf == 1)
                    {
                        Car.LineName += "(码头)";
                        parkNames    += ",码头岗";
                    }
                }
                else
                {
                    if (ISwharf == 1)
                    {
                        Car.LineName = "物料转运(码头)";
                        parkNames   += ",码头岗";
                    }
                    else
                    {
                        Car.LineName = "转运(纯称重)";
                    }
                }
                SocketHelper.SendMsg(Car.ToJson(), IP, Port);
                //车辆放行
                AddCarpermission(baseurl, key, sign, op.Platenumber, op.DriverName, op.DriverTel, parkNames);
                return(Success("操作成功。"));
            }
            else
            {//危化品车辆
                HazardouscarBLL    hbll = new HazardouscarBLL();
                HazardouscarEntity ha   = hbll.GetEntity(keyvalue);
                ha.State  = state;
                ha.InTime = DateTime.Now;
                hbll.Update(keyvalue, ha);
                CarAlgorithmEntity Car = new CarAlgorithmEntity();
                Car.CarNo     = ha.CarNo;
                Car.GPSID     = ha.GPSID;
                Car.GPSName   = ha.GPSNAME;
                Car.ID        = ha.ID;
                Car.Type      = 5;
                Car.State     = 0;
                Car.LineName  = ha.HazardousName;
                Car.GoodsName = ha.HazardousName;
                SocketHelper.SendMsg(Car.ToJson(), IP, Port);
                //车辆放行
                CarIn(baseurl, key, sign, ha.CarNo, ha.Phone, ha.Dirver);
                //人员添加出入权限
                var baselist = CarUserbll.addUserJurisdiction(keyvalue, state, baseurl, key, sign);
                return(Content(baselist.ToJson()));
            }
        }