Exemplo n.º 1
0
        public ActionResult startHand()
        {
            //宣告變數
            string factoryId = Request["factoryId"];
            int    startId   = Convert.ToInt32(Request["StartID"]);
            //需告一個新的ViewModel_StHanEmp
            ViewModel_StHanEmp data = new ViewModel_StHanEmp();
            //查詢空資料行
            var query = (from o in db.Employee
                         where o.employee_factoryId == ""
                         select o).ToList();

            //把空員工資料行與啟動作業編號丟入
            data.Employee = query;
            data.StartId  = startId;
            return(View(data));
        }
Exemplo n.º 2
0
        public ActionResult startHand(ViewModel_StHanEmp data)
        {
            //宣告變數接收傳回值
            string employee_workNumber = Request["employee_WorkNumber"];
            string employee_name       = Request["employee_Name"];
            string factory_Id          = Request["factoryId"];
            int    startId             = data.StartId;
            //用action決定動作 0表示查詢顯示資料
            int action = Convert.ToInt32(Request["action"]);

            try
            {
                //action =1時,新增新資料行
                if (action == 1)
                {
                    //找出年度
                    var query1 = from o in db.StartCheck
                                 where o.Start_id == startId
                                 select o.start_year;
                    int year = query1.FirstOrDefault();
                    //產生流水號
                    var query8 = from o in db.StartHand
                                 where o.startHand_checkId == startId
                                 orderby o.startHand_serialNumber descending
                                 select o.startHand_serialNumber;
                    int    serialNumber       = query8.FirstOrDefault() + 1;
                    string stringSerialNumber = serialNumber.ToString();
                    //找出廠別代碼
                    var query9 = from o in db.Employee
                                 where o.employee_workNumber == employee_workNumber
                                 select o.employee_factoryId;
                    string factoryId = query9.FirstOrDefault();
                    //找出更新者
                    string updateUserWorkNumber = Session["employee_workNumber"].ToString();
                    var    query2 = from o in db.Employee
                                    where o.employee_workNumber == updateUserWorkNumber
                                    select o.employee_name;
                    string updateUserName = query2.FirstOrDefault();

                    StartHand startHand = new StartHand()
                    {
                        startHand_checkId      = startId,
                        startHand_workNumber   = employee_workNumber,
                        startHand_type         = "手動收集",
                        startHand_No           = "RG" + year.ToString() + stringSerialNumber.PadLeft(5, '0') + factoryId.PadLeft(4, '0'),
                        startHand_serialNumber = serialNumber,
                        standHand_updateUser   = updateUserName,
                        startHand_updateTime   = DateTime.Now
                    };
                    //StartHand加入新資料行
                    db.StartHand.Add(startHand);
                    //寫回資料庫
                    db.SaveChanges();
                }
                //action=2,刪除資料表
                if (action == 2)
                {
                    //查詢要刪除的資料行
                    var q2 = (from o in db.StartHand
                              where o.startHand_checkId == startId && o.startHand_workNumber == employee_workNumber
                              select o).FirstOrDefault();
                    //把該筆資料標記為刪除
                    db.StartHand.Remove(q2);
                    //存回資料庫,並刪除該筆
                    db.SaveChanges();
                }
                //try有錯時,拋出錯誤
            }
            catch (Exception ex) { return(Content(ex.ToString())); }
            //假如employee_workNumber為空
            if (string.IsNullOrEmpty(employee_workNumber))
            {
                //把employee_workNumber值設為空字串
                employee_workNumber = "";
            }
            //假如employee_name為空
            if (string.IsNullOrEmpty(employee_name))
            {
                //把employee_name值設為空字串
                employee_name = "";
            }
            //假如factory_Id為空
            if (string.IsNullOrEmpty(factory_Id))
            {
                //把factory_Id值設為空字串
                factory_Id = "";
            }
            //模糊查詢員工編號、員工姓名、廠別代號
            var query = from o in db.Employee
                        where o.employee_workId == 3 &&
                        o.employee_workNumber.Contains(employee_workNumber) &&
                        o.employee_name.Contains(employee_name) &&
                        o.employee_factoryId.Contains(factory_Id)
                        select o;

            //把查詢到的員工資料丟入ViewModel_StHanEmp裡
            data.Employee = query.ToList();
            data.StartId  = data.StartId;
            return(View(data));
        }