예제 #1
0
        public static bool Save(TAmbulance entity)
        {
            using (MainDataContext dbContext = new MainDataContext(AppConfig.ConnectionStringDispatch))
            {
                if (entity.车辆编码 == "0")  //添加
                {
                    entity.车辆编码      = PrimaryKeyCreater.getIntPrimaryKey("TAmbulance").ToString("00000");
                    entity.分站编码      = entity.分站编码.PadLeft(3, '0');
                    entity.命令单发送去向编码 = 5;
                    entity.任务编码      = "";
                    entity.任务流水号     = 0;
                    entity.用户流水号     = "";
                    entity.工作状态编码    = 8;
                    entity.当班执行任务数   = 0;
                    entity.司机        = "";
                    entity.医生        = "";
                    entity.护士        = "";
                    entity.担架工       = "";
                    entity.抢救员       = "";
                    entity.是否在线      = false;
                    entity.是否有效      = true;
                    entity.顺序号       = 999;

                    dbContext.TAmbulance.InsertOnSubmit(entity);
                    dbContext.SubmitChanges();
                    return(true);
                }
                else  //修改
                {
                    var model = dbContext.TAmbulance.FirstOrDefault(t => t.车辆编码 == entity.车辆编码);
                    model.分站编码   = entity.分站编码 == "0" ? "000" : entity.分站编码;
                    model.随车电话   = entity.随车电话;
                    model.实际标识   = entity.实际标识;
                    model.车牌号码   = entity.车牌号码;
                    model.车辆等级编码 = entity.车辆等级编码;
                    model.车辆类型编码 = entity.车辆类型编码;
                    dbContext.SubmitChanges();
                    return(true);
                }
            }
        }
예제 #2
0
 public static object Edit(string id)
 {
     using (MainDataContext dbContext = new MainDataContext(AppConfig.ConnectionStringDispatch))
     {
         TAmbulance entity = null;
         if (id != null)
         {
             entity = dbContext.TAmbulance.FirstOrDefault(t => t.车辆编码 == id);
         }
         entity = entity ?? new TAmbulance
         {
             车辆编码   = "0",
             实际标识   = "",
             分站编码   = "001",
             车辆类型编码 = 101,
             车辆等级编码 = 101,
             随车电话   = "13000000000",
         };
         return(entity);
     }
 }
예제 #3
0
        /// <summary>
        /// 暂不进行数据库操作(只修改对象) 分块修改对象 更灵活 提高效率
        /// 获取AmbulanceStateTimeInfo实体
        /// </summary>
        private static TAmbulanceStateTime getAmbStateTimeInfo(int MaxTAmbulanceStateTimeID, string TaskCode, TAmbulance ambInfo, int StateID, DateTime KeyPressTime, string OperatePersonCode)
        {
            //TAmbulance ambInfo = Ambulance.GetAmbulanceInfo(AmbCode);
            TAmbulanceStateTime asInfo = new TAmbulanceStateTime();

            asInfo.编码     = MaxTAmbulanceStateTimeID;
            asInfo.车辆编码   = ambInfo.车辆编码;
            asInfo.任务编码   = TaskCode;
            asInfo.车辆状态编码 = StateID;
            asInfo.时刻值    = KeyPressTime;
            asInfo.记录时刻   = DateTime.Now;
            asInfo.操作来源编码 = 5;
            asInfo.操作员编码  = OperatePersonCode;
            asInfo.车辆是否在线 = ambInfo.是否在线;
            return(asInfo);
        }
예제 #4
0
        public static string Update(TTask newEntity, string Driver, string Doctor, string Nurse, string Litter, string Salver, string AmbulanceStateTime1, string AmbulanceStateTime2, string AmbulanceStateTime3, string AmbulanceStateTime4, string AmbulanceStateTime5, string AmbulanceStateTime6, string AmbulanceStateTime7
                                    , ButtonPower p, C_WorkerDetail UserInfo)
        {
            int workID = UserInfo.W.ID;

            using (MainDataContext dbContext = new MainDataContext(AppConfig.ConnectionStringDispatch))
            {
                try
                {
                    TTask entity = dbContext.TTask.FirstOrDefault(t => t.任务编码 == newEntity.任务编码);
                    if (entity == null)
                    {
                        return("找不到该任务,无法修改!");
                    }
                    List <TTaskPersonLink> LtPersonLink = new List <TTaskPersonLink>();
                    TAmbulance             ambInfo      = Ambulance.GetAmbulanceInfo(newEntity.车辆编码);
                    newEntity.分站编码 = ambInfo.分站编码;

                    #region 所有对象处理 和List<TAmbulanceStateTime>对象新增
                    C_WorkerDetail       CWD        = Anchor.FA.DAL.Organize.Worker.GetWorkerDetailById(Convert.ToInt32(workID));
                    string               PersonCode = CWD.PersonCode.FirstOrDefault();
                    List <TModifyRecord> mriList    = new List <TModifyRecord>();

                    //如果 (车辆可编辑)
                    if (true)
                    {
                        Task.UpdateTaskAmb(entity, newEntity, PersonCode, mriList);
                    }
                    //如果 (人员可编辑)
                    if (true)
                    {
                        List <string> LtDriver;
                        if (Driver.Length == 0)
                        {
                            LtDriver = new List <string>();
                        }
                        else
                        {
                            LtDriver = Driver.Split(',').ToList();
                        }
                        List <string> LtDovtor;
                        if (Doctor.Length == 0)
                        {
                            LtDovtor = new List <string>();
                        }
                        else
                        {
                            LtDovtor = Doctor.Split(',').ToList();
                        }
                        List <string> LtNures;
                        if (Nurse.Length == 0)
                        {
                            LtNures = new List <string>();
                        }
                        else
                        {
                            LtNures = Nurse.Split(',').ToList();
                        }
                        List <string> LtLitter;
                        if (Litter.Length == 0)
                        {
                            LtLitter = new List <string>();
                        }
                        else
                        {
                            LtLitter = Litter.Split(',').ToList();
                        }
                        List <string> LtSalver;
                        if (Salver.Length == 0)
                        {
                            LtSalver = new List <string>();
                        }
                        else
                        {
                            LtSalver = Salver.Split(',').ToList();
                        }

                        Task.UpdateTaskPerson(entity, newEntity, PersonCode, mriList, LtPersonLink
                                              , LtDriver, LtDovtor, LtNures, LtLitter, LtSalver);

                        var lsPL = dbContext.TTaskPersonLink.Where(t => t.任务编码 == newEntity.任务编码);
                        if (lsPL.Any())
                        {
                            //Entity FrameWork 居然没有批量删除与新增 汗
                            //foreach (TTaskPersonLink pl in lsPL)
                            //{
                            //    dbContext.TTaskPersonLink.DeleteOnSubmit(pl);
                            //}
                            dbContext.TTaskPersonLink.DeleteAllOnSubmit(lsPL);
                        }
                        dbContext.TTaskPersonLink.InsertAllOnSubmit(LtPersonLink);
                        //foreach (TTaskPersonLink pl in LtPersonLink)
                        //{
                        //    dbContext.TTaskPersonLink.InsertOnSubmit(pl);
                        //}
                    }
                    //如果 EditTimeNode (各时间字段可编辑)
                    bool EditTimeNode = p.IsHaveRangePower("EditTimeNode");
                    List <TAmbulanceStateTime> LtAmbStateTime = new List <TAmbulanceStateTime>();
                    if (EditTimeNode)
                    {
                        int MaxTAmbulanceStateTimeID;
                        var query = from am in dbContext.TAmbulanceStateTime
                                    select am.编码;
                        if (query.Any())
                        {
                            MaxTAmbulanceStateTimeID = query.Max() + 1;
                        }
                        else
                        {
                            MaxTAmbulanceStateTimeID = 1;
                        }

                        //string OperatePersonCode = LoadWorkerRole(Convert.ToInt32(workID)).EmpNo;

                        Task.UpdateTaskStateTime(entity, newEntity, mriList, LtAmbStateTime, MaxTAmbulanceStateTimeID, ambInfo
                                                 , AmbulanceStateTime1
                                                 , AmbulanceStateTime2
                                                 , AmbulanceStateTime3
                                                 , AmbulanceStateTime4
                                                 , AmbulanceStateTime5
                                                 , AmbulanceStateTime6
                                                 , AmbulanceStateTime7
                                                 , PersonCode
                                                 );

                        //TAmbulanceStateTime 不删除只新增保留历史数据
                        //foreach (TAmbulanceStateTime AmbST in LtAmbStateTime)
                        //{
                        //    dbContext.TAmbulanceStateTime.InsertOnSubmit(AmbST);
                        //}
                        dbContext.TAmbulanceStateTime.InsertAllOnSubmit(LtAmbStateTime);
                    }
                    //如果 IsTaskAbdReasonEdit (是否正常结束,异常结束原因编码,备注可编辑)
                    if (true)
                    {
                        Task.UpdateTaskAbdReason(entity, newEntity, PersonCode, mriList);
                    }
                    #endregion
                    #region 数据修改

                    dbContext.TModifyRecord.InsertAllOnSubmit(mriList);
                    dbContext.SubmitChanges();
                    #endregion
                    return("");
                }
                catch (Exception ex)
                {
                    //Log4Net.LogError("", ex.ToString());
                    return(ex.ToString());
                }
            }
        }
예제 #5
0
        /// <summary>
        /// 暂不进行数据库操作(只修改对象) 分块修改对象 更灵活 提高效率
        /// 修改 TTask 对象 各时间字段修改 添加  TAmbulanceStateTime list 对象
        /// </summary>
        public static void UpdateTaskStateTime(TTask Oldtaskinfo, TTask taskinfo, List <TModifyRecord> mriList, List <TAmbulanceStateTime> LtAmbStateTime, int MaxTAmbulanceStateTimeID, TAmbulance ambInfo, string Time1
                                               , string Time2, string Time3, string Time4, string Time5
                                               , string Time6, string Time7, string OperatePersonCode)
        {
            //var query = from am in db.AmbulanceStateTimeInfos
            //            select am.Code;
            //if (query.Count() > 0)
            //    ambulanceStateTimeInfo.Code = query.Max() + 1;
            //else
            //    ambulanceStateTimeInfo.Code = 1;

            //taskinfo 是新的model 里面并没有存储 接收命令时刻 。。。。
            TaskStateTimeNeed receiveCmdTime = compare(Oldtaskinfo.接收命令时刻, Time1);

            if (receiveCmdTime.NeedUpdate)
            {
                //taskinfo.接收命令时刻 = receiveCmdTime.TaskTime;
                taskinfo.接收命令时刻 = receiveCmdTime.TaskStateTime;
                LtAmbStateTime.Add(getAmbStateTimeInfo(MaxTAmbulanceStateTimeID, taskinfo.任务编码, ambInfo, 1, receiveCmdTime.TaskStateTime, OperatePersonCode));
                MaxTAmbulanceStateTimeID++;
            }
            TaskStateTimeNeed ambulanceLeaveTime = compare(Oldtaskinfo.出车时刻, Time2);

            if (ambulanceLeaveTime.NeedUpdate)
            {
                taskinfo.出车时刻 = ambulanceLeaveTime.TaskStateTime;
                LtAmbStateTime.Add(getAmbStateTimeInfo(MaxTAmbulanceStateTimeID, taskinfo.任务编码, ambInfo, 2, ambulanceLeaveTime.TaskStateTime, OperatePersonCode));
                MaxTAmbulanceStateTimeID++;
            }

            TaskStateTimeNeed arriveSceneTime = compare(Oldtaskinfo.到达现场时刻, Time3);

            if (arriveSceneTime.NeedUpdate)
            {
                taskinfo.到达现场时刻 = arriveSceneTime.TaskStateTime;
                LtAmbStateTime.Add(getAmbStateTimeInfo(MaxTAmbulanceStateTimeID, taskinfo.任务编码, ambInfo, 3, arriveSceneTime.TaskStateTime, OperatePersonCode));
                MaxTAmbulanceStateTimeID++;
            }
            TaskStateTimeNeed leaveSceneTime = compare(Oldtaskinfo.离开现场时刻, Time4);

            if (leaveSceneTime.NeedUpdate)
            {
                taskinfo.离开现场时刻 = leaveSceneTime.TaskStateTime;
                LtAmbStateTime.Add(getAmbStateTimeInfo(MaxTAmbulanceStateTimeID, taskinfo.任务编码, ambInfo, 4, leaveSceneTime.TaskStateTime, OperatePersonCode));
                MaxTAmbulanceStateTimeID++;
            }
            TaskStateTimeNeed arriveHospitalTime = compare(Oldtaskinfo.到达医院时刻, Time5);

            if (arriveHospitalTime.NeedUpdate)
            {
                taskinfo.到达医院时刻 = arriveHospitalTime.TaskStateTime;
                LtAmbStateTime.Add(getAmbStateTimeInfo(MaxTAmbulanceStateTimeID, taskinfo.任务编码, ambInfo, 5, arriveHospitalTime.TaskStateTime, OperatePersonCode));
                MaxTAmbulanceStateTimeID++;
            }
            TaskStateTimeNeed finishTime = compare(Oldtaskinfo.完成时刻, Time6);

            if (finishTime.NeedUpdate)
            {
                taskinfo.完成时刻 = finishTime.TaskStateTime;
                LtAmbStateTime.Add(getAmbStateTimeInfo(MaxTAmbulanceStateTimeID, taskinfo.任务编码, ambInfo, 6, finishTime.TaskStateTime, OperatePersonCode));
                MaxTAmbulanceStateTimeID++;
            }
            TaskStateTimeNeed returnTime = compare(Oldtaskinfo.返回站中时刻, Time7);

            if (returnTime.NeedUpdate)
            {
                taskinfo.返回站中时刻 = returnTime.TaskStateTime;
                LtAmbStateTime.Add(getAmbStateTimeInfo(MaxTAmbulanceStateTimeID, taskinfo.任务编码, ambInfo, 7, returnTime.TaskStateTime, OperatePersonCode));
                MaxTAmbulanceStateTimeID++;
            }
            ModifyTask3(Oldtaskinfo, taskinfo, OperatePersonCode, mriList);
        }
예제 #6
0
 public bool Save(TAmbulance entity)
 {
     return(DAL.BasicInfo.Ambulance.Save(entity));
 }