Beispiel #1
0
        public CLogin Login(string userName, string userPass)
        {
            if (CUserInfo.LogedUserInfo == null)
            {
                CUserInfo.LogedUserInfo = new Dictionary <string, string>();
            }
            // 获取用户的IP地址和浏览器信息
            SqlCommand cmd = PmConnections.ModCmd();

            cmd.CommandText = "SELECT *  FROM wapEmpList WHERE " + PmSettings.LoginColName + " = '" + userName + "'";
            DataTable      dtuserdata  = new DataTable();
            SqlDataAdapter dataAdapter = new SqlDataAdapter(cmd);

            dataAdapter.Fill(dtuserdata);
            dataAdapter.Dispose();
            cmd.Connection.Close();
            if (dtuserdata.Rows.Count > 0)
            {
                DataRow data = PublicFunc.CheckEmptyVal(dtuserdata.Clone(), dtuserdata.Rows[0]);
                PmUser.EmpID               = Convert.ToInt32(data["empID"]);
                PmUser.UserName            = data["empName"].ToString();
                PmUser.EmpWorkID           = data["empWorkID"].ToString();
                PmUser.UserDesc            = data["dept"].ToString();
                PmUser.PhoneNumber         = data["phoneNum"].ToString();
                PmUser.Email               = data["email"].ToString();
                PmUser.UserSysID           = Convert.ToInt32(data["sysID"]);
                PmUser.UsercusID           = Convert.ToInt32(data["cusID"]);
                PmUser.UserShopUserGroupID = data["shopUserGroupID"].ToString();
                PmUser.UserSysName         = PublicFunc.GetSysName(PmUser.UserSysID);
                PmUser.UserIpAdress        = UserIP;
                PmUser.UserPass            = userPass;
                PmUser.UserAgent           = UserAgent;
            }
            CLogin login = new CLogin();

            //查询是否有这个用户名
            if (dtuserdata.Rows.Count == 0)
            {
                login.LoginState = 0;
                login.Message    = "没有这个用户名.";
            }
            //判断密码是否正确
            else
            {
                //服务器获取登录状态
                cmd             = PmConnections.CtrlCmd();
                cmd.CommandText = "SELECT * FROM wapUserstate WHERE empid = '" + userName + "'";
                DataTable dtuserstate = new DataTable();
                dataAdapter = new SqlDataAdapter(cmd);
                dataAdapter.Fill(dtuserstate);
                dataAdapter.Dispose();
                cmd.Connection.Close();
                //判断是否是登录状态
                if (dtuserstate.Rows.Count > 0)
                {
                    //查询用户是否在线
                    if (Convert.ToBoolean(dtuserstate.Rows[0]["online"]))
                    {
                        //用户在线,返回在线消息
                        login.LoginState = 2;
                        login.Message    = "用户已经在IP:" + dtuserstate.Rows[0]["userIpaddress"] + " 上登陆.";
                    }
                    else
                    {
                        //用户不在线,但是密码错误
                        DateTime lasterrortime = Convert.ToDateTime(dtuserstate.Rows[0]["errorTime"]);
                        int      errortimes    = Convert.ToInt32(dtuserstate.Rows[0]["errorTimes"]);
                        int      haslogintimes = pwderrTimes - errortimes;
                        if (haslogintimes > 0)
                        {
                            //可以再次登录
                            if (userPass == dtuserdata.Rows[0]["password"].ToString())
                            {
                                //密码正确,返回登录信息,记录用户为正常登录
                                login.LoginState = 1;
                                login.Message    = "登录成功.";
                                login.UserGuiD   = Guid.NewGuid().ToString();
                                PmUser.UserGuid  = login.UserGuiD;
                                login.EmpID      = PmUser.EmpID;
                                if (CUserInfo.LogedUserInfo.ContainsKey(PmUser.EmpID.ToString()))
                                {
                                    CUserInfo.LogedUserInfo[PmUser.EmpID.ToString()] = PmUser.UserGuid;
                                }
                                else
                                {
                                    CUserInfo.LogedUserInfo.Add(PmUser.EmpID.ToString(), PmUser.UserGuid);
                                }
                                //更新用户信息类
                                PmUser.UserGuid = login.UserGuiD;
                                //查询用户是不是管理员
                                PmUser.IsAdmin = IsAdmin(PmUser.EmpID, PmUser.UserSysID);
                                //获取用户的功能列表
                                PmUser.FunctionList = new List <string>();
                                if (PmUser.IsAdmin == true)
                                {
                                    PmUser.FunctionList.Add("systemsetting");
                                    PmUser.FunctionList.Add("reportsystem");
                                    PmUser.FunctionList.Add("datacenter");
                                    PmUser.FunctionList.Add("planboard");
                                }
                                else
                                {
                                    cmd             = PmConnections.ModCmd();
                                    cmd.CommandText = "SELECT shopUsergroupid FROM wapUser WHERE userName in (SELECT USERNAME FROM wapEmpUserMap WHERE empid = '" + PmUser.EmpID + "')";
                                    SqlDataReader rd = cmd.ExecuteReader();
                                    while (rd.Read())
                                    {
                                        if (rd[0].ToString().ToUpper() == "CFM")
                                        {
                                            PmUser.FunctionList.Add("reportsystem");
                                        }
                                        if (rd[0].ToString().ToUpper() == "REP")
                                        {
                                            PmUser.FunctionList.Add("reportsystem");
                                        }
                                        if (rd[0].ToString().ToUpper() == "VIEW")
                                        {
                                            PmUser.FunctionList.Add("datacenter");
                                        }
                                        if (rd[0].ToString().ToUpper() == "BOARD")
                                        {
                                            PmUser.FunctionList.Add("planboard");
                                        }
                                    }
                                    rd.Close();
                                    cmd.Connection.Close();
                                }
                                //更新登录状态,这里是update
                                cmd             = PmConnections.CtrlCmd();
                                cmd.CommandText = "UPDATE wapUserstate SET userIpaddress = '" + PmUser.UserIpAdress + "',onLine = '1',errorTimes='0',errorTime='" + DateTime.Now + "',message = '登录成功',userGuid = '" + PmUser.UserGuid + "'WHERE empid = '" + GetUpdateVal() + "'";
                                cmd.ExecuteNonQuery();
                                cmd.Connection.Close();
                                PublicFunc.WriteUserLog(PmUser.EmpID.ToString(), UserIP, "用户登录", "登陆成功.", UserAgent);
                            }
                            else
                            {
                                //密码错误,返回登录信息,记录用户密码错误
                                errortimes++;
                                login.LoginState = 0;
                                login.Message    = "用户密码错误!再输入" + (3 - errortimes).ToString() + "次错误密码后,账号将被锁定5分钟.";
                                //更新登录状态,这里是update
                                cmd             = PmConnections.CtrlCmd();
                                cmd.CommandText = "UPDATE wapUserstate SET userIpaddress = '" + PmUser.UserIpAdress + "',onLine = '0',errorTimes='" + errortimes + "',errorTime='" + DateTime.Now + "',message = '密码错误',userGuid = '" + PmUser.UserGuid + "'WHERE empid = '" + GetUpdateVal() + "'";
                                cmd.ExecuteNonQuery();
                                cmd.Connection.Close();
                                PublicFunc.WriteUserLog(PmUser.EmpID.ToString(), UserIP, "用户登录", "密码错误,错误次数:" + errortimes, UserAgent);
                            }
                        }
                        else
                        {
                            if ((DateTime.Now - lasterrortime).TotalSeconds > 300)
                            {
                                //可以验证密码登录
                                if (userPass == dtuserdata.Rows[0]["password"].ToString())
                                {
                                    login.LoginState = 1;
                                    login.Message    = "登录成功.";
                                    login.UserGuiD   = Guid.NewGuid().ToString();
                                    PmUser.UserGuid  = login.UserGuiD;
                                    login.EmpID      = PmUser.EmpID;
                                    if (CUserInfo.LogedUserInfo.ContainsKey(PmUser.EmpID.ToString()))
                                    {
                                        CUserInfo.LogedUserInfo[PmUser.EmpID.ToString()] = PmUser.UserGuid;
                                    }
                                    else
                                    {
                                        CUserInfo.LogedUserInfo.Add(PmUser.EmpID.ToString(), PmUser.UserGuid);
                                    }
                                    //更新用户信息类
                                    PmUser.UserGuid = login.UserGuiD;
                                    //查询用户是不是管理员
                                    PmUser.IsAdmin = IsAdmin(PmUser.EmpID, PmUser.UserSysID);
                                    //获取用户的功能列表
                                    PmUser.FunctionList = new List <string>();
                                    if (PmUser.IsAdmin == true)
                                    {
                                        PmUser.FunctionList.Add("systemsetting");
                                        PmUser.FunctionList.Add("reportsystem");
                                        PmUser.FunctionList.Add("datacenter");
                                        PmUser.FunctionList.Add("planboard");
                                    }
                                    else
                                    {
                                        cmd             = PmConnections.ModCmd();
                                        cmd.CommandText = "SELECT shopUSergroupid FROM wapUser WHERE userName in (SELECT USERNAME FROM wapEmpUserMap WHERE empid = '" + PmUser.EmpID + "') and sysid = '" + PmUser.UserSysID + "'";
                                        SqlDataReader rd = cmd.ExecuteReader();
                                        while (rd.Read())
                                        {
                                            if (rd[0].ToString().ToUpper() == "CFM")
                                            {
                                                PmUser.FunctionList.Add("reportsystem");
                                            }
                                            if (rd[0].ToString().ToUpper() == "REP")
                                            {
                                                PmUser.FunctionList.Add("reportsystem");
                                            }
                                            if (rd[0].ToString().ToUpper() == "VIEW")
                                            {
                                                PmUser.FunctionList.Add("datacenter");
                                            }
                                            if (rd[0].ToString().ToUpper() == "BOARD")
                                            {
                                                PmUser.FunctionList.Add("planboard");
                                            }
                                        }
                                        rd.Close();
                                        cmd.Connection.Close();
                                    }
                                    //更新登录状态,这里是update
                                    cmd             = PmConnections.CtrlCmd();
                                    cmd.CommandText = "UPDATE wapUserstate SET userIpaddress = '" + PmUser.UserIpAdress + "',onLine = '1',errorTimes='0',errorTime='" + DateTime.Now + "',message = '登录成功',userGuid = '" + PmUser.UserGuid + "' WHERE empid = '" + GetUpdateVal() + "'";
                                    cmd.ExecuteNonQuery();
                                    cmd.Connection.Close();
                                    PublicFunc.WriteUserLog(PmUser.EmpID.ToString(), UserIP, "用户登录", "登陆成功.", UserAgent);
                                }
                                //用户密码错误记录密码错误次数
                                else
                                {
                                    //删除登录状态,重新登录
                                    cmd             = PmConnections.CtrlCmd();
                                    cmd.CommandText = "DELETE FROM wapUserstate WHERE empid = '" + GetUpdateVal() + "'";
                                    cmd.ExecuteNonQuery();
                                    cmd.Connection.Close();
                                    //正常退出的用户,判断用户密码是否正确
                                    if (userPass == dtuserdata.Rows[0]["password"].ToString())
                                    {
                                        //密码正确,返回登录信息,记录用户为正常登录
                                        login.LoginState = 1;
                                        login.Message    = "登录成功.";
                                        login.UserGuiD   = Guid.NewGuid().ToString();
                                        PmUser.UserGuid  = login.UserGuiD;
                                        login.EmpID      = PmUser.EmpID;
                                        if (CUserInfo.LogedUserInfo.ContainsKey(PmUser.EmpID.ToString()))
                                        {
                                            CUserInfo.LogedUserInfo[PmUser.EmpID.ToString()] = PmUser.UserGuid;
                                        }
                                        else
                                        {
                                            CUserInfo.LogedUserInfo.Add(PmUser.EmpID.ToString(), PmUser.UserGuid);
                                        }
                                        //更新用户信息类
                                        PmUser.UserGuid = login.UserGuiD;
                                        //查询用户是不是管理员
                                        PmUser.IsAdmin = IsAdmin(PmUser.EmpID, PmUser.UserSysID);
                                        //获取用户的功能列表
                                        PmUser.FunctionList = new List <string>();
                                        if (PmUser.IsAdmin == true)
                                        {
                                            PmUser.FunctionList.Add("systemsetting");
                                            PmUser.FunctionList.Add("reportsystem");
                                            PmUser.FunctionList.Add("datacenter");
                                            PmUser.FunctionList.Add("planboard");
                                        }
                                        else
                                        {
                                            cmd             = PmConnections.ModCmd();
                                            cmd.CommandText = "SELECT shopUSergroupid FROM wapUser WHERE userName in (SELECT USERNAME FROM wapEmpUserMap WHERE empid = '" + PmUser.EmpID + "') and sysid = '" + PmUser.UserSysID + "'";
                                            SqlDataReader rd = cmd.ExecuteReader();
                                            while (rd.Read())
                                            {
                                                if (rd[0].ToString().ToUpper() == "CFM")
                                                {
                                                    PmUser.FunctionList.Add("reportsystem");
                                                }
                                                if (rd[0].ToString().ToUpper() == "REP")
                                                {
                                                    PmUser.FunctionList.Add("reportsystem");
                                                }
                                                if (rd[0].ToString().ToUpper() == "VIEW")
                                                {
                                                    PmUser.FunctionList.Add("datacenter");
                                                }
                                                if (rd[0].ToString().ToUpper() == "BOARD")
                                                {
                                                    PmUser.FunctionList.Add("planboard");
                                                }
                                            }
                                            rd.Close();
                                            cmd.Connection.Close();
                                        }
                                        //更新登录状态
                                        cmd             = PmConnections.CtrlCmd();
                                        cmd.CommandText = "INSERT wapUserstate (empID,empName,userPass,userIpaddress,onLine,errorTimes,errorTime,message,userGuid) VALUES ('" + GetUpdateVal() + "','"
                                                          + PmUser.UserName + "','" + PmUser.UserPass + "','" + PmUser.UserIpAdress + "','1','0','" + DateTime.Now + "','登录成功','" + PmUser.UserGuid + "')";
                                        cmd.ExecuteNonQuery();
                                        cmd.Connection.Close();
                                        if (CUserInfo.LogedUserInfo.ContainsKey(PmUser.UserName))
                                        {
                                            CUserInfo.LogedUserInfo[PmUser.UserName] = PmUser.UserGuid;
                                        }
                                        else
                                        {
                                            CUserInfo.LogedUserInfo.Add(PmUser.UserName, PmUser.UserGuid);
                                        }
                                        PublicFunc.WriteUserLog(PmUser.EmpID.ToString(), UserIP, "用户登录", "登陆成功.", UserAgent);
                                    }
                                    else
                                    {
                                        //密码错误,返回登录信息,记录用户密码错误
                                        login.LoginState = 0;
                                        login.Message    = "用户密码错误!再输入2次错误密码后,账号将被锁定5分钟.";
                                        //更新登录状态
                                        cmd             = PmConnections.CtrlCmd();
                                        cmd.CommandText = "INSERT wapUserstate (empID,empName,userPass,userIpaddress,onLine,errorTimes,errorTime,message,userGuid) VALUES ('" + GetUpdateVal() + "','"
                                                          + PmUser.UserName + "','" + PmUser.UserPass + "','" + PmUser.UserIpAdress + "','0','1','" + DateTime.Now + "','密码错误','" + PmUser.UserGuid + "')";
                                        cmd.ExecuteNonQuery();
                                        cmd.Connection.Close();
                                        PublicFunc.WriteUserLog(PmUser.EmpID.ToString(), UserIP, "用户登录", "密码错误,错误次数:1", UserAgent);
                                    };
                                }
                            }
                            else
                            {
                                login.LoginState = 0;
                                login.Message    = "用户被锁定,请在" + (300 - (DateTime.Now - lasterrortime).TotalSeconds).ToString("0") + "秒后登陆.";
                                PublicFunc.WriteUserLog(PmUser.EmpID.ToString(), UserIP, "用户锁定", "用户由于密码错误超过3次,用户锁定.", UserAgent);
                            }
                        }
                    }
                }
                else
                {
                    //正常退出的用户,判断用户密码是否正确
                    if (userPass == dtuserdata.Rows[0]["password"].ToString())
                    {
                        //密码正确,返回登录信息,记录用户为正常登录
                        login.LoginState = 1;
                        login.Message    = "登录成功.";
                        login.UserGuiD   = Guid.NewGuid().ToString();
                        PmUser.UserGuid  = login.UserGuiD;
                        login.EmpID      = PmUser.EmpID;
                        if (CUserInfo.LogedUserInfo.ContainsKey(PmUser.EmpID.ToString()))
                        {
                            CUserInfo.LogedUserInfo[PmUser.EmpID.ToString()] = PmUser.UserGuid;
                        }
                        else
                        {
                            CUserInfo.LogedUserInfo.Add(PmUser.EmpID.ToString(), PmUser.UserGuid);
                        }
                        //更新用户信息类
                        PmUser.UserGuid = login.UserGuiD;
                        //查询用户是不是管理员
                        PmUser.IsAdmin = IsAdmin(PmUser.EmpID, PmUser.UserSysID);
                        //获取用户的功能列表
                        PmUser.FunctionList = new List <string>();
                        if (PmUser.IsAdmin == true)
                        {
                            PmUser.FunctionList.Add("systemsetting");
                            PmUser.FunctionList.Add("reportsystem");
                            PmUser.FunctionList.Add("datacenter");
                            PmUser.FunctionList.Add("planboard");
                        }
                        else
                        {
                            cmd             = PmConnections.ModCmd();
                            cmd.CommandText = "SELECT shopUSergroupid FROM wapUser WHERE userName in (SELECT USERNAME FROM wapEmpUserMap WHERE empid = '" + PmUser.EmpID + "') and sysid = '" + PmUser.UserSysID + "'";
                            SqlDataReader rd = cmd.ExecuteReader();
                            while (rd.Read())
                            {
                                if (rd[0].ToString().ToUpper() == "CFM")
                                {
                                    PmUser.FunctionList.Add("reportsystem");
                                }
                                if (rd[0].ToString().ToUpper() == "REP")
                                {
                                    PmUser.FunctionList.Add("reportsystem");
                                }
                                if (rd[0].ToString().ToUpper() == "VIEW")
                                {
                                    PmUser.FunctionList.Add("datacenter");
                                }
                                if (rd[0].ToString().ToUpper() == "BOARD")
                                {
                                    PmUser.FunctionList.Add("planboard");
                                }
                            }
                            rd.Close();
                            cmd.Connection.Close();
                        }
                        //更新登录状态
                        cmd             = PmConnections.CtrlCmd();
                        cmd.CommandText = "INSERT wapUserstate (empID,empName,userPass,userIpaddress,onLine,errorTimes,errorTime,message,userGuid) VALUES ('" + GetUpdateVal() + "','"
                                          + PmUser.UserName + "','" + PmUser.UserPass + "','" + PmUser.UserIpAdress + "','1','0','" + DateTime.Now + "','登录成功','" + PmUser.UserGuid + "')";
                        cmd.ExecuteNonQuery();
                        cmd.Connection.Close();
                        PublicFunc.WriteUserLog(PmUser.EmpID.ToString(), UserIP, "用户登录", "登陆成功.", UserAgent);
                    }
                    else
                    {
                        //密码错误,返回登录信息,记录用户密码错误
                        login.LoginState = 0;
                        login.Message    = "用户密码错误!再输入2次错误密码后,账号将被锁定5分钟.";
                        //更新登录状态
                        cmd             = PmConnections.CtrlCmd();
                        cmd.CommandText = "INSERT wapUserstate (empID,empName,userPass,userIpaddress,onLine,errorTimes,errorTime,message,userGuid) VALUES ('" + GetUpdateVal() + "','"
                                          + PmUser.UserName + "','" + PmUser.UserPass + "','" + PmUser.UserIpAdress + "','0','1','" + DateTime.Now + "','密码错误','" + PmUser.UserGuid + "')";
                        cmd.ExecuteNonQuery();
                        cmd.Connection.Close();
                        PublicFunc.WriteUserLog(PmUser.EmpID.ToString(), UserIP, "用户登录", "密码错误,错误次数:1", UserAgent);
                    }
                }
            }
            return(login);
        }
Beispiel #2
0
        public List <COrderList> CanDownThisRes_Call(string resname, int dayshift)
        {
            SqlCommand cmd = PmConnections.SchCmd();

            cmd.CommandText = "SELECT * FROM User_MesDailyData WHERE  resCanUsed like '%" + resname.Split(':')[0] + "%' and datatype = 'P' and dailyDate >='" + DateTime.Now + "' and TaskFinishState < '4' ORDER BY workid,productid,pmresname,pmopname,PlanStartTime Desc";
            SqlDataAdapter da   = new SqlDataAdapter(cmd);
            DataTable      data = new DataTable();

            da.Fill(data);
            da.Dispose();
            cmd.Connection.Close();

            //获取现有设备上的工单数据
            cmd.CommandText = "SELECT pmresname,pmopname,workid FROM User_MesDailyData WHERE pmresname = '" + resname + "' and datatype ='P'  and taskfinishstate < 4 and dailydate = '" + DateTime.Now.Date + "' and dayshift = '" + dayshift + "'";
            da = new SqlDataAdapter(cmd);
            DataTable dtthisrestasks = new DataTable();

            da.Fill(dtthisrestasks);
            da.Dispose();
            cmd.Connection.Close();

            //对拉取过来的数据去重
            DataTable newdata = data.Clone();
            string    thisworkid, preworkid = string.Empty;
            string    thisproduct, preproduct = string.Empty;
            string    thisresname, preresname = string.Empty;
            string    thisopname, preopname = string.Empty;

            for (int i = 0; i < data.Rows.Count; i++)
            {
                if (i == 0)
                {
                    preworkid  = data.Rows[i]["workid"].ToString();
                    preproduct = data.Rows[i]["productid"].ToString();
                    preresname = data.Rows[i]["pmresname"].ToString();
                    preopname  = data.Rows[i]["pmopname"].ToString();
                    continue;
                }
                else
                {
                    thisworkid  = data.Rows[i]["workid"].ToString();
                    thisproduct = data.Rows[i]["productid"].ToString();
                    thisresname = data.Rows[i]["pmresname"].ToString();
                    thisopname  = data.Rows[i]["pmopname"].ToString();
                    DataRow[] finddr = dtthisrestasks.Select("pmresname = '" + data.Rows[i]["pmresname"].ToString() + "' and pmopname = '"
                                                             + data.Rows[i]["pmopname"].ToString() + "' and  workid = '" + data.Rows[i]["workid"].ToString() + "'");
                    if (finddr.Count() > 0)
                    {
                        continue;
                    }
                    if (thisworkid == preworkid)
                    {
                        //工单一样,比较产品是否一样
                        if (thisproduct == preproduct)
                        {
                            //产品一样 比较设备是否一样
                            if (thisresname == preresname)
                            {
                                //如果设备一样,比较工序是否一样
                                if (thisopname == preopname)
                                {
                                    continue;
                                }
                                else
                                {
                                    DataRow dr = newdata.NewRow();
                                    dr.ItemArray = data.Rows[i].ItemArray;
                                    newdata.Rows.Add(dr);
                                }
                            }
                            else
                            {
                                //设备不一样 添加
                                DataRow dr = newdata.NewRow();
                                dr.ItemArray = data.Rows[i].ItemArray;
                                newdata.Rows.Add(dr);
                            }
                        }
                        else
                        {
                            //如果产品不一样,添加
                            DataRow dr = newdata.NewRow();
                            dr.ItemArray = data.Rows[i].ItemArray;
                            newdata.Rows.Add(dr);
                        }
                    }
                    else
                    {
                        //工单不一样,直接添加
                        DataRow dr = newdata.NewRow();
                        dr.ItemArray = data.Rows[i].ItemArray;
                        newdata.Rows.Add(dr);
                    }
                    preworkid  = thisworkid;
                    preproduct = thisproduct;
                    preresname = thisresname;
                    preopname  = thisopname;
                }
            }
            DataView dv = newdata.DefaultView;

            dv.Sort = "PlanStartTime ASC";
            newdata = dv.ToTable();

            List <COrderList> orderlist = new List <COrderList>();

            if (newdata.Rows.Count > 0)
            {
                foreach (DataRow item in newdata.Rows)
                {
                    DataRow    checkeddata = PublicFunc.CheckEmptyVal(data, item);
                    COrderList cOrder      = new COrderList()
                    {
                        MesResName      = checkeddata["MesResName"].ToString(),
                        MesOpName       = checkeddata["MesOpName"].ToString(),
                        MesOperator     = checkeddata["bgPerson"].ToString(),
                        WorkID          = checkeddata["WorkID"].ToString(),
                        PlanStartTime   = PublicFunc.ForMatDateTimeStr(Convert.ToDateTime(checkeddata["PlanStartTime"]), 1),
                        Planendtime     = PublicFunc.ForMatDateTimeStr(Convert.ToDateTime(checkeddata["Planendtime"]), 1),
                        PmResName       = checkeddata["PmResName"].ToString(),
                        PmOpName        = checkeddata["PmOpName"].ToString(),
                        ProductID       = checkeddata["ProductID"].ToString(),
                        TaskFinishState = Convert.ToInt32(checkeddata["TaskFinishState"]),
                        FinishedQty     = Convert.ToDouble(checkeddata["FinishedQty"]),
                        Plannedqty      = Convert.ToDouble(checkeddata["Plannedqty"]),
                        FailedQty       = Convert.ToDouble(checkeddata["FailQty"]),
                        AllFinishedQty  = Convert.ToDouble(checkeddata["AllFinishedQty"]),
                        JobQty          = Convert.ToDouble(checkeddata["JobQty"]),
                        ItemAttr1       = checkeddata["ItemAttr1"].ToString(),
                        ItemAttr2       = checkeddata["ItemAttr2"].ToString(),
                        ItemAttr3       = checkeddata["ItemAttr3"].ToString(),
                        ItemAttr4       = checkeddata["ItemAttr4"].ToString(),
                        DayShift        = Convert.ToInt32(checkeddata["DayShift"]),
                        ItemDesp        = checkeddata["itemDesp"].ToString(),
                        WorkHours       = Convert.ToDouble(checkeddata["workHour"]),
                        SetupTime       = Convert.ToDouble(checkeddata["setupTime"]),
                        OrderUID        = Convert.ToInt32(checkeddata["UID"]),
                        BomComused      = Convert.ToDouble(checkeddata["AllJobTaskqty"]) / Convert.ToDouble(checkeddata["JobQty"]),
                        CanReport       = true,
                        CanReportQty    = Convert.ToDouble(checkeddata["AllJobTaskqty"]) - Convert.ToDouble(checkeddata["AllFinishedQty"]),
                        ChangeResName   = string.Empty
                    };
                    orderlist.Add(cOrder);
                }
                bool hasoutput = false;
                foreach (COrderList c in orderlist)
                {
                    if (c.TaskFinishState != 0 && c.TaskFinishState != 3)
                    {
                        hasoutput = true;
                    }
                    else
                    {
                        continue;
                    }
                }
                if (hasoutput == true)
                {
                    foreach (COrderList c in orderlist)
                    {
                        if (c.TaskFinishState != 0)
                        {
                            c.CanReport = true;
                        }
                        else
                        {
                            c.CanReport = false;
                        }
                    }
                }
            }
            //处理重复的数据
            return(orderlist);
        }
Beispiel #3
0
        public List <COrderList> GetUnStartOrderList(string resName)
        {
            int        dayshift     = PublicFunc.GetDayShift(resName);
            DateTime   mesdailydate = PublicFunc.GetDailyDate(resName);
            SqlCommand cmd          = PmConnections.SchCmd();

            cmd.CommandText = "SELECT * FROM User_MesDailyData WHERE pmResName = '" + resName + "' and datatype = 'P' and mesdailyDate ='" + mesdailydate.Date + "' and TaskFinishState < '4' and dayShift = '" + dayshift + "' ORDER BY mesdailyDate,planStartTime";
            //cmd.CommandText = "SELECT * FROM User_MesDailyData WHERE pmResName = '" + resName + "' and datatype = 'P'and TaskFinishState < '4' and dayShift = '" + shift + "'ORDER BY dailyDate,planStartTime";
            SqlDataAdapter da         = new SqlDataAdapter(cmd);
            DataTable      returndata = new DataTable();

            da.Fill(returndata);
            da.Dispose();
            cmd.Connection.Close();
            if (returndata.Rows.Count < 1)
            {
                return(null);
            }
            else
            {
                List <COrderList> LiReturnData = new List <COrderList>();
                foreach (DataRow item in returndata.Rows)
                {
                    DataRow    checkeddata = PublicFunc.CheckEmptyVal(returndata, item);
                    COrderList li          = new COrderList
                    {
                        MesResName        = checkeddata["MesResName"].ToString(),
                        MesOpName         = checkeddata["MesOpName"].ToString(),
                        MesOperator       = checkeddata["bgPerson"].ToString(),
                        WorkID            = checkeddata["WorkID"].ToString(),
                        PlanStartTime     = PublicFunc.ForMatDateTimeStr(Convert.ToDateTime(checkeddata["PlanStartTime"]), 1),
                        Planendtime       = PublicFunc.ForMatDateTimeStr(Convert.ToDateTime(checkeddata["Planendtime"]), 1),
                        PmResName         = checkeddata["PmResName"].ToString(),
                        PmOpName          = checkeddata["PmOpName"].ToString(),
                        ProductID         = checkeddata["ProductID"].ToString(),
                        TaskFinishState   = Convert.ToInt32(checkeddata["TaskFinishState"]),
                        FinishedQty       = Convert.ToDouble(checkeddata["FinishedQty"]),
                        Plannedqty        = Convert.ToDouble(checkeddata["Plannedqty"]),
                        FailedQty         = Convert.ToDouble(checkeddata["FailQty"]),
                        AllFinishedQty    = Convert.ToDouble(checkeddata["AllFinishedQty"]),
                        JobQty            = Convert.ToDouble(checkeddata["JobQty"]),
                        ItemAttr1         = checkeddata["ItemAttr1"].ToString(),
                        ItemAttr2         = checkeddata["ItemAttr2"].ToString(),
                        ItemAttr3         = checkeddata["ItemAttr3"].ToString(),
                        ItemAttr4         = checkeddata["ItemAttr4"].ToString(),
                        DayShift          = Convert.ToInt32(checkeddata["DayShift"]),
                        ItemDesp          = checkeddata["itemDesp"].ToString(),
                        WorkHours         = Convert.ToDouble(checkeddata["workHour"]),
                        SetupTime         = Convert.ToDouble(checkeddata["setupTime"]),
                        OrderUID          = Convert.ToInt32(checkeddata["UID"]),
                        BomComused        = Convert.ToDouble(checkeddata["AllJobTaskqty"]) / Convert.ToDouble(checkeddata["JobQty"]),
                        CanReport         = true,
                        CanReportQty      = Convert.ToDouble(checkeddata["AllJobTaskqty"]) - Convert.ToDouble(checkeddata["AllFinishedQty"]) - Convert.ToDouble(checkeddata["FailQty"]),
                        ChangeResName     = string.Empty,
                        ReportTime        = Convert.ToDateTime(checkeddata["updateDatetime"]),
                        JobDemandDay      = Convert.ToDateTime(checkeddata["jobDemandDay"]),
                        ScrappedQty       = Convert.ToDouble(checkeddata["ScrappedQty"]),
                        Ajustment         = Convert.ToBoolean(checkeddata["adjustment"]),
                        UnitPrice         = Convert.ToDouble(checkeddata["unitPrice"]),
                        MesSetupStartTime = Convert.ToDateTime(checkeddata["setupStartTime"]),
                        MesSetupEndTime   = Convert.ToDateTime(checkeddata["setupEndTime"]),
                        MesStartTime      = Convert.ToDateTime(checkeddata["startDateTime"]),
                        MesEndTime        = Convert.ToDateTime(checkeddata["endDateTime"]),
                        UserComment       = checkeddata["userComment"].ToString()
                    };
                    LiReturnData.Add(li);
                }
                //public DateTime MesStartTime { get; set; }
                //public DateTime MesEndTime { get; set; }
                //public DateTime MesSetupStartTime { get; set; }
                //public DateTime MesSetupEndtime { get; set; }
                bool hasoutput = false;
                foreach (COrderList c in LiReturnData)
                {
                    if (c.TaskFinishState != 0 && c.TaskFinishState != 3)
                    {
                        hasoutput = true;
                    }
                    else
                    {
                        continue;
                    }
                }
                if (hasoutput == true)
                {
                    foreach (COrderList c in LiReturnData)
                    {
                        if (c.TaskFinishState != 0)
                        {
                            c.CanReport = true;
                        }
                        else
                        {
                            c.CanReport = false;
                        }
                    }
                }
                return(LiReturnData);
            }
        }