/// <summary>
        /// 同步工单
        /// </summary>
        /// <param name="type"></param>
        /// <param name="lastSyncTime"></param>
        /// <param name="ErpVoucherNo"></param>
        /// <param name="wmsVourcherType"></param>
        /// <param name="errorMsg"></param>
        /// <returns></returns>
        public bool SyncWO(string lastSyncTime, string ErpVoucherNo, ref string errMsg, int type = 3, int wmsVourcherType = 32)
        {
            ParamaterFiled_DB db = new ParamaterFiled_DB();

            string[] filter          = ErpVoucherNo.Split('-');
            string   CompanyNo       = "";
            string   ErpvourcherType = "";

            if (filter.Length == 3)
            {
                CompanyNo       = filter[0];
                ErpvourcherType = filter[1];
            }

            List <ParamaterField_Model> pmList = new List <ParamaterField_Model>();
            bool result = GetPMList(type, ref pmList, ref errMsg, wmsVourcherType, CompanyNo, ErpvourcherType);

            if (!result)
            {
                errMsg = "未配置单据类型!";
                return(false);
            }

            var    TypeList    = pmList.DistinctBy(s => new { s.ErpVourcherType, s.CompanyNo });
            string dataJson    = string.Empty;
            bool   returnValue = true;

            foreach (var Type in TypeList)
            {
                dataJson = String.Empty;
                string ErpvouType = Type.ErpVourcherType.ToString();
                string WmsvouType = Type.VoucherType.ToString();
                string companyNo  = Type.CompanyNo.ToString();
                string json       = GetERPInfo(type, companyNo, ErpvouType, WmsvouType, ErpVoucherNo, lastSyncTime);
                result = GetDataJson(json, ref dataJson, ref errMsg);
                if (result)
                {
                    if (pmList.Count > 0 && !String.IsNullOrEmpty(dataJson.TrimStart('[').TrimEnd(']')))
                    {
                        LogNet.DebugInfo("ERP同步工单号:" + ErpVoucherNo + "  \r\n ERP返回Json:" + dataJson);
                        List <ParamaterField_Model> pmListbyType = pmList.FindAll(p => p.VoucherType.ToString() == WmsvouType);

                        List <WOReturnModel> WOReturns = new List <WOReturnModel>();

                        result = db.WOComparerListAndCreateSQL(pmListbyType, dataJson, ErpvouType, Type.VoucherType, ref WOReturns, ref errMsg, "ERP");
                        if (!result)
                        {
                            return(result);
                        }
                        if (WOReturns.Count != 0)
                        {
                            string returnJson = JsonConvert.SerializeObject(WOReturns);
                            string returnErr  = "";
                            if (!SubmitMesStatus(returnJson, ref returnErr))
                            {
                                returnValue = false;
                                errMsg     += ErpVoucherNo + ":" + returnErr + "\r\n";
                            }
                        }
                    }
                }
            }
            return(returnValue);
        }