ldj/Utils/WmsConstants.cs

467 lines
22 KiB
C#
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace DeiNiu.Utils
{
public struct WmsConstants
{
public static bool IS_INITIALED = false;
public static string SQL_CONN_WMS = "";
public static string SQL_CONN_PLATFORM = "";
public static string SQL_CONN_WMS_ERP = "";
// public static int CURRENT_USER_ID;
//public static string CURRENT_USER_TOKEN;
public static string CURRENT_USER_ORGID = "LDJNBYXGS";
public static string CURRENT_USER_NAME = "系统";
public static string CURRENT_USER_ORG = "贵客集团";//todo
public static string CURRENT_WAREHOUSE_ADDRESS = "";
public static string CURRENT_WAREHOUSE_OUT_DOCNO = "1234"; //随货通行单文件编号
public static string CURRENT_WAREHOUSE_OUT_PHONE = "12345"; //随货通行单文件编号
public static decimal BULK_MAX_RATE = 1m; //零货默认比例
public static decimal BATCH1_MAX_RATE = 1m;
public static decimal BATCH2_MAX_RATE = 4m;
public static decimal BATCH3_MAX_RATE = 20m;
public static int PAGER_SIZE = 100;
public static bool LOG_SQL_ON = false;
public static bool IS_MENU_EXPANDED = false;
public static int DUE_DAYS_AUTO_PICK = 3; //out 订单duedate 几日内的自动处理,进行分拣
/// <summary>
/// auto sync orders when form is load
/// </summary>
public static bool AUTO_SYNC_SALE_ORDER = false;
/// <summary>
/// auto new wave when form is load
/// </summary>
public static bool AUTO_NEW_WAVE = false;
/// <summary>
/// auto get pick orders 4 validation
/// </summary>
public static bool AUTO_PICK_BULK_VALIDATION_ORDER = false;
/// <summary>
/// auto get batch pick orders
/// </summary>
public static bool AUTO_PICK_BATCH_PICK_ORDER = false;
public static bool AUTO_APPROVE_SALE_ORDER = false;
public static bool FENDIAN_IN_ONE_PICK_ORDER = false;
public static string LOC_NAME_FORMAT = "{0}.{1:D2}.{2:D2}.{3}{4}";
/// <summary>
/// 拣货单明细最大个数
/// </summary>
public static int MAX_PICK_DETAIL_CNT_IN_PICKORDER = 500;
/// <summary>
/// 零库单笔捡货最大数量,电子标签最大显示9999
/// </summary>
public static int MAX_PICK_CNT_BULK = 9999;
/// <summary>
/// 分配拣货任务时,最大货位数
/// </summary>
public static int MAX_PICK_LOT_CNT = 100;
public static int MAX_PICK_PERCENT = 30; ///可获取最大现有任务的百分比
/// <summary>
/// 分配拣货任务时,最大箱数
/// </summary>
public static int MAX_PICK_BOX_CNT = 500;
public static int MAX_TASKS_OWN = 3;
/// <summary>
/// 统计波次用时,作为取订单间隔的参考
/// </summary>
public static int WAVE_CNT = 0;
public static int WAVE_TOTAL_SECONDS = 0;
public static DateTime WAVE_LAST_TIME;
public static string WAVE_LAST_ORDER = "";//last wave order for count time
public static string WAVE_CURRENT_ORDER = "";
public static int WAVE_SECONDS; //average seconds per wave
public static int MAX_LABEL_DATA_IN_A_WAVE = 40; //一个标签一个波次只能存储40条数据
public static int MAX_CONTROL_DATA_IN_A_WAVE = 1200; //一个控制器最大存储1200条
public static DateTime WAVE_LAST_FREE_TIME;
/// <summary>
/// x分钟后强制开始新波次,有可能会有再次发送亮灯数据时,实际已经捡货完毕并拍灭,又重新亮灯造成多捡的可能。
/// </summary>
public static int MAX_SECONDS_BETWEEN_WAVES = 1 * 60 * 1000;// 20 * 60000;
public static int WAVE_ORDERS_CNT = 6;//wave每个最大订单数 ,不适用于电子标签波次,灯光颜色决定最大波次订单数量
// public static int WAVE_TASK_MAX_CNT = 100;
public static bool DPS_TASK_GENERATION = false; //亮灯拣选是否生成拆零的任务数据到任务大厅
//入库规则
/// <summary>
/// 按入库预约到货数量自动收货,等待验收入库
/// </summary>
public static bool IN_STOCK_PREIN_AUTO_RECEIVE=true;
/// <summary>
/// 按店分货直通类验收,完验时自动验收未手动干预部分
/// </summary>
public static bool IN_STOCK_ZHITONG_PREDONE_AUTO_VALIDATION = true;
/// <summary>
/// 是否打印通知单号码
/// </summary>
public static bool IS_PRINT_PRENO = false;
/// <summary>
/// 检查日期
/// </summary>
public static bool IN_STOCK_CHECK_DATE = true;
/// <summary>
/// 入库是否优先检查并补充零库
/// </summary>
public static bool IN_STOCK_CHECK_BULK_FIRST = false;
/// <summary>
/// 入库时,无大整货位,入小整,整库无货位入零库
/// </summary>
public static bool IN_STOCK_NO_BATCH_LOCATION_IN_BULK = true;
/// <summary>
/// 入库时,优先补大货位
/// </summary>
public static bool IN_STOCK_BIG_LOCATION_FIRST = true;
public static bool IN_STOCK_OVER_RECEIVE = true;
/// <summary>
/// 入库时,同一验收批次数量可以入不同货区
/// </summary>
public static bool IN_STOCK_DIFF_PARTS = true;
/// <summary>
/// 商品入库默认从设定货区分配货位
/// </summary>
public static int IN_STOCK_DEFAULT_WAREHOUSE = 0;
/// <summary>
/// 入库上架需要扫描条码
/// 扫描确认后库存增加
/// </summary>
public static bool IN_STOCK_PDA_SCAN = true;
/// <summary>
/// 入库不良品是否计入采购明细的validCont
/// </summary>
public static bool IN_STOCK_BAD_COUNTIN_VALID = false;
/// <summary>
/// ABC 上架策略
/// </summary>
public static bool IN_STOCK_ABC = true;
/// <summary>
/// 是否启用入库验收模块
/// </summary>
public static bool IN_STOCK_RECEIVE_VALID = true;
public static decimal IN_STOCK_LEFT_VALID_FACTOR = 0.3m;
public static int IN_STOCK_LEFT_VALID_DAYS = 180;
// public static int PREPICKING_ORDERS_CNT = 0;
public static string PRINTER_NAME_CODE = "ZDesigner GT800 (EPL)";
public static string PRINTER_NAME_A4 = "HP LaserJet Professional P1106";
public static string PRINTER_NAME_PIN = "HP LaserJet Professional P1106";
public static string LIGHT_COM_1 = "com1";
//public static char[] SPLIT = { '*', '%', '&' };
public static string SPLIT = "|*|";
/// <summary>
/// light up success or not
/// </summary>
public static Dictionary<string, bool> WAVE_CURRENT_LIGHTS_STATUS = new Dictionary<string, bool>();
/// <summary>
/// pick status,lights turnned off or not
/// </summary>
public static Dictionary<string, bool> WAVE_CURRENT_PICK_STATUS = new Dictionary<string, bool>();
public static string[] SPECIAL_AUTHS;
public static string SPECIAL_AUTHS_SUPER = "超级权限";
public static string SPECIAL_AUTHS_DIC_DELETE = "删除字典";
public static string SPECIAL_AUTHS_DIC_UPDATE = "修改字典";
public static string SPECIAL_AUTHS_IN_BATCH_IN = "批量入库";
public static string SPECIAL_AUTHS_DOUBLE_CHECK = "特殊检验";
public static string SPECIAL_VALID_NEAR_EXPIRED = "临期入库";
public static string SPECIAL_VALID_REASSIN_TASK_BY_ID = "按下架任务编号获取任务";
public static string SPECIAL_AUTHS_PICK_COUNT_MODIFY= "修改拣货任务数量";
public static string SPECIAL_ALL_PARTION_TASKS = "跨区任务可见";
public static string SPECIAL_ALL_CHANGE_DESK_COLOR = "分播台颜色设置";
public static string SPECIAL_OVER_RECEIVE = "超量收货";
public static string WCF_UN_AUTH_MESSAGE = "未授权的访问,请登录后再试";
public static string GOODS_VALID_DATE_FORMAT = "yyyyMMdd";
public static string CURRENT_SEEDS_NO, CURRENT_SEEDS_GOODSID, CURRENT_SEEDS_GOOD_BATCH;
public static int CURRENT_SEEDS_GOOD_SKUID;
public static int CURRENT_SEEDS_LABLE_ID;
public static Dictionary<string, bool> SEEDS_CURRENT_PICK_STATUS = new Dictionary<string, bool>();
/// <summary>
/// 播种订单商品类型阀值
/// 订单商品类型数量小于该值时,适用播种
/// </summary>
public static int OUT_MAX_SEEDS_GOODSTYPE_CNT = 50;
/// <summary>
/// 播种订单商品零捡总数阀
/// 订单零捡商品总数小于该值时,适用播种
/// </summary>
public static int OUT_MAX_SEEDS_BULK_CNT_SUM = 10;
public static int OUT_MAX_SEEDS_WAIT_MINUES = 10;
public static int SEEDS_LABLEID_MARK_VALUE = 99999; //适合播种的标记
//每次处理待拣货订单数量
public static int OUT_PROCESS_ORDERS_CNT = 100;
public static int OUT_PROCESS_STOCK_DAYS = 2; //处理分拣单库存定位的最大天数,几天内的进行处理,超过期限的不予处理
public static int SEEDS_WEIGHT_OUT_RATE = 20; //称重类型的先总拣后分播时,总拣数量需大于总需求的比例,防止不够分; 总拣分播剩余部分将自动归还库存。
public static decimal OVER_WEIGHT_PERCENT_ALLOW = 20; // 称重商品允许超收超拣百分比
public static int OUT_MIN_DAYS_VALIDTION_LEFT = 30;
public static int OUT_STOCK_PROCESS_MAX_TIME_MINUTE =5;
/// <summary>
/// 开启零货播种拣选
/// </summary>
public static bool OUT_BULK_SEEDS_PICK_ON = true;
public static bool OUT_BATCH_PICK_PRINT_CODE_EACH_BOX = true;
public static bool OUT_REGIST_BOX_AFTER_PICKED = true;
public static bool OUT_SPEAK_WAVE = true;
public static bool OUT_BULK_DESK_CONTROLL = true;
//PDA can only get batch tasks
public static bool OUT_TASK_ASSIGN_BATCH_ONLY = true;
/// <summary>
/// 出库PDA扫描、电子标签确认后波次强制结束后扣库存
/// </summary>
public static bool OUT_STOCK_DEDUCT = true;
/// <summary>
///零库出货PAD捡货
/// </summary>
public static bool OUT_STOCK_BULK_PDA_SCAN = false;
public static bool OUT_STOCK_BATCH_FIFO = true;
public static bool OUT_LIGHT_ENABLE = true;
public static bool VALIDATION_SEEDS_PACK_DESK_SPLIT = false; //是否独立启用打包台
public static int VALIDATION_KEEP_DAYS = 2;
public static string ORDER_PRI_PICK = "PK";
public static string ORDER_PRI_PICK_SELF = "ITK";
public static string ORDER_PRI_RPO = "RP";
public static string ORDER_PRI_WAVE = "WV";
public static string ORDER_PRI_TRAN = "TR";
public static string ORDER_PRI_SEEDS = "SD";
public static string ORDER_PRI_PANDIAN = "PN";
public static string ORDER_PRI_INORDER = "PE";
public static string ORDER_PRI_WAVEJOB = "JOB";
public static string ORDER_DPS_WAVE = "DPS";
public static string ORDER_PRI_OBSOLETE = "OBS";
public static string ORDER_PRI_TRANSFER_INSIDE = "TRI";
public static string ORDER_PRI_TRANSFER_OUTSIDE = "TRO";
public static string ORDER_PRI_RETURN_VENDER = "RTV";
public static string ORDER_PRI_PICK_OUT_INVOICE = "PKI";
public static string ORDER_PRI_STK_IN = "STI";
public static string ORDER_PRI_STK_DOWN = "XJ";
public static decimal GOODS_IN_VALID_SEEDS_BOXS_STEP = 50;
public static decimal GOODS_IN_VALID_SEEDS_BOXS_STEP_MIN = 3;
public static decimal GOODS_IN_VALID_SEEDS_BOXS_STEP_FACTOR = 1;
public static int DAYS_QUERY_BEFORE = 1;
public static int DAYS_QUERY_AFTER = 3;
public static Dictionary<int, int> USER_CURRENT_DBID = new Dictionary<int, int>();
public static Dictionary<int, string> DBID_CONN_STR = new Dictionary<int, string>();
public const string SKU_RESEVRED_PRDDATE_ATTNAME = "生产日期";
public const string SKU_RESEVRED_EXPIREDATE_ATTNAME = "到期日期";
public const string SKU_RESEVRED_BATCH_ATTNAME = "厂家批次";
public const string SKU_RESEVRED_ENTI_ATTNAME = "货主";
public const string SKU_RESEVRED_GOODSID_ATTNAME = "商品ID";
//分区亮灯
//每个分区一次最大订单数量
public static int PART_ORDER_SIZE = 2;
//每个分区一次最大分拣笔数
public static int PART_REC_SIZE = 200;
// public static int PART_FINISH_LABLE_ID_PLUS = 0;
public static int[] PART_FINISH_LABLE_IDS;
public static Dictionary<int, bool> partStatus = new Dictionary<int, bool>();//完成器是否点亮
/// <summary>
/// 播种拣选,分区任务波次亮灯,最大同时亮灯的复核台数量
/// 每个复核台的任务对应特定颜色的灯
/// 比如总共有10个复核台每次亮3个复核台的任务则同时最大拣选3个复核台的任务用红、绿、蓝三色表示亮灯颜色注意灯色的映射管理实际亮灯颜色和真实的分播台编号不同
/// 使用完成器依次分批呼叫下面的任务
///
/// </summary>
public static int SEEDS_PART_LIGHT_DESK_CNT = 3;
public static bool SEEDS_PARTION_DESK_COLOR_MAP = true;
/// <summary>
/// 灯色的映射管理
/// [partionid, [oColor,newColor]]
/// </summary>
// public static Dictionary<int, Dictionary<int, int>> partColorPairs = new Dictionary<int, Dictionary<int, int>>();
/// <summary>
/// 区域亮灯信息,周转箱注册信息准备
/// [partionid, [newColor,dspOrder]]
/// </summary>
// public static Dictionary<int, Dictionary<int, string>> currentWavePart = new Dictionary<int, Dictionary<int, string>>();
public static string LIGHT_SVR_ADDRESS = "";
public static string PRINT_SVR_ADDRESS = "";
/// <summary>
/// 集中配送订单出库集单截止时间
/// </summary>
public static string STOCKOUT_JIDAN_DUE_TIME_HOUR = "17";
public static int JOB_BASIC_INFO_SYNC_INTERVAL = 10; //每十分钟同步更新基础资料
public static int JOB_OUT_REQUEST_INTERVAL = 10; //每十分钟同步更新基础资料
public static int JOB_TEST_REQUEST_INTERVAL = 10; //每十分钟同步更新基础资料
public static int JOB_OUT_REQUEST_NO_STOCK_CHECK_INTERVAL = 60; //每3小时查验缺货订单库存是否已经满足
public static int JOB_NOTICE_ERP = 60; //每3小时查验缺货订单库存是否已经满足
public static bool ERP_NOTICE_STOCK_IN = false; //是否通知ERP入库信息
public static bool ERP_NOTICE_STOCK_OUT = false; //是否通知ERP出库信息
//文件服务地址
public static string FILE_SVR_PRINT = "";
public static string FILE_SVR_PIC = "";
//seeds double check
public static int CHECKED_BY_2_ID;
//多联打印机纸张参数
public static decimal PRINTER_CODE_WIDTH = 5.5m;
public static decimal PRINTER_CODE_HEIGHT = 4;
public static string PRINTER_PIN_PAGE_FORMAT="EMF";
public static decimal PRINTER_PIN_PAGE_WIDTH=21;
public static decimal PRINTER_PIN_PAGE_HEIGHT = 29.7m;
public static decimal PRINTER_PIN_PAGE_MARGIN_TOP=1;
public static decimal PRINTER_PIN_PAGE_MARGIN_LEFT=2;
public static decimal PRINTER_PIN_PAGE_MARGIN_RIGHT=1;
public static decimal PRINTER_PIN_PAGE_MARGIN_BOTTOM=1;
public static bool PDA_LOC_GOODTYPE_VALIDATION=true;
public static bool NO_FREE_LOCATION_USE_TMP=true;
public static string TMP_BULK_LOCATION="11.01.01.11";
public static string TMP_BATCH_LOCATION = "11.01.01.11";
public static string TMP_LACK_DEBIT_LOCATION = "缺货虚拟货位";//拣货时系统库存不足,但未进系统的待入货物从此周转,借用
public static bool BOX_BULK_IN_SINGLE_LOC=true; //拆箱入零库,一箱上单个货位,减少分拆上货花费成本。
public static bool VALID_LOC_CAPICITY = false;//是否验证货位库容
public static List<string> EXCEPTION_IGNORE_LST=new List<string>();
public static bool OUT_STOCK_LACK_HOLD_ORDER = true;//有缺货则整单不出,原始订单不生成拣货单
public static bool OUT_STOCK_LACK_VALIDATION = false;//是否检测原始订单是否有缺货; 如果不检测,则原始订单全部生成拣货单,缺货问题在拣货环节进行处理
public static bool OUT_REQUEST_MERGE = true;
public static bool OUT_REQUEST_PROCESS_STOCK = true;
public static bool OUT_VALIDATION_ONE_ENTER = true;
public static bool OUT_STOCK_LACK_VIR_OUT = true;//有缺货从虚拟库出,虚拟库存出拣货任务
public static bool OUT_STOCK_LACK_VIR_OUT_AUTO = true;//有缺货从虚拟库借库存,从实体货位出拣货任务,系统管理虚拟库存,自动借// TODO:判断有没有相关在途订单及在途数量
public static bool OUT_STOCK_LACK_VIR_IN_AUTO = false; //来货是否自动还 借出的货,适用每个货单供应商供货情况
public static bool OUT_STOCK_BULK_LACK_OUT = true;//分拣单某明细中的零货,(零库)分拣库位货数量不足,其它正常库存的货品可继续分拣, 一次分拣完成并打包的分拣单不适用
public static bool OUT_STOCK_BULK_LACK_OUT_SEEDS = true;//取总分拣单某明细中的零货,(零库)分拣库位货数量不足,其它正常库存的货品可继续分拣
public static bool OUT_STOCK_WHEN_NO_MORE_REQUEST; //仅当没有新订单时,统一进行分组处理、库存处理
public static bool OUT_ZHITONG_FROM_STORE = true; //直通商品 可以从库存出库
public static string ERP_API_ORDER_NOTICE = "http://47.103.159.209:20999/lsyapi/notice?orderNo={0}&orderType={1}";
public static string ERP_API_KEY="ApiToken:7c6fa52f4da9bb859c2d44b9b40ee929";
public static bool TEST_CREATE_PURCH_IN;
public static bool TEST_VALIDIN;
public static bool TEST_VALID_IN_ZHITONG_TAKEALL;//先收后分
public static bool TEST_VALID_IN_ZHITONG_TO_OUTDETAIL;//边收边分
public static bool TEST_ONSHELF;
public static bool TEST_CREATE_SALES_OUT;
public static bool TEST_PICK_OUT;
public static bool TEST_PICK_OUT_SEEDS;
public static bool TEST_PLATE_OUT;
public static bool TEST_PLATE_OUT_CUSTOMER;
public static bool TEST_PLATE_OUT_LINE;
public static bool TEST_PLATE_OUT_VC;
public static bool TEST_PLATE_OUT_LOAD_TRUCK;
public static bool TEST_PLATE_OUT_START_TRAN;
public static bool TEST_PANDIAN_PROCESS;
public static int TEST_VALID_IN_ORDER_CNT = 50;
public static int TEST_VALID_IN_ITEM_CNT=500;
public static int TEST_PICK_OUT_ITEM_CNT = 500;
public static int MAX_JOBS_IN_A_WAVE = 100; //生成出货波次任务时,单个波次包含的最大任务数
public static string PDA_MENU_UTILS= "库管工具";
public static string PDA_MENU_STK_OUT= "入库收货";
public static string PDA_MENU_STK_IN= "出库拣货";
public static string PDA_MENU_PLATE= "集货管理";
public static int ERP_TRANS_DATA_AT_CLOCK;
public static int ERP_TRANS_DATA_SLEEP_MINUES;
public static bool SEEDS_PICK_ALL=true;
public static List<string> GOODS_WEIGHT_UNITS =new List<string>();
public static string PLATE_TMP_PREFIX="L";
public static string PLATE_BOX_PREFIX="X";
public static string PLATE_CUST_PREFIX="G";
public static string PLATE_LINE_PREFIX="M";
public static string PLATE_TRUCK_PREFIX="C";
public static bool SEEDS_OUT_NOT_WITH_WEIGHT = true; //称重出库的不进行总拣
public static bool JIHUO_CHECK_PRE_STATE=true; //集货时是不是检查前置集货是否完成
public static bool PANDIAN_WEIGHT_SUM = true; //盘点时称重sku 可多次称重结果累加skuId 需一致
public static bool PANDIAN_SHOW_CNT = true; //盘点时,是否显显示原始数量
public static bool IS_PLATE_IN_LINE; //是否启用线路码头集货,否则客户容器直接装车
public static bool IS_CHECK_LINE_ON_LOAD;//是否装车时限制同线路客户
public static bool UP_DOWN_SELF_RECS=false; //是否只能上架自己下架的货品
public static bool AUTO_LOAD_TRUCK = true; //客户订单的容器自动装车
public static int STOCK_HIS_KEEP_DAYS = 31;
public static bool OUT_SEEDS_CAN_OVER_REQ; //集货播种时,可否比原来的需求多发
public static bool OUT_SEEDS_PICK_TASK_AUTO_ASSIGN =true; //只许抢集中拣货的任务,其他按单发
public static bool OUT_TASK_ASSIGN_ZHAIGUO_TYPE = false; //按单摘果分拣的任务是否可以自动获取
public static int SEEDS_START_HOUR=14;
public static int SEEDS_END_HOUR=14;
public static int SEEDS_END_MINUTES=35;
public static int SEEDS_START_MINUTES=20;
public static int SEEDS_TASK_FETCH_START_HOUR = 14;
public static int SEEDS_TASK_FETCH_END_HOUR = 14;
public static int SEEDS_TASK_FETCH_START_MINUTES = 20;
public static int SEEDS_TASK_FETCH_END_MINUTES = 35;
public static string CURRENT_PANDIAN_ORDER="";
public static bool ERP_NOTICE_STOCK_OUT_DOING;
}
}