573 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			573 lines
		
	
	
		
			17 KiB
		
	
	
	
		
			C#
		
	
	
	
| 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;
 | |
|                         
 | |
| 
 | |
|                         }
 | |
|                     }
 | |
|                     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; }
 | |
|     }
 | |
| }
 |