using System; using System.Collections.Generic; using System.Linq; using System.Text; //using DeiNiu.wms.Logical; using DeiNiu.wms.Data.Model; //using WcfClientAuthentication; using DeiNiu.Utils; using System.Data; namespace DeiNiu.wms.win { class Park { // public static LEmployee currentUser; private static System.Data.DataTable dics,owners; public static string svrMgrUrl; public static int wareHouseId; public static string wareHouse; public static void clear() { // currentUser = null; DeiNiu.Utils.LoginInfo.UserId = -100; DeiNiu.Utils.WmsConstants.CURRENT_USER_NAME = ""; } public static ServiceReferenceNodes.NodeClient client { get { return new ServiceReferenceNodes.NodeClient("BasicHttpBinding_INode", string.Format("http://{0}/{1}", Park.svrUrl, "NodeService.svc")); } } public static void init() { WmsConstants.CURRENT_USER_NAME = LoginInfo.Account; // currentUser.Initialize(LoginInfo.UserId); // LoginInfo.UserId = currentUser.GetEmployee.ID; // LoginInfo.Token = Utils.Util.Encrypt(currentUser.GetEmployee.em_account); ; // LoginInfo.UserId = DeiNiu.Utils. LoginInfo.UserId; enumWhType a = new enumWhType(); //DeiNiu.Utils.WmsConstants.CURRENT_USER_ORG = user.GetEmployee.ge } internal static System.Data.DataTable getOwners(bool forceRefresh = false) { if (owners == null || forceRefresh) { // dics = new Node().Query().Tables[0]; try { { owners = client.getOwners(); client.Close(); } } catch (Exception e) { LogHelper.WriteLog(typeof(Park), e); } } return owners == null ? new System.Data.DataTable("owners") : owners; } internal static System.Data.DataTable getDictionary(bool forceRefresh = false) { if (dics == null || forceRefresh) { // dics = new Node().Query().Tables[0]; try { { dics = client.Query("", -1, -1).Tables[0]; client.Close(); dics.PrimaryKey = new DataColumn[] { dics.Columns["id"] }; } } catch (Exception e) { LogHelper.WriteLog(typeof(Park), e); throw (e); } } return dics == null ? new System.Data.DataTable("dic") : dics; } public static void loadConfig() { DataTable dtSetup = null; try { dtSetup = client.getNodesByFlag(6001); //出库偏好 foreach (DataRow dr in dtSetup.Rows) { Node n = new Node(dr); switch (n.flag) { case 1: WmsConstants.AUTO_SYNC_SALE_ORDER = n.isOn; break; case 2: WmsConstants.AUTO_NEW_WAVE = n.isOn; break; case 3: WmsConstants.AUTO_PICK_BULK_VALIDATION_ORDER = n.isOn; break; case 4: WmsConstants.AUTO_PICK_BATCH_PICK_ORDER = n.isOn; break; case 8: WmsConstants.OUT_BATCH_PICK_PRINT_CODE_EACH_BOX = n.isOn; break; case 9: WmsConstants.OUT_SPEAK_WAVE = n.isOn; break; case 10: WmsConstants.OUT_REGIST_BOX_AFTER_PICKED = n.isOn; break; case 14: WmsConstants.OUT_LIGHT_ENABLE = n.isOn; break; case 15: WmsConstants.AUTO_APPROVE_SALE_ORDER = n.isOn; break; case 16: WmsConstants.FENDIAN_IN_ONE_PICK_ORDER = n.isOn; break; case 20: WmsConstants.VALIDATION_SEEDS_PACK_DESK_SPLIT = n.isOn; break; } } dtSetup = client.getNodesByFlag(1002);//系统设置 foreach (DataRow dr in dtSetup.Rows) { Node n = new Node(dr); switch (n.flag) { case 1: WmsConstants.CURRENT_USER_ORG = n.value; break; case 2: WmsConstants.CURRENT_WAREHOUSE_ADDRESS = n.value; break; case 3: WmsConstants.CURRENT_WAREHOUSE_OUT_DOCNO = n.value; break; case 4: WmsConstants.CURRENT_WAREHOUSE_OUT_PHONE = n.value; break; } } dtSetup = client.getNodesByFlag(1005);//系统设置 foreach (DataRow dr in dtSetup.Rows) { Node n = new Node(dr); switch (n.flag) { case 1: try { WmsConstants.PAGER_SIZE = Convert.ToInt32(n.value); } catch { continue; } break; case 2: try { WmsConstants.DAYS_QUERY_BEFORE = Convert.ToInt32(n.value); } catch { continue; } break; case 3: try { WmsConstants.DAYS_QUERY_AFTER = Convert.ToInt32(n.value); } catch { continue; } break; } } //亮灯拣货 dtSetup = client.getNodesByFlag(1006);//系统设置 foreach (DataRow dr in dtSetup.Rows) { Node n = new Node(dr); switch (n.flag) { case 1: WmsConstants.LIGHT_SVR_ADDRESS = n.value; break; case 2: WmsConstants.PRINT_SVR_ADDRESS = n.value; break; case 3: WmsConstants.ERP_API_ORDER_NOTICE = n.value; break; case 4: WmsConstants.ERP_API_KEY = n.value; break; } } //----文件服务 dtSetup = client.getNodesByFlag(1008);//系统设置 foreach (DataRow dr in dtSetup.Rows) { Node n = new Node(dr); switch (n.flag) { case 1: WmsConstants.FILE_SVR_PRINT = n.value; break; case 2: WmsConstants.FILE_SVR_PIC = n.value; break; } } //-----------------入库抽检规则 dtSetup = client.getNodesByFlag(5004);//系统设置 foreach (DataRow dr in dtSetup.Rows) { Node n = new Node(dr); decimal intValue; try { intValue = Convert.ToDecimal(n.value); } catch { continue; } switch (n.flag) { case 1: WmsConstants.GOODS_IN_VALID_SEEDS_BOXS_STEP_MIN = intValue; break; case 2: WmsConstants.GOODS_IN_VALID_SEEDS_BOXS_STEP = intValue; break; case 3: WmsConstants.GOODS_IN_VALID_SEEDS_BOXS_STEP_FACTOR = intValue; break; case 4: WmsConstants.IN_STOCK_LEFT_VALID_DAYS =Convert.ToInt32( intValue); break; case 5: WmsConstants.IN_STOCK_DEFAULT_WAREHOUSE = Convert.ToInt32(intValue); break; } } //-----------------系统参数 dtSetup = client.getNodesByFlag(1005);//系统参数 foreach (DataRow dr in dtSetup.Rows) { Node n = new Node(dr); int intValue; try { intValue = Convert.ToInt32(n.value); } catch { continue; } switch (n.flag) { case 2: WmsConstants.DAYS_QUERY_BEFORE = intValue; break; } } //--打印机设置 dtSetup = client.getNodesByFlag(1010); foreach (DataRow dr in dtSetup.Rows) { Node n = new Node(dr); decimal intValue; try { intValue = Convert.ToDecimal(n.value); } catch { continue; } switch (n.flag) { case 1: WmsConstants.PRINTER_PIN_PAGE_WIDTH = intValue; break; case 2: WmsConstants.PRINTER_PIN_PAGE_HEIGHT = intValue; break; case 3: WmsConstants.PRINTER_CODE_WIDTH = intValue; break; case 4: WmsConstants.PRINTER_CODE_HEIGHT = intValue; break; case 5: WmsConstants.PRINTER_PIN_PAGE_MARGIN_TOP = intValue; break; case 6: WmsConstants.PRINTER_PIN_PAGE_MARGIN_LEFT = intValue; break; case 7: WmsConstants.PRINTER_PIN_PAGE_MARGIN_RIGHT = intValue; break; case 8: WmsConstants.PRINTER_PIN_PAGE_MARGIN_BOTTOM = intValue; break; } } //系统偏好 dtSetup = client.getNodesByFlag(1004);//系统参数 foreach (DataRow dr in dtSetup.Rows) { Node n = new Node(dr); switch (n.flag) { case 2: WmsConstants.IS_MENU_EXPANDED = n.isOn; break; } } dtSetup = client.getNodesByFlag(5001); foreach (DataRow dr in dtSetup.Rows) { try { Node n = new Node(dr); switch (n.flag) { case 19: WmsConstants.IS_PRINT_PRENO = n.isOn; break; } } catch { continue; } } // dtSetup = new Node().QueryByFlag(5002);//字符类型参数设置 dtSetup = client.getNodesByFlag(5002); foreach (DataRow dr in dtSetup.Rows) { Node n = new Node(dr); try { switch (n.flag) { case 1: WmsConstants.GOODS_VALID_DATE_FORMAT = n.value; break; } } catch { continue; } } dtSetup = client.getNodesByFlag(1040); foreach (DataRow dr in dtSetup.Rows) { Node n = new Node(dr); try { switch (n.flag) { case 1: WmsConstants.PRINTER_NAME_CODE = n.value; break; case 3: WmsConstants.PRINTER_NAME_A4 = n.value; break; case 2: WmsConstants.PRINTER_NAME_PIN = n.value; break; } } catch { continue; } } dtSetup = client.getNodesByFlag(1050); foreach (DataRow dr in dtSetup.Rows) { Node n = new Node(dr); try { switch (n.flag) { case 1: WmsConstants.LIGHT_COM_1 = n.value; break; case 2: WmsConstants.LIGHT_COM_2 = n.value; break; } } catch { continue; } } WmsConstants.EXCEPTION_IGNORE_LST.Clear(); //静默异常列表 dtSetup = client.getNodesByFlag(1020); foreach (DataRow dr in dtSetup.Rows) { Node n = new Node(dr); WmsConstants.EXCEPTION_IGNORE_LST.Add(n.name); } client.Close(); } catch { client.Close(); // return; } loadPrinters(); } public static void loadPrinters() { string PRINTER_NAME_A4 = getConfigValue("A4Printer"); string PRINTER_NAME_CODE = getConfigValue("CodePrinter"); string PRINTER_NAME_PIN = getConfigValue("PinPrinter"); WmsConstants.PRINTER_NAME_A4 = String.IsNullOrEmpty(PRINTER_NAME_A4) ? WmsConstants.PRINTER_NAME_A4 : PRINTER_NAME_A4; WmsConstants.PRINTER_NAME_CODE = String.IsNullOrEmpty(PRINTER_NAME_CODE) ? WmsConstants.PRINTER_NAME_CODE : PRINTER_NAME_CODE; WmsConstants.PRINTER_NAME_PIN = String.IsNullOrEmpty(PRINTER_NAME_PIN) ? WmsConstants.PRINTER_NAME_PIN : PRINTER_NAME_PIN; } static string getConfigValue(string key) { return System.Configuration.ConfigurationManager.AppSettings[key]; } public static string svrUrl { get; set; } } }