public async Task <IActionResult> Edit(int id, [Bind("CowGroupId,CowGroupName,Description,OwnerSignature,EntryDate")] CowGroup cowGroup)
        {
            if (id != cowGroup.CowGroupId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(cowGroup);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!CowGroupExists(cowGroup.CowGroupId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(cowGroup));
        }
Exemplo n.º 2
0
        public JsonResult LoadTask(string taskID)
        {
            TaskBLL   bll = new TaskBLL();
            DairyTask v;

            v = bll.GetTaskByID(Int32.Parse(taskID));
            string displayEarNum = CowBLL.ConvertEarNumToDisplayEarNum(v.EarNum);

            GroupingRecordBLL grbBLL   = new GroupingRecordBLL();
            GroupingRecord    gr       = grbBLL.GetGroupingRecordByTaskID(Int32.Parse(taskID));
            CowGroupBLL       cgBLL    = new CowGroupBLL();
            HouseBLL          hBLL     = new HouseBLL();
            CowGroup          oldgroup = cgBLL.GetCowGroupInfo(gr.OriginalGroupID);
            CowGroup          newgroup = cgBLL.GetCowGroupInfo(gr.TargetGroupID);
            House             oldhouse = hBLL.GetHouseByID(UserBLL.Instance.CurrentUser.Pasture.ID, gr.OriginalHouseID);
            House             newhouse = hBLL.GetHouseByID(UserBLL.Instance.CurrentUser.Pasture.ID, gr.TargetHouseID);

            return(Json(new
            {
                EarNum = v.EarNum,
                DisplayEarNum = displayEarNum,
                ArrivalTime = v.ArrivalTime.ToString("yyyy-MM-dd"),
                Operator = v.OperatorID,
                OldGroup = oldgroup.Name,
                OldHouse = oldhouse.Name,
                NewGroup = newgroup.Name,
                NewHouse = newhouse.Name
            }, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 3
0
 ///<summary>
 /// 增加一个群,输入完全信息,包含配方,配种员,饲养员和兽医。
 /// </summary>
 /// <param name="group"></param>
 /// <returns></returns>
 public int AddCowGroupWithFullInfo(CowGroup group)
 {
     if (String.IsNullOrEmpty(group.Description))
     {
         group.Description = String.Empty;
     }
     return(dalCowGroup.InsertCowGroup(group.Name, group.PastureID, group.TypeNum, group.Description, group.FormulaID, group.InsemOperatorID, group.FeederID, group.DoctorID));
 }
Exemplo n.º 4
0
 /// <summary>
 /// 增加一个群,输入基本信息。(不包含配方,配种员,饲养员和兽医)
 /// </summary>
 /// <param name="group"></param>
 /// <returns></returns>
 public int AddCowGroupWithBasicInfo(CowGroup group)
 {
     if (String.IsNullOrEmpty(group.Description))
     {
         group.Description = String.Empty;
     }
     return(dalCowGroup.InsertCowGroup(group.Name, group.PastureID, group.TypeNum, group.Description));
 }
Exemplo n.º 5
0
        /// <summary>
        /// 增加牛群
        /// </summary>
        /// <returns></returns>
        public JsonResult Add()
        {
            CowGroup group = new CowGroup();

            group.PastureID   = UserBLL.Instance.CurrentUser.Pasture.ID;
            group.Name        = Request.Form["Name"];
            group.TypeNum     = Convert.ToInt32(Request.Form["Type"]);
            group.Description = Request.Form["Description"];
            bllCowGroup.AddCowGroupWithBasicInfo(group);
            return(Json(1, JsonRequestBehavior.AllowGet));
        }
        public async Task <IActionResult> Create([Bind("CowGroupId,CowGroupName,Description,OwnerSignature,EntryDate")] CowGroup cowGroup)
        {
            if (ModelState.IsValid)
            {
                _context.Add(cowGroup);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(cowGroup));
        }
Exemplo n.º 7
0
        public List <CowGroup> GetCowGroupList(int pastureID)
        {
            List <CowGroup> lstCowGroup = new List <CowGroup>();
            DataTable       datCowGroup = this.dalCowGroup.GetCowGroupTable(pastureID);

            foreach (DataRow drCowGroup in datCowGroup.Rows)
            {
                CowGroup cowGroupItem = WrapCowGroupItem(drCowGroup);
                lstCowGroup.Add(cowGroupItem);
            }
            return(lstCowGroup);
        }
Exemplo n.º 8
0
        public CowGroup GetCowGroupInfo(int id)
        {
            CowGroup  cowGroupItem = new CowGroup();
            DataTable datCowGroup  = this.dalCowGroup.GetCowGroupTableByID(id);

            if (datCowGroup != null && datCowGroup.Rows.Count == 1)
            {
                DataRow cowGroupRow = datCowGroup.Rows[0];
                cowGroupItem = WrapCowGroupItem(cowGroupRow);
            }
            return(cowGroupItem);
        }
Exemplo n.º 9
0
        /// <summary>
        /// 更新牛群信息
        /// </summary>
        /// <returns></returns>
        public int UpdateCowGroupInfo(CowGroup group)
        {
            string sql = string.Format(@"UPDATE [Base_CowGroup]
                                           SET [Name] = '{0}'
                                              ,[PastureID] = {1}
                                              ,[FormulaID] = {2}
                                              ,[Type] = {3}
                                              ,[Description] = '{4}'
                                        WHERE ID = {5}", group.Name, group.PastureID, group.FormulaID, group.TypeNum, group.Description, group.ID);

            return(dataProvider1mutong.ExecuteNonQuery(sql.ToString(), CommandType.Text));
        }
Exemplo n.º 10
0
        /// <summary>
        /// 在产犊界面调用本方法
        /// 产生产后三任务
        /// </summary>
        /// <param name="calving"></param>
        public void CreateAfterBornTasks(Calving calving)
        {
            // 分配兽医,饲养员
            CowGroupBLL g  = new CowGroupBLL();
            CowBLL      c  = new CowBLL();
            Cow         cc = c.GetCowInfo(calving.EarNum);
            CowGroup    gg = g.GetCowGroupList(cc.FarmCode).Find(p => p.ID == cc.GroupID);

            // 产犊界面,输入产犊信息,调用本方法产生3个产后任务和犊牛饲喂任务
            DairyTask t1 = new DairyTask();

            t1.PastureID   = gg.PastureID;
            t1.EarNum      = calving.EarNum;
            t1.ArrivalTime = calving.Birthday.AddDays(3.0);
            t1.DeadLine    = t1.ArrivalTime.AddDays(1.0);
            t1.OperatorID  = gg.DoctorID;
            t1.TaskType    = TaskType.Day3AfterBornTask;
            t1.InputTime   = DateTime.Now;
            this.AddTask(t1);

            DairyTask t2 = new DairyTask();

            t2.PastureID   = gg.PastureID;
            t2.EarNum      = calving.EarNum;
            t2.ArrivalTime = calving.Birthday.AddDays(10.0);
            t2.DeadLine    = t2.ArrivalTime.AddDays(1.0);
            t2.OperatorID  = gg.DoctorID;
            t2.TaskType    = TaskType.Day10AfterBornTask;
            t2.InputTime   = DateTime.Now;
            this.AddTask(t2);

            DairyTask t3 = new DairyTask();

            t3.PastureID   = gg.PastureID;
            t3.EarNum      = calving.EarNum;
            t3.ArrivalTime = calving.Birthday.AddDays(15.0);
            t3.DeadLine    = t3.ArrivalTime.AddDays(1.0);
            t3.OperatorID  = gg.DoctorID;
            t3.TaskType    = TaskType.Day15AfterBornTask;
            t3.InputTime   = DateTime.Now;
            this.AddTask(t3);

            return;
        }
        public JsonResult LoadTask(string taskID)
        {
            TaskBLL   bllTask = new TaskBLL();
            DairyTask task    = bllTask.GetTaskByID(Convert.ToInt32(taskID));

            //获得对应牛群的兽医
            Cow      cow      = bllCow.GetCowInfo(task.EarNum);
            CowGroup cowGroup = bllCowGroup.GetCowGroupInfo(cow.GroupID);
            int      doctorID = cowGroup.DoctorID;
            User     user     = bllUser.GetDefaultDoctor(doctorID);

            var taskData = new
            {
                doctor   = user.Role.Name,
                doctorID = doctorID,
                earNum   = CowBLL.ConvertEarNumToDisplayEarNum(task.EarNum)
            };

            return(Json(taskData, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 12
0
        /// <summary>
        /// 取牧场某牛的饲养员、配种员或兽医的责任人ID
        /// </summary>
        /// <param name="pastureID">牧场ID</param>
        /// <param name="earNum">耳号</param>
        /// <param name="roleID">角色ID</param>
        /// <returns></returns>
        public int AssignTask(int pastureID, int earNum, int roleID)
        {
            int         userID;
            CowGroupBLL g        = new CowGroupBLL();
            CowBLL      c        = new CowBLL();
            Cow         cc       = c.GetCowInfo(earNum);
            CowGroup    cowGroup = g.GetCowGroupList(pastureID).Find(p => p.ID == cc.GroupID);

            if (cowGroup != null && cowGroup.InsemOperatorID != 0)
            {
                userID = cowGroup.InsemOperatorID;
            }
            else
            {
                //牛群未分配,则分配给场长
                userID = UserBLL.Instance.GetUsers(UserBLL.Instance.CurrentUser.Pasture.ID, Role.FARM_ADMIN_ID)[0].ID;
            }

            return(userID);
        }
Exemplo n.º 13
0
 /// <summary>
 /// 获取某牛群下所有牛舍
 /// </summary>
 /// <param name="group"></param>
 /// <returns></returns>
 public List <House> GetHouseListByGroup(CowGroup group)
 {
     return(GetHouseList(group.PastureID).FindAll(p => p.GroupID == group.ID));
 }
Exemplo n.º 14
0
        private CowGroup WrapCowGroupItem(DataRow cowGroupRow)
        {
            CowGroup cowGroupItem = new CowGroup();

            if (cowGroupRow != null)
            {
                UserBLL u = new UserBLL();
                User    user;

                cowGroupItem.ID          = Convert.ToInt32(cowGroupRow["ID"]);
                cowGroupItem.Name        = cowGroupRow["GroupName"].ToString();
                cowGroupItem.TypeNum     = Convert.ToInt32(cowGroupRow["Type"]);
                cowGroupItem.Description = cowGroupRow["Description"].ToString();

                cowGroupItem.PastureID = Convert.ToInt32(cowGroupRow["PastureID"]);
                if (cowGroupRow.Table.Columns.Contains("PastureName"))
                {
                    cowGroupItem.PastureName = cowGroupRow["PastureName"].ToString();
                }

                if (cowGroupRow["FormulaID"] != DBNull.Value)
                {
                    cowGroupItem.FormulaID = Convert.ToInt32(cowGroupRow["FormulaID"]);
                }
                if (cowGroupRow["InsemOperatorID"] != DBNull.Value)
                {
                    cowGroupItem.InsemOperatorID = Convert.ToInt32(cowGroupRow["InsemOperatorID"]);
                }
                else
                {
                    cowGroupItem.InsemOperatorID = 0;//0表示没有人
                }
                user = u.GetUsers().Find(p => p.ID == cowGroupItem.InsemOperatorID);

                cowGroupItem.InsemOperatorName = user == null ? null : user.Name;

                if (cowGroupRow["FeedOperatorID"] != DBNull.Value)
                {
                    cowGroupItem.FeederID = Convert.ToInt32(cowGroupRow["FeedOperatorID"]);
                }
                else
                {
                    cowGroupItem.FeederID = 0;//0表示没有人
                }

                user = u.GetUsers().Find(p => p.ID == cowGroupItem.FeederID);
                cowGroupItem.FeederName = user == null? null: user.Name;
                if (cowGroupRow["DoctorID"] != DBNull.Value)
                {
                    cowGroupItem.DoctorID = Convert.ToInt32(cowGroupRow["DoctorID"]);
                }
                else
                {
                    cowGroupItem.DoctorID = 0;//0表示没有人
                }
                user = u.GetUsers().Find(p => p.ID == cowGroupItem.DoctorID);
                cowGroupItem.DoctorName = user == null ? null : user.Name;

                cowGroupItem.CowNumber = GetCowCount(cowGroupItem.ID);
                FormulaBLL fbBLL = new FormulaBLL();
                cowGroupItem.FormulaName = fbBLL.GetFormulaByID(cowGroupItem.FormulaID).Name;
            }
            return(cowGroupItem);
        }
Exemplo n.º 15
0
 public int UpdateCowGroupInfo(CowGroup group)
 {
     return(this.dalCowGroup.UpdateCowGroupInfo(group));
 }
Exemplo n.º 16
0
        public void CheckGrouping(List <CowGroup> groups)
        {
            CowGroup g = groups.FirstOrDefault(p => p.ID == this.GroupID);

            if (g == null)
            {
                return;
            }
            switch (g.GroupType)
            {
            case CowGroupType.CalfCows:
                if (!this.CowType.Equals("犊牛"))
                {
                    this.needGrouping     = true;
                    this.regroupingReason = "此牛不是犊牛,现在犊牛群。";
                }
                break;

            case CowGroupType.BredCattleCows:
                if (!this.CowType.Equals("育成牛"))
                {
                    this.needGrouping     = true;
                    this.regroupingReason = "此牛不是育成牛,现在育成牛群。";
                }
                break;

            case CowGroupType.NullParityCows:
                if (!this.CowType.Equals("青年牛"))
                {
                    this.needGrouping     = true;
                    this.regroupingReason = "此牛不是青年牛牛,现在青年牛牛群。";
                }
                break;

            case CowGroupType.JustBornCows:
                if ((!this.CowType.Equals("经产牛")) || (!this.MilkType.Equals("泌乳牛")))
                {
                    this.needGrouping     = true;
                    this.regroupingReason = "此牛不是泌乳牛,现在初产牛群。";
                }
                break;

            case CowGroupType.LowMilkCows:
                if ((!this.CowType.Equals("经产牛")) || (!this.MilkType.Equals("泌乳牛")))
                {
                    this.needGrouping     = true;
                    this.regroupingReason = "此牛不是泌乳牛,现在低产牛群。";
                }
                break;

            case CowGroupType.MediumMilkCows:
                if ((!this.CowType.Equals("经产牛")) || (!this.MilkType.Equals("泌乳牛")))
                {
                    this.needGrouping     = true;
                    this.regroupingReason = "此牛不是泌乳牛,现在中产牛群。";
                }
                break;

            case CowGroupType.HighMilkCows:
                if ((!this.CowType.Equals("经产牛")) || (!this.MilkType.Equals("泌乳牛")))
                {
                    this.needGrouping     = true;
                    this.regroupingReason = "此牛不是泌乳牛,现在高产牛群。";
                }
                break;

            case CowGroupType.DryMilkCows:
                if ((!this.CowType.Equals("经产牛")) || (!this.MilkType.Equals("干奶牛")))
                {
                    this.needGrouping     = true;
                    this.regroupingReason = "此牛不是干奶牛,现在干奶牛群。";
                }
                break;

            case CowGroupType.DeliveryRoomCows:
                //无检查
                break;

            case CowGroupType.IsolatedCows:
                //无检查
                break;

            case CowGroupType.SickCows:
                if (!this.IsIll)
                {
                    this.needGrouping     = true;
                    this.regroupingReason = "此牛为正常牛,现在病牛群。";
                }
                break;

            default:
                if (this.IsIll && g.GroupType != CowGroupType.SickCows)
                {
                    this.needGrouping     = true;
                    this.regroupingReason = "此牛为病牛,现在正常牛群。";
                }
                break;
            }
        }