| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173 | 
							- using SqlSugar;
 
- using System;
 
- using System.Collections.Generic;
 
- using System.Data;
 
- using System.Linq;
 
- using System.Text;
 
- using System.Windows.Forms;
 
- using WCS_Client.Frm;
 
- using WCS_Client.Models;
 
- using WCS_Client.UC;
 
- using WCS_Client.Utility;
 
- using WCS_Client.Workflow;
 
- using static WCS_Client.Frm.WCS_RGV521;
 
- using static WCS_Client.Frm.WCS_RGV523;
 
- using static WCS_Client.Frm.WCS_SC537;
 
- using static WCS_Client.Frm.WCS_STATION523;
 
- using WCS_TASK = WCS.Entity.WCS_TASK;
 
- namespace WCS_Client
 
- {
 
-     public class BaseWorkflow
 
-     {
 
-         public static bool Login(string use_No, string use_Pwd, out string errMsg)
 
-         {
 
-             bool result = false;
 
-             errMsg = string.Empty;
 
-             string errorMsg = string.Empty;
 
-             try
 
-             {
 
-                 TryCachHelper.TryExecute((db) =>
 
-                 {
 
-                     var user = db.Queryable<WCS_Users>().First(v => v.USER_NO == use_No);
 
-                     if (user == null)
 
-                     {
 
-                         errorMsg = LangConst.UserNotExists;
 
-                     }
 
-                     else
 
-                     {
 
-                         if (user.USER_PWD == Md5Helper.Md5Hash(use_Pwd))
 
-                         {
 
-                             string user_textStr = BinaryHelper.ByteArray2BinaryStr(user.USER_TEXT);
 
-                             string jiemastr = BinaryHelper.jiema(user_textStr);
 
-                             WCS_Users userinfo = jiemastr.ToObject<WCS_Users>();
 
-                             userinfo.Use_LoginTime = DateTime.Now;
 
-                             string userjson = userinfo.ToJson();
 
-                             user.USER_TEXT = BinaryHelper.BinaryStr2ByteArray(BinaryHelper.bianma(userjson));
 
-                             if (db.Updateable(user).UpdateColumns(it => it.USER_TEXT).ExecuteCommand() > 0)
 
-                             {
 
-                                 user.GetUserInfo(userinfo);
 
-                                 CurrentHelper.User = user;
 
-                                 result = true;
 
-                             }
 
-                             else
 
-                             {
 
-                                 errorMsg = LangConst.UpdateError;
 
-                             }
 
-                         }
 
-                         else
 
-                         {
 
-                             errorMsg = LangConst.PasswordError;
 
-                         }
 
-                     }
 
-                 });              
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 LogHelper.Sys_Log.WriteLog(ex.ToString());
 
-                 throw new Exception(LangConst.SysError);
 
-             }
 
-             return result;
 
-         }
 
-         public static PageData QueryDatatble(DataTable dt, int PageIndex, int PageSize)
 
-         {
 
-             if (PageSize <= 0) PageSize = 2000;
 
-             int startRecord = (PageIndex - 1) * PageSize + 1;
 
-             int endRecord = startRecord + PageSize - 1;
 
-             try
 
-             {
 
-                 
 
-                 if (dt != null && dt.Rows.Count > 0)
 
-                 {
 
-                     int count = dt.Rows.Count;
 
-                     int PageCount = count / PageSize;
 
-                     if (count % PageSize > 0)
 
-                         PageCount += 1;
 
-                     PageData PageDataItem = new PageData();
 
-                     PageDataItem.PageIndex = PageIndex;
 
-                     PageDataItem.PageSize = PageSize;
 
-                     PageDataItem.PageCount = PageCount;
 
-                     PageDataItem.RowsCount = count;
 
-                     dt.TableName = "table";
 
-                     PageDataItem.Dt = dt;
 
-                     return PageDataItem;
 
-                 }
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-             }
 
-             return null;
 
-         }
 
-         public static PageData QueryPageData(string _SQLText, string orderText, List<string> WhereStringList, int PageIndex, int PageSize)
 
-         {
 
-             var sb = new StringBuilder();
 
-             sb.Append(_SQLText);
 
-             if (WhereStringList != null && WhereStringList.Count > 0)
 
-             {
 
-                 foreach (var item in WhereStringList)
 
-                 {
 
-                     sb.Append(" and ");
 
-                     sb.Append(item);
 
-                 }
 
-             }
 
-             return QueryPageSql(sb.ToString(), orderText, PageIndex, PageSize);
 
-         }
 
-         private static PageData QueryPageSql(string SQLText, string OrderText, int PageIndex, int PageSize)
 
-         {
 
-             if (PageSize <= 0) PageSize = 2000;
 
-             int startRecord = (PageIndex - 1) * PageSize + 1;
 
-             int endRecord = startRecord + PageSize - 1;
 
-             string sql = string.Format("select * from (select ROW_NUMBER() Over (Order By {0}) as RN,a.* from ({1}) a) b where  b.RN between {2} and {3}", OrderText, SQLText, startRecord, endRecord);
 
-             string CountStr = string.Format("Select Count(1) From ({0})  t", SQLText);
 
-             try
 
-             {
 
-                 DataTable dt = null;
 
-                 int count = 0;
 
-                 TryCachHelper.TryExecute((db) =>
 
-                 {
 
-                     dt = db.Ado.GetDataTable(sql);
 
-                     if (sql.Contains("dbo.WCS_TASK") && sql.Contains("STATUS < 99")) TaskWorkflow.DataTableAddColumn(dt, db);
 
-                     //else if (sql.Contains("[dbo].[WCS_EXCEPTION]")) ExceptionLogWorkflow.DataTableAddColumn(dt, db);
 
-                     count = Convert.ToInt32(db.Ado.GetScalar(CountStr));
 
-                 });
 
-                 int PageCount = count / PageSize;
 
-                 if (count % PageSize > 0)
 
-                     PageCount += 1;
 
-                 if (dt != null && dt.Rows.Count > 0)
 
-                 {                   
 
-                     if (dt.Rows[0][1].ToString() == "设备报警")
 
-                     {
 
-                         for (int i = 0; i < dt.Rows.Count; i++)
 
-                         {
 
-                             TryCachHelper.TryExecute((db) =>
 
-                             {
 
-                                 Type eType;
 
-                                 if (dt.Rows[i]["DEVICECODE"].ToString().Substring(0, 3) == "RGV")
 
-                                 {
 
-                                     eType = typeof(RgvFault1Enum);// RGVFault
 
-                                     var eItem = Enum.Parse(eType, dt.Rows[i]["alarm"].ToString());
 
-                                     if (eItem.ToString() == "无")
 
-                                         dt.Rows[i]["ALARAMMSG"] = eqpData.deviceDataPack.RGVDatas.Datas.FirstOrDefault(v => v.Code == dt.Rows[i]["DEVICECODE"].ToString()).Info;
 
-                                     else
 
-                                         dt.Rows[i]["ALARAMMSG"] = eItem.ToString() + "  "+ eqpData.deviceDataPack.RGVDatas.Datas.FirstOrDefault(v => v.Code == dt.Rows[i]["DEVICECODE"].ToString()).Info;
 
-                                 }
 
-                                 else if (dt.Rows[i]["DEVICECODE"].ToString().Substring(0, 3) == "SRM")
 
-                                 {
 
-                                     eType = typeof(SrmFault1Enum);//  SCAlarm
 
-                                     var eItem = Enum.Parse(eType, dt.Rows[i]["alarm"].ToString());
 
-                                     if (eItem.ToString() == "无")
 
-                                         dt.Rows[i]["ALARAMMSG"] = eqpData.deviceDataPack.SCDatas.Datas.FirstOrDefault(v => v.Code == dt.Rows[i]["DEVICECODE"].ToString()).Info;
 
-                                     else
 
-                                         dt.Rows[i]["ALARAMMSG"] = eItem.ToString() + "  " + eqpData.deviceDataPack.SCDatas.Datas.FirstOrDefault(v => v.Code == dt.Rows[i]["DEVICECODE"].ToString()).Info;
 
-                                 }
 
-                                 else
 
-                                 {
 
-                                     eType = typeof(ConvFaultEnum);//ConvFaultEnum StationFault
 
-                                     var eItem = Enum.Parse(eType, dt.Rows[i]["alarm"].ToString());
 
-                                     if (eItem.ToString() == "无")
 
-                                         dt.Rows[i]["ALARAMMSG"] = eqpData.deviceDataPack.StationDatas.Datas.FirstOrDefault(v => v.Code == dt.Rows[i]["DEVICECODE"].ToString()).Info;
 
-                                     else
 
-                                         dt.Rows[i]["ALARAMMSG"] = eItem.ToString() + "  " + eqpData.deviceDataPack.StationDatas.Datas.FirstOrDefault(v => v.Code == dt.Rows[i]["DEVICECODE"].ToString()).Info;
 
-                                 }
 
-                             });
 
-                         }
 
-                     }
 
-                     //if (dt.Rows[0][1].ToString() == "设备信息")
 
-                     //{
 
-                     //    for (int i = 0; i < dt.Rows.Count; i++)
 
-                     //    {
 
-                     //        TryCachHelper.TryExecute((db) =>
 
-                     //        {
 
-                     //            Type eTypeAlarm;
 
-                     //            Type eTypeMode;
 
-                     //            Type eTypeStatus;
 
-                     //            string mode = "";
 
-                     //            string status = "";
 
-                     //            if (dt.Rows[i]["DEVICECODE"].ToString().Substring(0, 3) == "RGV")
 
-                     //            {
 
-                     //                eTypeAlarm = typeof(RGVPlatformFault);
 
-                     //                eTypeMode = typeof(RGVMode);
 
-                     //                eTypeStatus = typeof(RGVRunStatus);
 
-                     //                var eItem = Enum.Parse(eTypeAlarm, dt.Rows[i]["alarm"].ToString());
 
-                     //                if (eItem.ToString() == "无")
 
-                     //                    dt.Rows[i]["ALARAMMSG"] = eqpData.deviceDataPack.RGVDatas.Datas.FirstOrDefault(v => v.Code == dt.Rows[i]["DEVICECODE"].ToString()).Info;
 
-                     //                else
 
-                     //                    dt.Rows[i]["ALARAMMSG"] = eItem.ToString() + "  " + eqpData.deviceDataPack.RGVDatas.Datas.FirstOrDefault(v => v.Code == dt.Rows[i]["DEVICECODE"].ToString()).Info;
 
-                     //            }
 
-                     //            else if (dt.Rows[i]["DEVICECODE"].ToString().Substring(0, 2) == "SC")
 
-                     //            {
 
-                     //                eTypeAlarm = typeof(SCAlarm);
 
-                     //                //eTypeMode = typeof(SCMode);
 
-                     //                //eTypeStatus = typeof(SCRunStatus);
 
-                     //                var eItem = Enum.Parse(eTypeAlarm, dt.Rows[i]["alarm"].ToString());
 
-                     //                if (eItem.ToString() == "无")
 
-                     //                    dt.Rows[i]["ALARAMMSG"] = eqpData.deviceDataPack.SCDatas.Datas.FirstOrDefault(v => v.Code == dt.Rows[i]["DEVICECODE"].ToString()).Info;
 
-                     //                else
 
-                     //                    dt.Rows[i]["ALARAMMSG"] = eItem.ToString() + "  " + eqpData.deviceDataPack.SCDatas.Datas.FirstOrDefault(v => v.Code == dt.Rows[i]["DEVICECODE"].ToString()).Info;
 
-                     //            }
 
-                     //            //else if (dt.Rows[i]["DEVICECODE"].ToString().Substring(0, 2) == "Ro")
 
-                     //            //{
 
-                     //            //    eTypeMode = typeof(RobotMode1);
 
-                     //            //    eTypeStatus = typeof(RobotStatus1);
 
-                     //            //    dt.Rows[i]["ALARAMMSG"] = eqpData.deviceDataPack.RobotData.Datas.FirstOrDefault(v => v.Code == dt.Rows[i]["DEVICECODE"].ToString()).Info;
 
-                     //            //}
 
-                     //            else
 
-                     //            {
 
-                     //                eTypeAlarm = typeof(StationFault);
 
-                     //                if (dt.Rows[i]["mode"].ToString() == "0")
 
-                     //                    mode = "自动";
 
-                     //                else
 
-                     //                    mode = "手动";
 
-                     //                if (dt.Rows[i]["status"].ToString() == "0")
 
-                     //                    status = "无光电";
 
-                     //                else
 
-                     //                    status = "有光电";
 
-                     //                //eTypeMode = typeof(SCMode);
 
-                     //                //eTypeStatus = typeof(SCRunStatus);
 
-                     //                var eItem = Enum.Parse(eTypeAlarm, dt.Rows[i]["alarm"].ToString());
 
-                     //                if (eItem.ToString() == "无")
 
-                     //                    dt.Rows[i]["ALARAMMSG"] = eqpData.deviceDataPack.StationDatas.Datas.FirstOrDefault(v => v.Code == dt.Rows[i]["DEVICECODE"].ToString()).Info;
 
-                     //                else
 
-                     //                    dt.Rows[i]["ALARAMMSG"] = eItem.ToString() + "  " + eqpData.deviceDataPack.StationDatas.Datas.FirstOrDefault(v => v.Code == dt.Rows[i]["DEVICECODE"].ToString()).Info;
 
-                     //            }
 
-                     //            if (mode == "")
 
-                     //                mode = Enum.Parse(eTypeMode, dt.Rows[i]["mode"].ToString()).ToString();
 
-                     //            if (status == "")
 
-                     //                status = Enum.Parse(eTypeStatus, dt.Rows[i]["status"].ToString()).ToString();
 
-                     //            dt.Rows[i]["mode"] = mode;
 
-                     //            dt.Rows[i]["status"] = status;
 
-                     //        });
 
-                     //    }
 
-                     //}
 
-                     PageData PageDataItem = new PageData();
 
-                     PageDataItem.PageIndex = PageIndex;
 
-                     PageDataItem.PageSize = PageSize;
 
-                     PageDataItem.PageCount = PageCount;
 
-                     PageDataItem.RowsCount = count;
 
-                     dt.TableName = "table";
 
-                     PageDataItem.Dt = dt;
 
-                     return PageDataItem;
 
-                 }
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-             }
 
-             return null;
 
-         }
 
-         public static PageData QueryPageData2(string _SQLText, string orderText, List<string> WhereStringList, int PageIndex, int PageSize)
 
-         {
 
-             var sb = new StringBuilder();
 
-             sb.Append(_SQLText);
 
-             if (WhereStringList != null && WhereStringList.Count > 0)
 
-             {
 
-                 sb.Append(" and ");
 
-                 sb.Append(WhereStringList[0]);
 
-             }
 
-             return QueryPageSql2(sb.ToString(), orderText, PageIndex, PageSize);
 
-         }
 
-         private static PageData QueryPageSql2(string SQLText, string OrderText, int PageIndex, int PageSize)
 
-         {
 
-             if (PageSize <= 0) PageSize = 2000;
 
-             int startRecord = (PageIndex - 1) * PageSize + 1;
 
-             int endRecord = startRecord + PageSize - 1;
 
-             string sql = string.Format("select * from (select ROW_NUMBER() Over (Order By {0}) as RN,a.* from ({1}) a) b where  b.RN between {2} and {3}", OrderText, SQLText, startRecord, endRecord);
 
-             string CountStr = string.Format("Select Count(1) From ({0})  t", SQLText);
 
-             try
 
-             {
 
-                 DataTable dt = null;
 
-                 int count = 0;
 
-                 TryCachHelper.TryExecute((db) =>
 
-                 {
 
-                     List<WCS_Users> usersList = db.SqlQueryable<WCS_Users>(sql).ToList();
 
-                     foreach (var item in usersList)
 
-                     {
 
-                         string binaryStr = BinaryHelper.ByteArray2BinaryStr(item.USER_TEXT);
 
-                         string jsonstr = BinaryHelper.jiema(binaryStr);
 
-                         var user = jsonstr.ToObject<WCS_Users>();
 
-                         item.GetUserInfo(user);
 
-                     }
 
-                     dt = DatatableConvertHelper.ToDataTable(usersList);
 
-                     count = Convert.ToInt32(db.Ado.GetScalar(CountStr));
 
-                 });
 
-                 int PageCount = count / PageSize;
 
-                 if (count % PageSize > 0)
 
-                     PageCount += 1;
 
-                 if (dt != null && dt.Rows.Count > 0)
 
-                 {
 
-                     PageData PageDataItem = new PageData();
 
-                     PageDataItem.PageIndex = PageIndex;
 
-                     PageDataItem.PageSize = PageSize;
 
-                     PageDataItem.PageCount = PageCount;
 
-                     PageDataItem.RowsCount = count;
 
-                     dt.TableName = "table";
 
-                     PageDataItem.Dt = dt;
 
-                     return PageDataItem;
 
-                 }
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-             }
 
-             return null;
 
-         }
 
-         public static DataTable CommonQueryUser(string sql)
 
-         {
 
-             DataTable dt = null;
 
-             try
 
-             {
 
-                 TryCachHelper.TryExecute((db) =>
 
-                 {
 
-                     List<WCS_Users> usersList = db.SqlQueryable<WCS_Users>(sql).ToList();
 
-                     foreach (var item in usersList)
 
-                     {
 
-                         var binaryStr = BinaryHelper.ByteArray2BinaryStr(item.USER_TEXT);
 
-                         string jsonstr = BinaryHelper.jiema(binaryStr);
 
-                         var user = jsonstr.ToObject<WCS_Users>();
 
-                         item.GetUserInfo(user);
 
-                     }
 
-                     dt = DatatableConvertHelper.ToDataTable(usersList);
 
-                 });
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 LogHelper.Sys_Log.WriteLog(ex.ToString());
 
-             }
 
-             return dt;
 
-         }
 
-         public static DataTable CommonQuery(string sql)
 
-         {
 
-             DataTable dt = null;
 
-             TryCachHelper.TryExecute((db) =>
 
-             {
 
-                 dt = db.Ado.GetDataTable(sql);
 
-             });
 
-             return dt;
 
-         }
 
-         public static string AddEditUser(WCS_Users user)
 
-         {
 
-             string result = string.Empty;
 
-             try
 
-             {
 
-                 if (user.USER_NO == LangConst.DefaultUser)
 
-                 {
 
-                     result = LangConst.DefaultUserError;
 
-                 }
 
-                 else
 
-                 {
 
-                     var json = user.ToJson();
 
-                     string binarystr = BinaryHelper.bianma(json);
 
-                     user.USER_TEXT = BinaryHelper.BinaryStr2ByteArray(binarystr);
 
-                     TryCachHelper.TryExecute((db) =>
 
-                     {
 
-                         var wcs_user = db.Queryable<WCS_Users>().First(v => v.USER_NO == user.USER_NO);
 
-                         if (wcs_user == null)
 
-                         {
 
-                             //默认密码
 
-                             user.USER_PWD = Md5Helper.Md5Hash(LangConst.DefaultPwd);
 
-                             db.Insertable(user).ExecuteCommand();
 
-                         }
 
-                         else
 
-                         {
 
-                             wcs_user.USER_TEXT = user.USER_TEXT;
 
-                             db.Updateable(wcs_user).UpdateColumns(it => it.USER_TEXT).ExecuteCommand();
 
-                         }
 
-                     });
 
-                     //using (MAction action = new MAction(TableEnum.WCS_Users))
 
-                     //{
 
-                     //    if (action.Exists(user.USER_NO))
 
-                     //    {
 
-                     //        action.Set(WCS_UsersEnum.User_Text, user.USER_TEXT);
 
-                     //        string where = string.Format("USER_NO = '{0}'", user.USER_NO);
 
-                     //        action.Update(where, false);
 
-                     //    }
 
-                     //    else
 
-                     //    {
 
-                     //        //默认密码
 
-                     //        user.USER_PWD = Md5Helper.Md5Hash(LangConst.DefaultPwd);
 
-                     //        action.Set(WCS_UsersEnum.User_No, user.USER_NO);
 
-                     //        action.Set(WCS_UsersEnum.User_Pwd, user.USER_PWD);
 
-                     //        action.Set(WCS_UsersEnum.User_Text, user.USER_TEXT);
 
-                     //        //插入信息
 
-                     //        bool insertresult = action.Insert(InsertOp.None);
 
-                     //    }
 
-                     //}
 
-                 }
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 LogHelper.Sys_Log.WriteLog(ex.ToString());
 
-                 result = string.Format("{0}或{1}", LangConst.AddError, LangConst.UpdateError);
 
-             }
 
-             return result;
 
-         }
 
-         public static string DeleteUser(string user_no)
 
-         {
 
-             string result = string.Empty;
 
-             try
 
-             {
 
-                 if (user_no == LangConst.DefaultUser)
 
-                 {
 
-                     result = LangConst.DefaultUserError;
 
-                 }
 
-                 else
 
-                 {
 
-                     TryCachHelper.TryExecute((db) =>
 
-                     {
 
-                         db.Deleteable<WCS_Users>().Where(v => v.USER_NO == user_no).ExecuteCommand();
 
-                     });
 
-                 }
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 LogHelper.Sys_Log.WriteLog(ex.ToString());
 
-                 result = LangConst.DeleteError;
 
-             }
 
-             return result;
 
-         }
 
-         public static string AdminModifyPwd(string user_no, string user_pwd)
 
-         {
 
-             string result = string.Empty;
 
-             try
 
-             {
 
-                 TryCachHelper.TryExecute((db) =>
 
-                 {
 
-                     var user = db.Queryable<WCS_Users>().First(v => v.USER_NO == user_no);
 
-                     if (user == null)
 
-                     {
 
-                         result = LangConst.UserNotExists;
 
-                     }
 
-                     else
 
-                     {
 
-                         var binaryStr = BinaryHelper.ByteArray2BinaryStr(user.USER_TEXT);
 
-                         var useritem = BinaryHelper.jiema(binaryStr).ToObject<WCS_Users>();
 
-                         useritem.Use_EditUserNo = CurrentHelper.User.USER_NO;
 
-                         useritem.Use_EditDateTime = DateTime.Now;
 
-                         var binStr = BinaryHelper.bianma(useritem.ToJson());
 
-                         user.USER_TEXT = BinaryHelper.BinaryStr2ByteArray(binStr);
 
-                         user.USER_PWD = Md5Helper.Md5Hash(user_pwd);
 
-                         db.Updateable(user).UpdateColumns(it => new { it.USER_TEXT, it.USER_PWD }).ExecuteCommand();
 
-                     }
 
-                 });
 
-                 //using (MAction action = new MAction(TableEnum.WCS_Users))
 
-                 //{
 
-                 //    if (action.Exists(user_no))
 
-                 //    {
 
-                 //        MDataTable mdt = action.Select(user_no);
 
-                 //        var user = mdt.ToList<WCS_Users>()[0];
 
-                 //        var binaryStr = BinaryHelper.ByteArray2BinaryStr(user.USER_TEXT);
 
-                 //        var useritem = BinaryHelper.jiema(binaryStr).ToObject<WCS_Users>();
 
-                 //        useritem.Use_EditUserNo = CurrentHelper.User.USER_NO;
 
-                 //        useritem.Use_EditDateTime = DateTime.Now;
 
-                 //        // useritem.User_Pwd = Md5Helper.Md5Hash(user_pwd);
 
-                 //        var binStr = BinaryHelper.bianma(useritem.ToJson());
 
-                 //        user.USER_TEXT = BinaryHelper.BinaryStr2ByteArray(binStr);
 
-                 //        action.Set(WCS_UsersEnum.User_Pwd, Md5Helper.Md5Hash(user_pwd));
 
-                 //        action.Set(WCS_UsersEnum.User_Text, user.USER_TEXT);
 
-                 //        string where = string.Format("User_No = '{0}'", user.USER_NO);
 
-                 //        action.Update(where, false);
 
-                 //    }
 
-                 //    else
 
-                 //    {
 
-                 //        result = LangConst.UserNotExists;
 
-                 //    }
 
-                 //}
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 LogHelper.Sys_Log.WriteLog(ex.ToString());
 
-                 result = LangConst.UpdateError;
 
-             }
 
-             return result;
 
-         }
 
-         public static DataTable QuerySex()
 
-         {
 
-             return CommonQuery(string.Format("SELECT *  FROM WCS_Mappingentry where Mep_MappingType='Sex'"));
 
-         }
 
-         public static DataTable QueryUse_Role()
 
-         {
 
-             return CommonQuery(string.Format("SELECT *  FROM WCS_Mappingentry where Mep_MappingType='RoleId'"));
 
-         }
 
-         public static DataTable QueryTaskType()
 
-         {
 
-             return CommonQuery(string.Format("SELECT *  FROM WCS_Mappingentry where Mep_MappingType='COMTYPE'"));
 
-         }
 
-         public static void AddWCS_TASK_DTL(SqlSugarClient db, int task_id, int task_no, string posIdCur, string posIdNext, string msg)
 
-         {
 
-             var task_dtl = new WCS_TASK_DTL();
 
-             task_dtl.ID = Guid.NewGuid().ToString();
 
-             task_dtl.PARENTID = task_id;
 
-             task_dtl.TASKNO = task_no.ToString();
 
-             task_dtl.POSIDCUR = posIdCur;
 
-             task_dtl.POSIDNEXT = posIdNext;
 
-             task_dtl.DESCRIPTION = msg;
 
-             task_dtl.EXECUTEDATE = DateTime.Now;
 
-             db.Insertable(task_dtl).ExecuteCommand();
 
-         }
 
-         public static string UpdateTask(int taskid, TaskStatusType taskStatusType)
 
-         {
 
-             string result = string.Empty;
 
-             //try
 
-             //{
 
-             //    TryCachHelper.TryExecute((db) =>
 
-             //    {
 
-             //        var task = db.Queryable<WCS_TASK>().First(v => v.ID == taskid);
 
-             //        if (taskStatusType == TaskStatusType.重下堆垛机)
 
-             //        {
 
-             //            if (task.STATUS == TaskStatus.堆垛机执行)
 
-             //            {
 
-             //                if (task.TYPE == WCS.Entity.TaskType.出库 || task.TYPE == WCS.Entity.TaskType.移库)//出库,移库
 
-             //                {
 
-             //                    task.TASK_WKSTATUS = 0;
 
-             //                    task.ADDRFROM = task.ADDRFROM;
 
-             //                }
 
-             //                else if (task.TASK_COMTYPE == 1)//入库
 
-             //                {
 
-             //                    task.TASK_WKSTATUS = 2;
 
-             //                }
 
-             //                task.TASK_EDITUSERNO = CurrentHelper.User.USER_NO;
 
-             //                task.TASK_EDITDATETIME = DateTime.Now;
 
-             //                db.Updateable(task).UpdateColumns(it => new { it.TASK_WKSTATUS, it.TASK_POSIDNEXT, it.TASK_EDITUSERNO, it.TASK_EDITDATETIME }).ExecuteCommand();
 
-             //                result = string.Format("任务[{0}]重下堆垛机成功。", task.TASK_NO);
 
-             //                AddWCS_TASK_DTL(db, task.TASK_NO, task.TASK_NO, task.TASK_POSIDCUR, task.TASK_POSIDNEXT, result + "操作用户:" + CurrentHelper.User.USER_NO);
 
-             //            }
 
-             //            else
 
-             //            {
 
-             //                result = string.Format("任务[{0}]不需要重下堆垛机。", task.TASK_NO);
 
-             //            }
 
-             //        }
 
-             //        else if (taskStatusType == TaskStatusType.重下输送机)
 
-             //        {
 
-             //            if (task.TASK_WKSTATUS != (int)WkStatus.堆垛机执行)
 
-             //            {
 
-             //                if (task.TASK_COMTYPE == 1 || task.TASK_COMTYPE == 4)//入库,移动
 
-             //                {
 
-             //                    task.TASK_WKSTATUS = 0;
 
-             //                    task.TASK_POSIDNEXT = task.TASK_POSIDFROM;
 
-             //                    task.TASK_POSIDCUR = task.TASK_POSIDFROM;
 
-             //                    task.TASK_EDITUSERNO = CurrentHelper.User.USER_NO;
 
-             //                    task.TASK_EDITDATETIME = DateTime.Now;
 
-             //                    db.Updateable(task).UpdateColumns(it => new { it.TASK_WKSTATUS, it.TASK_POSIDNEXT, it.TASK_POSIDCUR, it.TASK_EDITUSERNO, it.TASK_EDITDATETIME }).ExecuteCommand();
 
-             //                    result = string.Format("任务[{0}]重下输送机成功。");
 
-             //                    AddWCS_TASK_DTL(db, task.TASK_NO, task.TASK_NO, task.TASK_POSIDCUR, task.TASK_POSIDNEXT, result + "操作用户:" + CurrentHelper.User.USER_NO);
 
-             //                }
 
-             //                else
 
-             //                {
 
-             //                    //出库,移库
 
-             //                    result = string.Format("出库和移库任务[{0}]不能重下输送机。", task.TASK_NO);
 
-             //                }
 
-             //            }
 
-             //            else
 
-             //            {
 
-             //                result = string.Format("任务[{0}]状态为[堆垛机执行]不能重下输送机。", task.TASK_NO);
 
-             //            }
 
-             //        }
 
-             //        else if (taskStatusType == TaskStatusType.重下RGV上料 && task.TASK_WKSTATUS == (int)WkStatus.RGV上料执行)
 
-             //        {
 
-             //            task.TASK_WKSTATUS = 2;
 
-             //            task.TASK_EDITUSERNO = CurrentHelper.User.USER_NO;
 
-             //            task.TASK_EDITDATETIME = DateTime.Now;
 
-             //            db.Updateable(task).UpdateColumns(it => new { it.TASK_WKSTATUS, it.TASK_EDITUSERNO, it.TASK_EDITDATETIME }).ExecuteCommand();
 
-             //            var task_dtlSet = db.Queryable<WCS_TASK_DTL>().Where(v => v.PARENTID == task.TASK_NO).ToList();
 
-             //            var task_dtl = task_dtlSet.FirstOrDefault(v => v.DESCRIPTION.Contains("上料到RGV工位"));
 
-             //            int index = task_dtl.DESCRIPTION.IndexOf("上料到RGV工位");
 
-             //            int tempindex = task_dtl.DESCRIPTION.IndexOf('[', index);
 
-             //            string conveyerNo = task_dtl.DESCRIPTION.Substring(tempindex + 1, 4);
 
-             //            //解锁
 
-             //            db.Updateable<WCS_EQUIPMENTLOCK>().UpdateColumns(it => new WCS_EQUIPMENTLOCK { ISLOCK = false }).Where(v => v.EQUIPMENTNO == conveyerNo).ExecuteCommand();
 
-             //            result = string.Format("任务[{0}]重下RGV上料成功。");
 
-             //            AddWCS_TASK_DTL(db, task.TASK_NO, task.TASK_NO, task.TASK_POSIDCUR, task.TASK_POSIDNEXT, result + "操作用户:" + CurrentHelper.User.USER_NO);
 
-             //        }
 
-             //        else if (taskStatusType == TaskStatusType.重下RGV下料 && task.TASK_WKSTATUS == (int)WkStatus.RGV下料执行)
 
-             //        {
 
-             //            var task_dtlSet = db.Queryable<WCS_TASK_DTL>().Where(v => v.PARENTID == task.TASK_NO).ToList();
 
-             //            var task_dtl = task_dtlSet.FirstOrDefault(v => v.DESCRIPTION.Contains("上料到RGV工位"));
 
-             //            task.TASK_WKSTATUS = 3;
 
-             //            task.TASK_POSIDNEXT = task_dtl.POSIDNEXT;
 
-             //            task.TASK_EDITUSERNO = CurrentHelper.User.USER_NO;
 
-             //            task.TASK_EDITDATETIME = DateTime.Now;
 
-             //            db.Updateable(task).UpdateColumns(it => new { it.TASK_WKSTATUS, it.TASK_POSIDNEXT, it.TASK_EDITUSERNO, it.TASK_EDITDATETIME }).ExecuteCommand();
 
-             //            int index = task_dtl.DESCRIPTION.IndexOf("上料到RGV工位");
 
-             //            int tempindex = task_dtl.DESCRIPTION.IndexOf('[', index);
 
-             //            string conveyerNo = task_dtl.DESCRIPTION.Substring(tempindex + 1, 4);
 
-             //            //解锁
 
-             //            db.Updateable<WCS_EQUIPMENTLOCK>().UpdateColumns(it => new WCS_EQUIPMENTLOCK { ISLOCK = false }).Where(v => v.EQUIPMENTNO == conveyerNo).ExecuteCommand();
 
-             //            result = string.Format("任务[{0}]重下RGV下料成功。", task.TASK_NO);
 
-             //            AddWCS_TASK_DTL(db, task.TASK_NO, task.TASK_NO, task.TASK_POSIDCUR, task.TASK_POSIDNEXT, result + "操作用户:" + CurrentHelper.User.USER_NO);
 
-             //        }
 
-             //        else if (taskStatusType == TaskStatusType.重下任务)
 
-             //        {
 
-             //            if (task.TASK_COMTYPE == 1)//入库
 
-             //            {
 
-             //                if (task.TASK_POSIDTO.Length < 10)
 
-             //                {
 
-             //                    //未分配货位,可重下
 
-             //                    task.TASK_WKSTATUS = 0;
 
-             //                    task.TASK_POSIDNEXT = task.TASK_POSIDFROM;
 
-             //                    task.TASK_POSIDCUR = task.TASK_POSIDFROM;
 
-             //                    task.TASK_EDITUSERNO = CurrentHelper.User.USER_NO;
 
-             //                    task.TASK_EDITDATETIME = DateTime.Now;
 
-             //                    db.Updateable(task).UpdateColumns(it => new { it.TASK_WKSTATUS, it.TASK_POSIDNEXT, it.TASK_POSIDCUR, it.TASK_EDITUSERNO, it.TASK_EDITDATETIME }).ExecuteCommand();
 
-             //                    result = string.Format("任务[{0}]重新下发成功。", task.TASK_NO);
 
-             //                    AddWCS_TASK_DTL(db, task.TASK_NO, task.TASK_NO, task.TASK_POSIDCUR, task.TASK_POSIDNEXT, result + "操作用户:" + CurrentHelper.User.USER_NO);
 
-             //                }
 
-             //            }
 
-             //            else if (task.TASK_COMTYPE == 4)//移动
 
-             //            {
 
-             //                if (task.TASK_WKSTATUS == 0)
 
-             //                {
 
-             //                    result = string.Format("任务[{0}]未下发,不需要重下任务。", task.TASK_NO);
 
-             //                }
 
-             //                else
 
-             //                {
 
-             //                    //移动任务,可重下
 
-             //                    task.TASK_WKSTATUS = 0;
 
-             //                    task.TASK_POSIDNEXT = task.TASK_POSIDFROM;
 
-             //                    task.TASK_POSIDCUR = task.TASK_POSIDFROM;
 
-             //                    task.TASK_EDITUSERNO = CurrentHelper.User.USER_NO;
 
-             //                    task.TASK_EDITDATETIME = DateTime.Now;
 
-             //                    db.Updateable(task).UpdateColumns(it => new { it.TASK_WKSTATUS, it.TASK_POSIDNEXT, it.TASK_POSIDCUR, it.TASK_EDITUSERNO, it.TASK_EDITDATETIME }).ExecuteCommand();
 
-             //                    result = string.Format("任务[{0}]重新下发成功。", task.TASK_NO);
 
-             //                    AddWCS_TASK_DTL(db, task.TASK_NO, task.TASK_NO, task.TASK_POSIDCUR, task.TASK_POSIDNEXT, result + "操作用户:" + CurrentHelper.User.USER_NO);
 
-             //                }
 
-             //            }
 
-             //            else if (task.TASK_COMTYPE == 2 || task.TASK_COMTYPE == 3)//出库,移库
 
-             //            {
 
-             //                result = string.Format("任务[{0}]是出库或移库任务,请使用[重下堆垛机]功能。", task.TASK_NO);
 
-             //            }
 
-             //        }
 
-             //        if (string.IsNullOrWhiteSpace(result))
 
-             //        {
 
-             //            throw new Exception(string.Format("任务[{0}]该状态下不支持[{1}]", task.TASK_NO, taskStatusType));
 
-             //        }
 
-             //    });
 
-             //}
 
-             //catch (Exception ex)
 
-             //{
 
-             //    result = ex.Message;
 
-             //    LogHelper.Sys_Log.WriteLog(ex.ToString());
 
-             //}
 
-             return result;
 
-         }
 
-         /// <summary>
 
-         /// 任务完成
 
-         /// </summary>
 
-         /// <param name="db"></param>
 
-         /// <param name="conveyorOut">设备编号</param>
 
-         /// <param name="taskno">任务号</param>
 
-         /// <param name="temptype">类型  1:入库任务完成  2:堆垛机出库任务完成  3.移库完成 4:出库任务完成    5:任务取消 6:码盘 6:拆盘</param>
 
-         public static string TaskComplete(int taskno, int temptype)
 
-         {
 
-             string result = string.Empty;
 
-             string errorresult = TryCachHelper.TryExecute((db) =>
 
-             {
 
-                 string status = "N";
 
-                 string MESSAGE = string.Empty;
 
-                 var outputResult = db.Ado.UseStoredProcedure<dynamic>(() =>
 
-                 {
 
-                     string spName = "BZ_TASKCOMPLETE";
 
-                     var p1 = new SugarParameter("@TEMPTASKNO", taskno);// 任务号
 
-                     var p2 = new SugarParameter("@TEMPTYPE", temptype);//类型(出库任务完成)
 
-                     var p3 = new SugarParameter("@STATUS", null, true);//反馈状态 Y:成功 N:失败
 
-                     var p4 = new SugarParameter("@MESSAGE", null, true);//反馈消息
 
-                     var dbResult = db.Ado.ExecuteCommand(spName, new SugarParameter[] { p1, p2, p3, p4 });
 
-                     status = p3.Value.ToString();
 
-                     MESSAGE = p4.Value.ToString();
 
-                     return dbResult;
 
-                 });
 
-                 if (status.Trim().ToUpper() == "N")
 
-                 {
 
-                     result = string.Format("任务[{0}]手动完成失败,传递参数:任务号[{1}]类型[{2}]反馈消息:[{3}]",
 
-                             taskno, taskno, temptype, MESSAGE);
 
-                 }
 
-                 else
 
-                 {
 
-                     result = string.Format("任务[{0}]手动完成成功。", taskno);
 
-                 }
 
-             });
 
-             if (!string.IsNullOrEmpty(errorresult)) result = errorresult;
 
-             return result;
 
-         }
 
-         public static DateTime QuerySystemDate()
 
-         {
 
-             DateTime dt = DateTime.MinValue;
 
-             TryCachHelper.TryExecute((db) =>
 
-             {
 
-                 dt = db.Ado.GetDateTime("select sysdate from dual");
 
-             });
 
-             return dt;
 
-         }
 
-         public static void Equipment_UpdateLock(string equipmentNo, bool islock)
 
-         {
 
-             TryCachHelper.TryExecute((db) =>
 
-             {
 
-                 db.Updateable<WCS_EQUIPMENTLOCK>().UpdateColumns(it => new WCS_EQUIPMENTLOCK() { ISLOCK = islock, UPDATETIME = DateTime.Now })
 
-                                               .Where(it => it.EQUIPMENTNO == equipmentNo).ExecuteCommand();
 
-             });
 
-         }
 
-         public static List<Frm.WCS_SC521> QueryStackerdDataDDJ(List<string> plcnameSet)
 
-         {
 
-             var stackerdDataSet = new List<Frm.WCS_SC521>();
 
-             TryCachHelper.TryExecute((db) =>
 
-             {
 
-                 stackerdDataSet = db.Queryable<Frm.WCS_SC521>().Where(v => plcnameSet.Contains(v.DEVICECODE) && v.ISLAST == true).ToList();
 
-             });
 
-             return stackerdDataSet;
 
-         }
 
-         public static List<Frm.WCS_RGV521> QueryStackerdDataRGV(List<string> plcnameSet)
 
-         {
 
-             var stackerdDataSet = new List<Frm.WCS_RGV521>();
 
-             TryCachHelper.TryExecute((db) =>
 
-             {
 
-                 stackerdDataSet = db.Queryable<Frm.WCS_RGV521>().Where(v => plcnameSet.Contains(v.DEVICECODE) && v.ISLAST == true).ToList();
 
-             });
 
-             return stackerdDataSet;
 
-         }
 
-         public static List<WCS_TASK> QueryTasks()
 
-         {
 
-             var tasks = new List<WCS_TASK>();
 
-             TryCachHelper.TryExecute((db) =>
 
-             {
 
-                 tasks = db.Queryable<WCS_TASK>().ToList();
 
-             });
 
-             return tasks;
 
-         }
 
-         public static void TaskUpdatePriority(SqlSugarClient db, int task_no, int priority)
 
-         {
 
-             if (db.Updateable<WCS_TASK>()
 
-                   .UpdateColumns(it => new WCS_TASK
 
-                   {
 
-                       Priority = priority,
 
-                   })
 
-                   .Where(v => v.ID == task_no).ExecuteCommand() < 0)
 
-             {
 
-                 throw new Exception(string.Format("任务[{0}]修改优先级为[{0}]失败", task_no, priority));
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// 任务完成
 
-         /// </summary>
 
-         /// <param name="task_no"></param>
 
-         /// <param name="finishType"></param>
 
-         /// <param name="message"></param>
 
-         /// <returns></returns>
 
-         public static bool BZ_TASKCOMPLETE(int task_no, int finishType, out string message)
 
-         {
 
-             message = string.Empty;
 
-             return true;
 
-         }
 
-         /// <summary>
 
-         /// 任务取消
 
-         /// </summary>
 
-         /// <param name="task_no">任务号</param>
 
-         /// <param name="msg">消息</param>
 
-         /// <returns>是否取消成功</returns>
 
-         public static bool TaskCancel(int task_no, out string msg)
 
-         {
 
-             msg = string.Empty;
 
-             return true;
 
-         }
 
-         public static string RestartTask(int task_no)
 
-         {
 
-             string result = TryCachHelper.TryExecute((db) =>
 
-             {
 
-                 var task = db.Queryable<WCS_TASK>().First(v => v.ID == task_no);
 
-                 if (task == null)
 
-                 {
 
-                     throw new Exception(string.Format("未查询到[{0}]信息", task_no));
 
-                 }
 
-                 else
 
-                 {
 
-                     if (task.TYPE == WCS.Entity.TaskType.出库 && task.STATUS > 0 && task.STATUS < WCS.Entity.TaskStatus.已完成)
 
-                     {
 
-                         string task_station = "G";
 
-                         if (task.STATUS == WCS.Entity.TaskStatus.堆垛机执行 && !string.IsNullOrEmpty(task.SRMSTATION))
 
-                         {
 
-                             #region switch
 
-                             //switch (task.ADDRNEXT)
 
-                             //{
 
-                             //    case "1561": task_next = "G1561"; break;
 
-                             //    case "1598": task_next = "G1561"; break;
 
-                             //    case "1538": task_next = "G1538"; break;
 
-                             //    case "1600": task_next = "G1538"; break;
 
-                             //    case "1574": task_next = "G1574"; break;
 
-                             //    case "1602": task_next = "G1574"; break;
 
-                             //    case "1509": task_next = "G1509"; break;
 
-                             //    case "1604": task_next = "G1509"; break;
 
-                             //};
 
-                             #endregion
 
-                             if (task.SRMSTATION == "1473" || task.SRMSTATION == "1476")
 
-                             {
 
-                                 task_station = "G1473";
 
-                             }
 
-                             else if (task.SRMSTATION == "1474" || task.SRMSTATION == "1475")
 
-                             {
 
-                                 task_station = "G1474";
 
-                             }
 
-                             else if (task.SRMSTATION == "1491" || task.SRMSTATION == "1492")
 
-                             {
 
-                                 task_station = "G1491";
 
-                             }
 
-                             else if (task.SRMSTATION == "1493" || task.SRMSTATION == "1494")
 
-                             {
 
-                                 task_station = "G1493";
 
-                             }
 
-                             else if (task.SRMSTATION == "1520" || task.SRMSTATION == "1521")
 
-                             {
 
-                                 task_station = "G1520";
 
-                             }
 
-                             else if (task.SRMSTATION == "1522" || task.SRMSTATION == "1523")
 
-                             {
 
-                                 task_station = "G1522";
 
-                             }
 
-                             else if (task.SRMSTATION == "1545" || task.SRMSTATION == "1546")
 
-                             {
 
-                                 task_station = "G1545";
 
-                             }
 
-                             else if (task.SRMSTATION == "1283" || task.SRMSTATION == "1284")
 
-                             {
 
-                                 task_station = "G1283";
 
-                             }
 
-                             else if (task.SRMSTATION == "1290" || task.SRMSTATION == "1291")
 
-                             {
 
-                                 task_station = "G1290";
 
-                             }
 
-                             else if (task.SRMSTATION == "1292" || task.SRMSTATION == "1293")
 
-                             {
 
-                                 task_station = "G1292";
 
-                             }
 
-                             else if (task.SRMSTATION == "1299" || task.SRMSTATION == "1300")
 
-                             {
 
-                                 task_station = "G1299";
 
-                             }
 
-                             else if (task.SRMSTATION == "1301" || task.SRMSTATION == "1302")
 
-                             {
 
-                                 task_station = "G1301";
 
-                             }
 
-                             else if (task.SRMSTATION == "1308" || task.SRMSTATION == "1309")
 
-                             {
 
-                                 task_station = "G1308";
 
-                             }
 
-                             else if (task.SRMSTATION == "1310" || task.SRMSTATION == "1311")
 
-                             {
 
-                                 task_station = "G1310";
 
-                             }                                                   
 
-                             if (task_station != "G")
 
-                             {
 
-                                if (db.Updateable<WCS_TASK>()
 
-                               .UpdateColumns(it => new WCS_TASK
 
-                               {
 
-                                   STATUS = 0,
 
-                                   SRMSTATION = task_station,
 
-                                   UPDATETIME = DateTime.Now
 
-                               })
 
-                               .Where(v => v.ID == task_no).ExecuteCommand() < 0)
 
-                                 {
 
-                                     throw new Exception(string.Format("任务[{0}]重置失败", task_no));
 
-                                 }
 
-                             }
 
-                         }
 
-                         else if (db.Updateable<WCS_TASK>()
 
-                               .UpdateColumns(it => new WCS_TASK
 
-                               {
 
-                                   STATUS = 0,
 
-                                   UPDATETIME = DateTime.Now
 
-                               })
 
-                               .Where(v => v.ID == task_no).ExecuteCommand() < 0)
 
-                         {
 
-                             throw new Exception(string.Format("任务[{0}]重置失败", task_no));
 
-                         }
 
-                     }
 
-                     else
 
-                     {
 
-                         throw new Exception(string.Format("任务[{0}]不是出库任务或者是已完成的出库不能执行[重下任务]", task_no));
 
-                     }
 
-                 }
 
-             });
 
-             return result;
 
-         }
 
-         public static string FinishTask(int task_no)
 
-         {
 
-             string result = TryCachHelper.TryExecute((db) =>
 
-             {
 
-                 var task = db.Queryable<WCS_TASK>().First(v => v.ID == task_no);
 
-                 if (task == null)
 
-                 {
 
-                     throw new Exception(string.Format("未查询到[{0}]信息", task_no));
 
-                 }
 
-                 else
 
-                 {
 
-                     if (task.STATUS > WCS.Entity.TaskStatus.新建)
 
-                     {
 
-                         if (db.Updateable<WCS_TASK>()
 
-                              .UpdateColumns(it => new WCS_TASK
 
-                              {
 
-                                  STATUS = WCS.Entity.TaskStatus.已完成,
 
-                                  UPDATEUSER = CurrentHelper.User.USER_NO,
 
-                                  UPDATETIME = DateTime.Now
 
-                              })
 
-                              .Where(v => v.ID == task_no).ExecuteCommand() < 0)
 
-                         {
 
-                             throw new Exception(string.Format("任务[{0}]手动完成失败", task_no));
 
-                         }
 
-                     }
 
-                     else
 
-                     {
 
-                         throw new Exception(string.Format("任务[{0}]未执行,不能执行[手动完成].", task_no));
 
-                     }
 
-                 }
 
-             });
 
-             return result;
 
-         }
 
-         public static string ClearTask(int task_no)
 
-         {
 
-             string result = TryCachHelper.TryTranExecute((db) =>
 
-             {
 
-                 var task = db.Queryable<WCS_TASK>().First(v => v.ID == task_no);
 
-                 if (task == null)
 
-                 {
 
-                     throw new Exception(string.Format("未查询到[{0}]信息", task_no));
 
-                 }
 
-                 else
 
-                 {
 
-                     if (task.TYPE == WCS.Entity.TaskType.入库 && (task.ADDRFROM == "1157" || task.ADDRFROM == "1158") && task.TaskGroupKey.Contains('_'))
 
-                     {
 
-                         var arr = task.TaskGroupKey.Split('_');
 
-                         if (!string.IsNullOrEmpty(arr[1].ToString()))
 
-                         {
 
-                             var result1 = MessageUtil.ShowYesNoAndWarning(string.Format("该任务[{0}]为任务组任务,确定要取消吗(请谨慎操作)?", task_no));
 
-                             if (result1 == DialogResult.Yes)
 
-                             {
 
-                                 foreach (var item in arr)
 
-                                 {
 
-                                     if (db.Updateable<WCS_TASK>()
 
-                                           .UpdateColumns(it => new WCS_TASK
 
-                                           {
 
-                                                 STATUS = WCS.Entity.TaskStatus.已取消,
 
-                                                 UPDATETIME = DateTime.Now
 
-                                           })
 
-                                           .Where(v => v.WMSTASK.ToString() == item).ExecuteCommand() < 0)
 
-                                     {
 
-                                              string message = "任务" + item + "取消失败";
 
-                                              MessageBox.Show(message, "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
 
-                                     }
 
-                                 }
 
-                             }
 
-                         }      
 
-                     }
 
-                     else if (task.STATUS < WCS.Entity.TaskStatus.已完成)
 
-                     {
 
-                         if (db.Updateable<WCS_TASK>()
 
-                               .UpdateColumns(it => new WCS_TASK
 
-                               {
 
-                                   STATUS = WCS.Entity.TaskStatus.已取消,
 
-                                   UPDATETIME = DateTime.Now
 
-                               })
 
-                               .Where(v => v.ID == task_no).ExecuteCommand() < 0)
 
-                         {
 
-                             throw new Exception(string.Format("任务[{0}]取消失败", task_no));
 
-                         }
 
-                     }
 
-                     else
 
-                     {
 
-                         throw new Exception(string.Format("任务[{0}]已完成或已取消,不能执行取消动作。", task_no));
 
-                     }
 
-                 }
 
-             });
 
-             return result;
 
-         }
 
-         public static string UdpateEndAddress(int task_no, string whid, string srm)
 
-         {
 
-             string nextAddress = string.Empty;
 
-             var dicSet = new Dictionary<string, string>();
 
-             string result = TryCachHelper.TryTranExecute((db) =>
 
-             {
 
-                 if (string.IsNullOrWhiteSpace(srm))
 
-                 {
 
-                     throw new Exception(string.Format("请选择要变更的堆垛机"));
 
-                 }
 
-                 if (whid == "原料库")
 
-                 {
 
-                     dicSet.Add("srm01", "1092");
 
-                     dicSet.Add("srm02", "1094");
 
-                     dicSet.Add("srm03", "1096");
 
-                     dicSet.Add("srm04", "1098");
 
-                     dicSet.Add("srm05", "1100");
 
-                 }
 
-                 else if (whid == "成品库")
 
-                 {
 
-                     dicSet.Add("srm06", "2324");
 
-                     dicSet.Add("srm07", "2320");
 
-                     dicSet.Add("srm08", "2316");
 
-                     dicSet.Add("srm09", "2312");
 
-                     dicSet.Add("srm10", "2308");
 
-                     dicSet.Add("srm11", "2304");
 
-                 }
 
-                 else
 
-                 {
 
-                     throw new Exception(string.Format("仓库[{0}]错误。", whid));
 
-                 }
 
-                 nextAddress = dicSet[srm];
 
-                 var task = db.Queryable<WCS_TASK>().First(v => v.ID == task_no);
 
-                 if (task == null)
 
-                 {
 
-                     throw new Exception(string.Format("未查询到[{0}]信息", task_no));
 
-                 }
 
-                 else
 
-                 {
 
-                     if (task.ADDRTO.Length >= 10)
 
-                     {
 
-                         throw new Exception(string.Format("任务[{0}]已经分配货位,不能变更目标地址。", task_no));
 
-                     }
 
-                     else
 
-                     {
 
-                         if (db.Updateable<WCS_TASK>()
 
-                               .UpdateColumns(it => new WCS_TASK
 
-                               {
 
-                                   ADDRNEXT = nextAddress,
 
-                                   ADDRTO = srm,
 
-                                   DEVICE = srm,
 
-                                   TUNNEL = srm,
 
-                                   UPDATEUSER = CurrentHelper.User.Use_Name,
 
-                                   UPDATETIME = DateTime.Now
 
-                               })
 
-                               .Where(v => v.ID == task_no).ExecuteCommand() < 0)
 
-                         {
 
-                             throw new Exception(string.Format("任务[{0}]修改目标地址失败", task_no));
 
-                         }
 
-                         string msg = string.Format("任务[{0}]手动修改下个地址为[{1}]目标地址为[{2}]成功。", task_no, nextAddress, srm);
 
-                         var task_dtl = new WCS_TASK_DTL();
 
-                         task_dtl.ID = Guid.NewGuid().ToString();
 
-                         task_dtl.PARENTID = task_no;
 
-                         task_dtl.TASKNO = task_no.ToString();
 
-                         //task_dtl.POSIDCUR = task.ADDRFROM;
 
-                         task_dtl.POSIDNEXT = nextAddress;
 
-                         task_dtl.DESCRIPTION = msg;
 
-                         task_dtl.EXECUTEDATE = DateTime.Now;
 
-                         db.Insertable(task_dtl).ExecuteCommand();
 
-                     }
 
-                 }
 
-             });
 
-             if (string.IsNullOrWhiteSpace(result))
 
-             {
 
-                 result = string.Format("任务[{0}]修改下个地址为[{1}]目标地址为[{2}]成功。", task_no, nextAddress, srm);
 
-             }
 
-             return result;
 
-         }
 
-         public static string UpdateTaskPriority(int task_no, int priority)
 
-         {
 
-             string result = TryCachHelper.TryTranExecute((db) =>
 
-             {
 
-                 var task = db.Queryable<WCS_TASK>().First(v => v.ID == task_no);
 
-                 if (task == null)
 
-                 {
 
-                     throw new Exception(string.Format("未查询到WCS任务[{0}]信息", task_no));
 
-                 }
 
-                 else
 
-                 {
 
-                     if (db.Updateable<WCS_TASK>()
 
-                           .UpdateColumns(it => new WCS_TASK
 
-                           {
 
-                               Priority = priority,
 
-                               UPDATEUSER = CurrentHelper.User.Use_Name,
 
-                               UPDATETIME = DateTime.Now
 
-                           })
 
-                           .Where(v => v.ID == task_no).ExecuteCommand() < 0)
 
-                     {
 
-                         throw new Exception(string.Format("WCS任务[{0}]调整优先级失败", task_no));
 
-                     }
 
-                     string msg = string.Format("任务[{0}]调整优先级为[{1}]成功。", task_no, priority);
 
-                 }
 
-             });
 
-             if (string.IsNullOrWhiteSpace(result))
 
-             {
 
-                 result = string.Format("任务[{0}]调整优先级[{1}]成功。", task_no, priority);
 
-             }
 
-             return result;
 
-         }
 
-         public static string CMByWorkShop(string txtcbworkshopno, string txtcbprolineno)
 
-         {
 
-             string result = TryCachHelper.TryTranExecute((db) =>
 
-             {
 
-                 //创建AGV任务
 
-                 var agvtask = new Frm.WCS_AGVTask()
 
-                 {
 
-                     AGVStatus = Frm.AGVTaskStatus.新建,
 
-                     Status = Frm.AGVTaskStatus.新建,
 
-                     Position = txtcbprolineno,
 
-                     TaskType = Frm.AGVTaskType.叫料,
 
-                     CreateTime = DateTime.Now,
 
-                     UpdateTime = DateTime.Now,
 
-                     Workshop = int.Parse(txtcbworkshopno),
 
-                     Station = "G1340"
 
-                 };
 
-                 int task_id = db.Insertable(agvtask).ExecuteReturnIdentity();
 
-                 if (task_id <= 0)
 
-                 {
 
-                     throw new Exception(string.Format("WCS任务[{0}]添加agv任务失败", task_id));
 
-                 }
 
-             });
 
-             if (string.IsNullOrWhiteSpace(result))
 
-             {
 
-                 result = string.Format("车间叫料成功!");
 
-             }
 
-             return result;
 
-         }
 
-     }
 
- }
 
 
  |