本文主要解释应用的更新方式、更新说明、如何进行系统更新,以及常见的更新问题。MES主程序更新有三个频道:稳定版、公测版、内测版。稳定版本来自公测版本释出使用与改善而修正完成,通常是初始版本进行几个小更新后的版本。为目前所使用的软件在符合需求规格的硬件与操作系统中运行不会造成严重的不兼容或是硬件冲突,其已受过某定量的测试无误后所释出。公测版本是软件最早对外公开的软件版本,由公众参与测试,此版本包含所有功能性的更新,但可能会有一些已知问题和轻微程序错误,需要进一步调试。我们诚邀外部客户或合作伙伴参与其测试,及时反馈问题会使软件有更高的可用性。内测版本仍然需要测试,其功能亦未完善,因为它是整个软件发布周期中的第一个阶段,通常会推送到开发软件的部门或顾问群体中的软件测试者作内部测试。此版本不一定能稳定运行,仅供我司内部测试用。注意更新程序是一项非常严肃的工作,需要您综合评估当前版本和最新版本之间的功能差异。部分缺失的数据可能需要专业人员处理,普通用户不应随意更新。请严格按照本说明进行操作!本应用程序可提供自动手动两种更新方式:自动更新仅Windows系统支持自动更新程序1.打开安装目录下的“UpdateHelper.exe”文件;如果没有更新文件,则可以点击下载更新工具后,解压放到站点根目录下运行,即“MES.Mvc.exe”所在的目录,最终是产品“MES.Mvc.exe”和更新工具“UpdateHelper.exe”在同一个目录下:程序会自动计算站点所用的进程池,但您仍需要检查所选进程池是否正确,确认所选择MES站点的进程池正确后,点击检查更新,验证账号后工具会罗列出当前版本和最新版本之间的更新内容,请仔细阅读核对无误后方可点击开始更新;2.打开系统的数据库校验工具(ModelCheck),生成语句去SSMS执行即完成更新。本应用程序需要.NETFramework4.5.2或更高版本支持,WindowsServer2012R2以上版本系统自带,否则需要手动下载安装。更新程序开始后在备份和下载更新文件过程中可以关闭程序以取消更新,过了这个进度不能关闭更新程序,会导致不可预测的意外情况。如果程序开始更新后进度始终卡在“等待应用程序结束并清理缓存文件,预计1分钟左右”,请检查进程池选择是否正确,如果进程池选择错误,则需要您到IIS管理器进程池管理界面手动回收MES站点的进程池,再等待程序更新完成,切勿在此时关闭更新程序。强行关闭更新程序将导致程序异常,需要手工恢复备份文件,部分情况下需要删除站点目录后重新安装。手动更新1.备份当前版本的文件;2.在版本记录中下载对应的文件;3.停止网站服务,也可以停止IIS的进程池或者程序本身;4.将下载好的更新文件解压到原站点所在的文件夹,覆盖原有文件;5.重新启动网站服务;6.打开系统的数据库校验工具(ModelCheck),生成语句去SSMS执行即完成更新。注意事项1.过于老旧的版本更新需要特别注意现有版本对操作系统要求不低于WindowsServer2012,数据库要求版本不低于SQLServer2012。2.现有应用在Windows系统运行时依赖于.Net6.0、VC++2015-2022、Redis组件,请务必先完成这些基础环境的安装。3.系统更新包不能用于系统部署,不能独立运行。4.即使是自动更新,过程中依然会有短暂的服务不可用现象,请和客户做好沟通工作,协调相关第三方系统(例如ERP、数据采集等互联互通的业务系统)配合,严禁在用户使用中更新版本,由此引发的数据异常需要您手工处理。5.自动更新过程中若有错误会导致应用无法启动,可尝试关闭安全软件或者将本工具软件加入白名单并允许本工具的所有操作,再重试更新。如果自动更新持续报错,请您尝试手动更新。如果自动更新工具已经下载完成了补丁包则可以尝试将程序下载的更新文件解压后覆盖到站点目录,如果提示文件被占用需要手动停止IIS进程池,继续手动完成更新。6.如果更新后启动失败,可以打开Windows自带的事件查看器查看原因,如果您使用的是自动更新程序,可以尝试将程序自动创建的备份文件(位于运行目录下,按照“backup_年月日时分秒.zip”命名)解压后覆盖到原有目录中,再重启IIS进程池尝试退回原版本。如果您是手动更新且并未备份,或者退回原版本依然启动失败,请及时联系技术人员处理。7.更新后执行数据库语句时发生执行错误,可以将发生错误的语句和其之前的语句都删除,继续执行后续的更新语句,更新语句都执行后,再次校验数据库。若如果错误信息为:消息 5074,级别 16,状态 1,第 1558 行
对象'DF_oc_TerpMa_Proce_28CEADEE依赖于列'ProcesssubNo'
消息 4922,级别 16,状态 9,第 1558 行
由于一个或多个对象访问此 列,ALTER TABLE ALTER COLUM ProcesssubNo 失败如果你的数据库知识储备足够,应当可以看出这语句执行失败的原因是因为字段上有约束。遇到此类情况,需要你手动删除约束对象,然后执行更新语句。还有一种方法是直接使用数据库设计器工具,直接修正字段类型。
WindowsServer是微软研发的服务器操作系统,其最新WindowsServer2022版本在2021年公开测试并发布。在WindowsServer2019的基础上有许多的创新设计:高层多级安全性、Azure混合功能和灵活的应用程序平台。WindowsServer2022分为带有GUI桌面和不带GUI桌面的命令行版本。按照不同用户区分的话,WindowsServer2022有针对个人或普通用户发售的零售版本,也有能提供长时间技术支持更新服务的WindowsServer2022LTSC企业用户版本。目前微软已发布了WindowsServer2022Standard、Datacenter和DatacenterAzure三种版本。在这三个版本中WindowsServer2022Standard(标准版)是主要版本。如果您需要安装其他版本,也可以参照本教程步骤,各版本的安装过程大同小异。下面将介绍WindowsServer2022安装过程。1.准备安装镜像网络上有很多ISO镜像文件可以获取,但建议从微软官方获取:在微软官网链接Microsoft评估中心下载ISO,勾选“下载ISO”,然后点击“继续”,填写相关信息后进行下一步下载。用一些三方工具如UltraISO来将ISO镜像文件刻录到U盘。将U盘连接到电脑,然后设置BIOS从U盘启动。2.安装系统从U盘启动后就可以进入WindowsServer2022安装程序。若需要安装的电脑能启动,可以直接双击打开ISO文件,再双击“setup.exe”进入升级安装程序。置界面中设置安装的语言和时间货币等,然后点击“下一页”。点击“现在安装”。注意,若以后电脑出现故障,可以在这里选择“修复计算机”进行故障修复这里会提示你“安装程序正在启动”,然后进入系统选择界面。这里为你提供了四种系统,根据需要选择系统版本,然后点击“下一页”。关于四种系统区别:•1和3是不带GUI界面的命令行版本,2和4是有用户桌面的版本。•2和4的区别在于所支持的功能有所不同,当然版本对应的价格也有所不同。勾选接受许可条款协议,然后选择“下一页”选择Windowsserver2022安装类型,这里选择“自定义:仅安装MicrosoftServer操作系统”这里可以直接选择驱动器,然后点击“下一页”,也可以选择“新建”功能将磁盘分区。这里将会进入Windowsserver2022安装状态,稍等一会,大约几分钟。Windowsserver2022安装过程将进入重启,然后你将设置WindowsServer2022管理员密码,并点击“完成”。之后重启输入密码进入桌面,即完成安装!接下去就是根据您的需求部署服务器了。注意:对于WindowsServer的评估版本必须在前10天内通过Internet进行激活以避免自动关闭。
标签打印机中打印出现模糊的问题,可能是由于多种因素导致的。使用Chrome浏览器打印在Chrome浏览器中,可能是浏览器打印时启用了缩放或者驱动问题引起的,以下是一些可能的原因和对应的解决方法:打印机设置:检查打印机的打印质量设置,如打印分辨率、打印速度以及打印深度(对于热敏打印机可能是打印温度)、色彩点阵方式等。适当降低打印速度或提高打印温度可能会改善打印效果。在Chrome的打印预览设置中,确保选择了正确的打印机模式、配置文件或缩放比率,有些打印机有专门针对标签打印的优化设置。驱动程序问题:确认安装了最新的打印机驱动程序,尤其是针对Web打印的驱动可能需要特别适配。查看浏览器的打印设置,确保没有缩放或压缩功能被启用,这些可能会影响打印质量。打印样式表(CSS)的影响:如果通过网页进行打印,确认网页的CSS样式没有影响到打印质量,比如字体大小、颜色等(大部分标签打印机不支持灰度打印,浅色字体会出现模糊)。图像和文本设置:在Chrome的打印选项中调整“页边距”、“页面缩放”等相关设置,确保它们不会影响到内容的清晰度。打印材料兼容性:确保使用的标签纸和碳带(如果有)与打印机兼容,并适合用于高质量打印。清理打印头:如果是因为打印头老化或脏污导致的模糊,参照前面提到的方法,按照说明进行打印头的清洗。浏览器问题:尝试在其他浏览器中打印,看是否也有同样的问题。如果其他浏览器打印正常,可能是Chrome特定的渲染或输出问题,此时考虑清除浏览器缓存或更新至最新版本。软件配置:如果标签打印是通过网页应用或Chrome扩展完成的,确保该应用或扩展已正确配置,包括但不限于字体、图形和打印指令的质量设置。总之,针对Chrome浏览器下的标签打印质量问题,应先从基础的打印机设置、驱动程序和打印材料着手排查,同时结合具体的应用场景分析并解决问题。如果问题持续存在,可能需要联系打印机制造商或技术支持寻求进一步帮助。MES客户端程序如果使用的是MES客户端程序,可以设置打印缩放,默认情况下1.3倍比较接近实际大小,如果打印后标签模糊可以稍微调大一些。如果调整后依然不理想,请重新在Windows系统设置中配置打印机的首选项,检查分辨率、速度以及色彩方案等选项,或者按照Chrome浏览器的解决方案处理。
使用管理员账号登录系统,点击右上角的三个点,打开关于信息,在最下方可以看到授权过期时间:点击授权过期时间可以进入授权证书:点击授权信息中带下划线的文字,会弹出授权框,将您在邮件中收到的授权码填入即可更新授权信息:
版本更新风险在某些情况下,当从较为陈旧的系统版本(尤其是2022年以前的版本)更新至最新版本时,可能会遇到授权信息丢失的问题。这种情况通常是由于新旧版本间的数据结构变化或兼容性差异所引起的。授权信息丢失应对措施立即报告如果您发现系统因授权信息丢失而无法正常启动,请立即与我们的技术支持团队取得联系。提供授权异常信息的详细页面截图,这有助于我们快速定位问题并采取相应措施。紧急授权恢复我们承诺在收到您的请求后,会尽快为您重新授权,确保业务连续性和最小化停机时间。更新前的准备对于使用旧版本系统的客户,在计划进行系统升级前,请务必做好停机准备。考虑与我们的技术支持团队预先沟通,约定一个合适的更新时间窗口,以便我们在更新后立即监控并处理可能出现的授权异常。应对误触自动更新若不慎触发自动更新导致系统暂时不可用,可参考系统更新工具提供的备份与恢复指南,尝试回退至先前的稳定版本。更新工具都具备备份功能,能够在更新前保存当前系统状态,便于在必要时恢复。更新后执行语句失败更新后执行数据库语句时发生执行错误,可以将发生错误的语句和其之前的语句都删除,继续执行后续的更新语句,更新语句都执行后,再次校验数据库。若如果错误信息为:消息 5074,级别 16,状态 1,第 1558 行
对象'DF_oc_TerpMa_Proce_28CEADEE依赖于列'ProcesssubNo'
消息 4922,级别 16,状态 9,第 1558 行
由于一个或多个对象访问此 列,ALTER TABLE ALTER COLUM ProcesssubNo 失败如果你的数据库知识储备足够,应当可以看出这语句执行失败的原因是因为字段上有约束。遇到此类情况,需要你手动删除约束对象,然后执行更新语句。还有一种方法是直接使用数据库设计器工具,直接修正字段类型。总结为了保证系统的稳定运行和授权的连续性,请在进行重大版本更新前与我们协调,并遵循上述指南,以减少潜在的风险和不便。我们始终致力于为客户提供最优质的服务和支持。
使用场景:读取ERP数据,将ERP数据同步至MES(一般是ERP将基础资料封装成视图,MES读取视图数据将存储至指定表单)涉及功能:外部数据库,入站同步设置,系统定时任务关键词:数据同步,ERP视图,基础资料本文档案例:将ERP人员同步至MES人员管理1.设置与ERP数据的连接2.配置同步内容2.1配置同步数据源主键是双方系统共认的唯一标记,一般使用编号作为该标记更新键是判定每次同步数据是否更新该条数据,如检测到视图中的该字段内容与系统中该字段内容不一致,则触发该数据更新执行频率根据具体情况配置2.2建立外部数据源与系统内单据关系3.检查系统定时任务是否正常执行当配置完成入站同步设置后,系统会自动生成对应的定时任务。点击记录,查看有执行且无报错则代表配置无问题4.进入表单人员管理查看数据是否同步过来其他:如同步物料信息,则先要同步【物料分类】,再同步【物料档案】。而且【物料分类】的同步频率要快于【物料档案】
系统无法打开1、打开系统地址页面报ServiceUnavailable错误:此类错误一般表示IIS当前无法正常启动应用程序池,你需要打开IIS查看站点对应的应用程序池是否能够正常启动。如果启动后进程池立刻停止运行,你需要打开系统的事件管理器,查看错误信息,根据具体错误信息进行故障排查。常见故障:无法连接缓存服务,通常在事件管理器中的错误信息中包含Redis字样,无法连接缓存服务可能导致程序无法运行,请确保Redis被正确安装,且应用Appsetting.json配置的Redis连接正确。无法启动人脸识别服务,通常在事件管理器中的错误信息包含tennis字样,无法正确启动人脸识别服务的情况下,你需要确定VC++安装正确,且服务器所使用的CPU支持AVX2、FMA指令集。磁盘无可用空间,在系统盘或站点安装磁盘无可用空间时Windows都会出现崩溃情况,可能导致IIS无法启动站点。一般情况下建议关闭IIS的日志服务,否则可能引起磁盘空间不足。进程池所用的账号权限不足,有些服务器受到监管要求或其他安全策略限制,默认的进程账号可能没有权限,你可以在进程池的高级设置中将进程模型的标识更换为有权限的账号。2、打开系统地址页面报InternalServerError错误:此类错误表示当前系统未能正常识别.NETCore运行组件,你需要确定WIndows下运行时ASP.NETCore的安装是否已完成,对应的版本是否正确,具体版本以程序发布时的版本要求为准。在IIS环境下,你需要安装Windows下的运行时HostingBundle,不要安装其他无关版本。如果你是先安装的HostingBundle后配置的IIS,你需要重新安装或修复HostingBundle。注意:.NETCore不能跨版本支持,即不存在8.0版本可兼容运行6.0版本的说法,你需要严格按照应用要求安装对应版本。3、打开系统地址页面报错ASP.NETCoreappfialedtostart。此类错误标签表示站点基础环境配置是正确的,但应用依赖组件无法正常加载,可参考ServiceUnavailable的错误处理,用事件查看器查看具体错误信息后对应处理。4.数据库连接异常如字面意思,你配置的数据库连接不上,请检查数据库连接字符串是否正确,且防火墙规则中没有对数据库及其使用的端口号进行拦截。注意:Appsetting.json中的数据库连接字符串中如果需要使用反斜杠“\”,请使用双反斜杠"\\",json文件的规则中单个反斜杠表示转义。超时报错操作时类似于这样的错误信息:Execution Timeout Explred. The timeout period elapsed prior to completion of the operaion or the server is not responding翻译:操作超时,在操作完成之前经过的超时期限或服务器没有响应。此时需要关注的点是:1.提交的数据是否过多,大量的数据操作会引发超时。例如:提交的单据需要生成条码,当数量超过1000个,则有概率会报类似错误。2.检查数据库对应操作的表是否有触发器,检查触发器是否会引起锁表等异常操作,当原本操作加上触发器时可能会引起大量的数据查询,请优化触发器语句或禁止触发器动作。3.检查数据库对应服务器是否性能太差,数据服务器性能太差会引起超时问题,可以升级硬盘、内存、CPU等硬件。特别是硬盘,有些大容量的机械硬盘读写速度性能堪忧。报错之后怎么办?稍等片刻,服务器虽然返回了超时错误,但不代表数据未执行,而是执行过程太长,页面超时了。过段时间再查看数据是否正常,过多久取决于数据大小和数据库性能。如执行完成后数据异常,请将日志文件和事件错误信息一并保存到文本后进行反馈。更新数据报错An error occurred while updating the entries. See the inner exception for details.翻译:更新条目时出错。有关详细信息,请参阅内部异常。内部异常需要服务器管理员登录后查看应用程序日志和操作系统系统事件才能定位具体原因,所以单纯地反馈这种错误信息完全没有任何参考意义。需要您登录服务器,打开程序根目录,查看Logs文件夹下报错当天的系统日志,将具体错误信息反馈。如果没有找到日志文件,或者日志文件记录不清晰,则需要您打开系统的事件查看器,点击Windows日志、应用程序,找到报错时间对应的错误事件信息进行反馈。此类问题一般的操作方法:1.检查数据库文件所在磁盘是否已满。2.检查数据库中要操作的表是否存在触发器,测试禁用触发器后是否继续报错。3.核对系统版本,最新版本可能已经修复此问题,更新后检查问题是否还存在。如上述方法不能解决,请将日志文件和事件错误信息一并保存到文本后进行反馈。
本应用程序配置是使用一个或多个配置提供程序执行的。配置提供程序使用各种配置源从键值对读取配置数据:设置文件,例如appsettings.json环境变量,例如在Docker运行环境下使用环境变量控制配置参数本应用程序中系统运行参数设置如下:{
"Logging": {
"LogLevel": {
"Default": "Warning" //日志等级
}
},
"AllowedHosts": "*",
"ConnectionStrings": {
"WfDBContext": "Data Source=.;Initial Catalog=MES;User=sa;Password=123456;MultipleActiveResultSets=true" //数据库连接字符串
},
"LoggingDB": {
"LogDbType": "SQLite", //日志服务数据库类型:MongoDB/SQLite/Inner Inner模式直接写入业务数据库无需配置下方连接参数
"ConnectionString": "Data Source=myDatabase.db", //"mongodb://localhost:27017",
"DatabaseName": "LogStore",
"LogLevel": "Debug" //日志等级:All/Debug/Info/Warn/Error
},
"AppSetting": {
"IdWorker": 1,
"SSOPassport": "http://localhost:52789",
"RoutePre": "",
"Version": "1.0", //如果为demo,则屏蔽Post请求
"DbType": "SqlServer", //数据库类型:SqlServer/MySql
"AppKey": "BaseSys",
"CacheType": "Redis", //缓存类型:Redis/Inner Inner模式下无法与其他站点集成
"RedisConn": "localhost", //Redis连接字符串
"RedisDb": "0", //Redis数据库索引
"MailSMTP": "smtp.163.com", //邮箱SMTP服务器地址
"MailPort": 465, //邮箱SMTP端口
"MailSSL": true, //是否启用SSL
"MailUserName": "MES智能制造", //发件人名称
"MailAddress": "d****@163.com", //发件地址
"MailPassword": "Q********Q" //邮箱密码
},
"OSSProvider": [
{
"Provider": "Aliyun", //枚举值支持:Minio/Aliyun/QCloud/Qiniu/HuaweiCloud
"Endpoint": "oss-cn-shanghai.aliyuncs.com", //腾讯云中表示AppId,注意:主账号的AppId
"Region": "oss-cn-shanghai", //地域
"AccessKey": "LT*************ib",
"SecretKey": "0W******************I",
"IsEnableCache": true //是否启用缓存,推荐开启
}
]
}配置说明:日志等级Logging{
"Logging": {
"LogLevel": {
"Default": "Information",
"Microsoft": "Warning",
"Microsoft.Hosting.Lifetime": "Information"
}
}
}在上述JSON中:指定了"Default"、"Microsoft"和"Microsoft.Hosting.Lifetime"日志级别类别。"Default"值应用于未指定的所有类别,从而有效地将所有类别的所有默认值设置为"Information"。可以通过为某个类别指定值来重写此行为。"Microsoft"类别适用于以"Microsoft"开头的所有类别。"Microsoft"类别在日志级别Warning或更高级别记录。"Microsoft.Hosting.Lifetime"类别比"Microsoft"类别更具体,因此"Microsoft.Hosting.Lifetime"类别在日志级别"Information"和更高级别记录。未指定特定的日志提供程序,因此LogLevel适用于所有启用的日志记录提供程序,但WindowsEventLog除外。Logging属性可以具有LogLevel和日志提供程序属性。LogLevel指定要针对所选类别进行记录的最低级别。在前面的JSON中,指定了Information和Warning日志级别。LogLevel表示日志的严重性,范围为0到6:Trace=0、Debug=1、Information=2、Warning=3、Error=4、Critical=5和None=6。指定LogLevel时,将为指定级别和更高级别的消息启用日志记录。在前面的JSON中,记录了Information及更高级别的Default类别。例如,记录了Information、Warning、Error和Critical消息。如果未指定LogLevel,则日志记录默认为Information级别。提供程序属性可以指定LogLevel属性。提供程序下的LogLevel指定要为该提供程序记录的级别,并替代非提供程序日志设置。限制域名AllowedHosts可以通过配置AllowedHosts来限制访问的域名,避免非法解析自己的网站进行访问。参数值只能为字符类型。1、参数值“*”:表示所有的域名都可以访问。2、限制域名访问配置:“examlple.com;exampleB.cn;examlec.com”。不需要端口与主机头信息,只需要填写域名即可。中间用分号“;”间隔。主数据库连接字符串ConnectionStringsWfDBContext作为系统的主要数据库连接字符串,如果配置不正确系统将无法正常运行。请按照下方设置的数据库类型编写对应的数据库连接字符串。使用SQLServer时,模板:DataSource={服务器地址};InitialCatalog={数据库名字};User={登录用户};Password={登录密码};MultipleActiveResultSets=true使用MySQL时,模板:server={服务器地址};userid={登录用户};database={数据库名字};password={登录密码}如果连接字符串中有反斜杠“\”,请用两个反斜杠“\\”代替,因为在json内容中“\”表示转义。日志数据库服务LoggingDBLogDbType:日志服务数据库类型,支持MongoDB/SQLite/Inner,Inner模式直接写入业务数据库无需配置下方连接参数。当系统业务繁忙时,系统日志建议采用MongoDB或者SQLite,使用Inner模式会占用大量主数据库资源,可能会影响系统业务稳定性。如果系统是分布式部署的运行环境,则建议使用MongoDB,如果使用SQLite日志信息会有缺失。ConnectionString:日志服务器连接字符串,当使用MongoDB时填写MongoDB连接字符串模板:mongodb://[username:password@]host1[:port1][,...hostN[:portN]][/[defaultauthdb][?options]] 例如:mongodb://myDBReader:D1fficultP%40ssw0rd@mongodb0.example.com:27017/?authSource=admin当使用SQLite时,直接写数据库文件地址,例如:DataSource=myDatabase.db。注意此时需要站点对该文件夹拥有写入权限,否则日志信息无法正常写入会影响系统运行。DatabaseName:数据库名称,当采用MongoDB时,日志写入的数据库名称。LogLevel:日志等级,All全部日志,Debug调试日志,Info消息日志,Warn警告日志,Error错误日志。低等级日志会包含高等级日志,即Debug会包含Warn和Error。AppSetting应用设置"IdWorker":Id生成器的种子,支持0-35,分布式部署时,每台应用服务器都要部署成不同的种子,否则系统运行时会生成重复Id。"Version":如果为demo,则屏蔽Post请求"DbType":数据库类型:SqlServer/MySql"AppKey":系统应用名称,默认"BaseSys",应用运行后不能修改,分布式部署时名称要统一,否则不能正常运行。"CacheType":缓存类型:Redis/InnerInner模式下无法与其他站点集成,分布式部署必须是Redis,否则无法正常运行。"RedisConn":Redis连接字符串"RedisDb":Redis数据库索引,当一台Redis服务器中有多个应用部署时,请务必保证使用不同的索引,否则站点鉴权会有异常。"MailSMTP":邮箱SMTP服务器地址"MailPort":邮箱SMTP端口"MailSSL":是否启用SSL"MailUserName":发件人名称"MailAddress":发件地址"MailPassword":邮箱密码OSSProvider文件存储服务"Provider":枚举值支持:Minio/Aliyun/QCloud/Qiniu/HuaweiCloud"Endpoint":"oss-cn-shanghai.aliyuncs.com",//腾讯云中表示AppId,注意:主账号的AppId"Region":"oss-cn-shanghai",//地域"AccessKey":"LT*************ib","SecretKey":"0W******************I","IsEnableCache":true//是否启用缓存,推荐开启名称类型说明案例备注Provider枚举OSS提供者Minio允许值:Minio/Aliyun/QCloud/Qiniu/HuaweiCloudEndpointstring节点oss-cn-hangzhou.aliyuncs.com在腾讯云OSS中表示AppIdAccessKeystringAccessKeyF...............sSecretKeystringSecretKeyv...............dRegionstring地域ap-chengduIsEnableHttpsbool是否启用HTTPStrue建议启用IsEnableCachebool是否启用缓存true启用后将缓存签名URL,以减少请求次数Endpoint查询ProviderEndpointRemarkMinio-默认或自建MinioEndpointAliyunhttps://help.aliyun.com/document_detail/31837.html-QCloud-腾讯云没有Endpoint,此配置项表示AppIdQiniuhttps://developer.qiniu.com/kodo/4088/s3-access-domainname-HuaweiCloudhttps://support.huaweicloud.com/productdesc-obs/obs_03_0152.html-请特别注意,编辑服务器上的配置文件后,必须重启应用程序以使更改生效。若使用系统记事本或其他不支持JSON格式的编辑器,请确保JSON格式正确无误,以免导致服务中断。
本应用系统权限基于RBAC模式的权限控制。角色管理角色管理的新增及角色授权设置新增角色角色授权用户管理用户管理:用户管理、角色分配、用户的专属权限分配、部门数据权限的限制、密码的重置人员档案中生成用户(账号)用户初始密为:123456,用户登录后可进行密码的更改,密码更新方式如下用户(账号)编辑功能主要步及用户的状态属性、登陆方式、用户类型等信息设定角色管理:用户包含哪些角色的权限,支持多选,用户自动继承角色的权限除角色权限外,支持用户独立权限的增加部门权限:部门数据的限制,只可对勾选的部门数据进行查看及操作仓库权限:供应链单据和仓库库存查询中仓库权限的限制,为空的用户可以查看所有仓库记录,若有限制则用户仅可以查看对应仓库的列表信息。
在所需监控区域设置摄像头,确保选用的是海康威视的网络型摄像头,并完成摄像头的参数配置。安装视频采集软件至数据采集计算机,该软件能自动连接并显示摄像头的实时视频流。如果画面不清晰,用户可通过内置的对焦工具调整摄像头的焦点。该采集软件预设为在端口12405监听,以响应MES(制造执行系统)的调用请求。为确保服务器能访问这个地址,请将采集程序加入防火墙白名单中,并开通12405端口,允许外部访问。软件下载地址:视频采集程序在MES系统的后台,需扩展设备管理功能以包含视频接口。在设备详情的视频接口配置项内,输入采集软件的访问地址,例如:http://192.168.31.15:12405。注意是采集程序所在电脑的IP,不是摄像头的IP。要注意的是采集程序同一时间只能响应一次请求,即开始录像后只有结束录像才能响应下一次录像请求,所以后台设置时请务必一一对应设备信息,切勿将多个设备的视频服务地址指向同一个采集程序!操作员使用PDA或智能手机上的应用程序,上岗后针对特定设备,启动视频录制功能(需要用户有按钮“btn_SNVideo”的权限)。扫描条形码启动录像,再次扫描相同条码或点击完成按钮来终止录制。由于视频采集程序同时只能响应一个请求,所以请确保该设备扫描视频的功能只有一个PDA或手机使用,多个终端同时扫描会只响应第一个,进而导致后续条码没有视频记录。最后,在MES后台的条码记录界面,用户可以在附件部分查看并回放与特定条码关联的录像片段。如果没有录像文件,请稍后再查看,程序回传文件需要一定时间,具体视您所在网络环境和摄像头拍摄清晰度而定,越高的清晰度越长的录像时长产生的文件越大,所需回传的时间就越久。
当程序启动时,如果无法连接数据库,程序会报异常,无法正常启动。此时需要管理员到后台检查程序的配置文件(程序根目录下appsetting.json)是否存在异常,或者数据库所在服务器是否有所变更。本文列举了一些常见的报错和解决方案,供技术人员参考,修正完错误后,请重启站点应用服务。一、无法连接数据库异常信息类似于:A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections.解决方案:1.检查数据库连接字符串中数据库IP或名称是否正确,特别是同一服务器中有多个数据库实例的情况下要特别注意实例名称。2.检查数据库端口是否是默认端口,如果不是请在连接字符串中加上指定端口。3.检查数据库所在服务器是否开启了防火墙,或者是否有其他安全软件对数据库端口进行了隔离。4.如果是独立部署的数据库服务器,请检查数据库配置项中是否已允许远程连接。5.检查数据库服务是否正常运行。注意:json文件中反斜杠"\"是一个转义字符,如果数据库连接中存在反斜杠,请输入两个反斜杠“\\”代替。二、数据库用户无法登录用户 'mes' 登录失败。解决方案:1.检查数据库用户“mes”是否存在,且赋予了其相对应的访问权限。2.检查数据库用户“mes”的连接密码,是否能够正常登录。3.检查数据库用户“mes”是否被强制启用了安全策略,密码是否已经过期。以上“mes”用户名只是一个例子,也适用于其他用户名。
本文将描述SQLServer数据库的安装与使用。数据库服务安装从微软官网下载SQLServer2016:浏览器提示次类型的文件可能会损害您的计算机,是否要保留文件,选择保留,等待下载完成后点击下载完成的程序安装包:此时弹出安全警告,选择运行:打开数据库安装页面,选择下载介质选项:选择中文简体语言,下载ISO文件,选择下载位置后,点击下载:程序开始下载数据安装文件:等待下载完成后,点击打开文件夹双击下载完成的文件:装载ISO文件后,选择setup应用程序:打开SQLServer安装中心:选择安装,点击全新SQLServer独立安装或向现有安装添加功能:输入产品密钥后点击下一步:选择接收许可条款,点击下一步:不勾选检查更新,直接下一步:完成检查后,点击下一步:勾选数据库引擎服务和客户端工具连接,选择实例根目录后点击下一步:选择默认实例和实例ID后选择下一步:将代理服务改为自动启动,排序规则改为Chinese_PRC_CI_AS:点击下一步,修改身份验证模式为混合模式,输入sa的密码,点击添加当前用户,可按需修改数据目录,点击下一步:准备安装页面中确认要安装的功能,点击安装:等待安装完成:点击关闭,完成安装。点击安装SQLServer管理工具:下载SSMS:下载完成后点击安装包开始安装管理工具:点击安装:等待安装完成后,点击关闭:完成SSMS安装。
TSCTTP-244/342常见问题(四):标签打印跳纸、上下偏移怎么办?经常有使用TSCTTP-244/342的朋友跟我们反馈说,TSC条码打印机打印总是跳纸,或者标签打印的位置越来越偏,是不是条码打印机坏了?标签打印跳纸、上下偏移的故障原因分析1.标签纸没有正确安装。TSCTTP-244/342打印机很多人最容易犯的错误就是把标签纸从感测器的上面穿过,纸张没有穿过标签纸感测器,自然不能正确识别标签纸的尺寸。所以一定要先确定标签纸要从感测器下面穿过,如下图:2.打印机没有正确识别纸张。如果纸张已经正确安装,但是打印的时候总是跳纸或者上下偏移,可以先尝试给条码打印机做纸张校准工作:--------------------------------------------【间隙传感器校正(纸张校正)】请依以下的步骤,校正标签纸间隙传感器强度:1.关掉电源。2.按暂停键不放,然后打开电源。3.当打印机开始进纸时,即可放开暂停键,直到打印机停止动作,电源和联机指示灯号皆亮起绿灯之前,请勿关闭打印机电源。--------------------------------------------3.打印软件相关属性没有设置正确。如果上面两步还不能解决问题,这个时候我们需要确定下标签纸实际尺寸和我们打印机软件里设置的是否一致,标签纸上下间隙是否设置正确,还有打印机打印首选项有没有正确设置。A.确定标签纸实际尺寸和打印机软件里设置一致。B.检查标签纸的类型和你的标签纸是否匹配,普通的间隙纸和背面印黑标的纸设置不一样。4.TSC条码打印机的感测器故障。TSCTTP-244/342打印机有时候会发生间隙、黑标感测器被不干胶粘住,或者感测器本身有问题,这种情况建议你还是把TSC条码打印机寄到维修点由专业的售后技术处理。5.其它不可预期的问题。如果怎么弄都解决不了问题,一般有一个大招可以尝试,把TSCTTP-244/342条码打印机【恢复出厂设置】+【校准纸张】--------------------------------------------【TSCTTP-244/342EPRO打印机初始化】欲初始化打印机设定值,请依以下的步骤:1.关掉电源。2.按暂停键和进纸键不放,然后打开电源。3.当电源、联机及错误三个指示灯号轮流闪烁一次,则可放掉按键,打印机的起始化即完成。【间隙传感器校正(纸张校正)】请依以下的步骤,校正标签纸间隙传感器强度:1.关掉电源。2.按暂停键不放,然后打开电源。3.当打印机开始进纸时,即可放开暂停键,直到打印机停止动作,电源和联机指示灯号皆亮起绿灯之前,请勿关闭打印机电源。
为了确保数据库操作的高效性和稳定性,各位在编写数据库语句时请尽量遵守以下注意事项:1.定时任务执行优化明确更新范围:定时任务应明确指定需要更新的数据范围,避免全局更新。例如,定时任务每24小时执行一次,可以只更新过去25小时内的数据(为防止遗漏,数据范围故意比更新周期稍长)。选择合适的执行时间:如果定时任务确实需要全局查询或更新,应在系统负载较低的时间段进行,例如午休时间、晚饭时间或深夜2点,以避免高峰期下的死锁风险。及时更新的数据:需要及时生效的更改使用触发器执行,而不是建立一个极短周期的定时任务。2.优化触发器性能简化操作:触发器中的操作应尽可能简单且快速,以减少死锁的风险,避免在触发器中执行复杂的逻辑或长时间运行的操作。避免使用事务:使用事务可能会导致与其他会话的事务发生冲突,引发死锁。如果外部程序已使用事务,则会引入事务嵌套,增加事务控制的复杂度。避免使用游标:游标在处理大量数据时性能较差,应尽量使用集合作业(Set-BasedOperations)来替代。减少子查询和重复操作:尽量减少对相同数据的多次查询,可以通过一次查询获取所有需要的数据。使用批量更新:使用批量更新而不是逐行更新,可以显著提高性能并减少锁的持有时间。禁用计数消息:在触发器中使用SETNOCOUNTON,以禁用每条语句的计数消息,减少网络流量,提高性能。选择合适的连接类型:如果不需要左连接的结果,应尽可能使用INNERJOIN替代LEFTJOIN。例如:以下触发器ALTER TRIGGER [dbo].[tr_insertWMS_Barcode01] ON [dbo].[WMS_Barcode] FOR
INSERT AS
DECLARE @Id bigint
declare avsbb cursor for select Id from inserted open avsbb
fetch next from avsbb into @Id
while(@@FETCH_STATUS = 0) begin
DECLARE @WarehouseId bigint, @WareareaId bigint, @ReportId bigint, @BatchNum nvarchar(50), @MaterialCode nvarchar(200)
select @WarehouseId = a.WarehouseId, @WareareaId = a.WareareaId, @ReportId = a.ReportId, @BatchNum = a.BatchNum, @MaterialCode = m.Code
from WMS_Barcode a
left join Basic_Material m on m.Id = a.MaterialId
where a.Id = @Id
update a set a.UniqueCode = 1, a.BarcodeType =case when a.BatchNum = '' and a.BarcodeType = 3 then 0 else a.BarcodeType end, a.Z_01 = '', a.Z_04 = '', a.Z_10 = ''
FROM WMS_Barcode a
WHERE a.Id = @Id
IF @ReportId 0 and @BatchNum '' and @MaterialCode like '1%' BEGIN
update a set a.Remark = 'oooo', a.Status = 1
from WMS_Barcode a
where a.Id = @Id
END
fetch next from avsbb into @Id
end close avsbb
deallocate avsbb优化后可以写成:ALTER TRIGGER [dbo].[tr_insertWMS_Barcode01]
ON [dbo].[WMS_Barcode]
FOR INSERT AS
BEGIN
SET NOCOUNT ON; --禁用每条语句的计数消息,减少网络流量,提高性能。
-- 减少锁争用:批量更新减少了锁的持有时间。
-- 更新 UniqueCode 和 BarcodeType
UPDATE a
SET a.UniqueCode = 1,
a.BarcodeType = CASE WHEN a.BatchNum = '' AND a.BarcodeType = 3 THEN 0 ELSE a.BarcodeType END,
a.Z_01 = '',
a.Z_04 = '',
a.Z_10 = ''
FROM WMS_Barcode a
INNER JOIN inserted i ON a.Id = i.Id;
-- 更新 Remark 和 Status
UPDATE a
SET a.Remark = 'oooo',
a.Status = 1
FROM WMS_Barcode a
INNER JOIN inserted i ON a.Id = i.Id
LEFT JOIN Basic_Material m ON m.Id = a.MaterialId
WHERE i.ReportId 0
AND i.BatchNum ''
AND m.Code LIKE '1%';
END;3.其他注意事项索引优化:合理使用索引,避免全表扫描,提高查询效率。查询数据库中缺失的索引可以使用以下语句:SELECT TOP 20
[Total Cost] = ROUND(avg_total_user_cost * avg_user_impact * (user_seeks + user_scans),0)
, avg_user_impact
, TableName = statement
, [EqualityUsage] = equality_columns
, [InequalityUsage] = inequality_columns
, [Include Cloumns] = included_columns
FROM sys.dm_db_missing_index_groups g
INNER JOIN sys.dm_db_missing_index_group_stats s
ON s.group_handle = g.index_group_handle
INNER JOIN sys.dm_db_missing_index_details d
ON d.index_handle = g.index_handle
ORDER BY [Total Cost] DESC;建立索引可以使用:CREATE NONCLUSTERED INDEX IX_索引名称 ON dbo.表名称
(
[索引列1], [索引列2]...
)
include([包含列1], [包含列2]...)
WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]事务管理:对于需要保证数据一致性的操作,合理使用事务,但在不影响数据一致性的场景下,尽量避免使用事务。错误处理:编写健壮的错误处理机制,捕获并记录数据库操作中的异常,以便及时发现和解决问题。例如使用使用TRY...CATCH块BEGIN TRY
-- 示例操作:插入日志
INSERT INTO WMS_InventoryHistoryLog (InventoryID, ChangeDate, ChangedBy) SELECT i.InventoryID, GETDATE(), SUSER_SNAME() FROM inserted i;
-- 其他操作...
END TRY
BEGIN CATCH -- 处理错误
DECLARE @ErrorMessage NVARCHAR(4000); DECLARE @ErrorSeverity INT; DECLARE @ErrorState INT;
SELECT @ErrorMessage = ERROR_MESSAGE(), @ErrorSeverity = ERROR_SEVERITY(), @ErrorState = ERROR_STATE();
-- 记录错误日志
INSERT INTO ErrorLog (ErrorMessage, ErrorSeverity, ErrorState) VALUES (@ErrorMessage, @ErrorSeverity, @ErrorState);
-- 重新抛出错误,让外部事务处理
RAISERROR (@ErrorMessage, @ErrorSeverity, @ErrorState);
END CATCH性能监控:定期监控数据库性能,识别并优化慢查询,确保系统的稳定运行。以下语句可以查询数据库过去一段时间内执行的语句和资源消耗:SELECT TOP 1000
--创建时间
QS.creation_time,
--查询语句
SUBSTRING(ST.text,(QS.statement_start_offset/2)+1,
((CASE QS.statement_end_offset WHEN -1 THEN DATALENGTH(st.text)
ELSE QS.statement_end_offset END - QS.statement_start_offset)/2) + 1
) AS statement_text,
--执行文本
ST.text,
--执行计划
QS.total_worker_time,
QS.last_worker_time,
QS.max_worker_time,
QS.min_worker_time
FROM
sys.dm_exec_query_stats QS
--关键字
CROSS APPLY
sys.dm_exec_sql_text(QS.sql_handle) ST
ORDER BY
QS.creation_time DESC 通过遵循以上注意事项,可以有效提升数据库操作的性能和可靠性,减少潜在的问题和风险。
系统的硬件性能对于后续产品体验和功能完整有着重大的影响,因此您可以借助本工具大致判断服务器的性能,综合评估服务器是否能开启后续的功能。下载测试工具您可以从版本管理页面右侧边栏下载性能测试工具。或者点击下载工具。开始测试将本工具解压缩到系统运行的硬盘分区下,双击打开,工具会自动读取服务器的基础信息,点击开始测试运行。建议在系统空载时进行测试,您可以多次运行测试,看看系统平均性能和最低性能。性能评估服务器应当达到下述标准方能基本保证系统稳定运行。数据越大性能越好。最小值推荐值CPU单核612CPU多核2050内存读712内存写712磁盘小文件读10001500磁盘小文件写10003000磁盘中文件读10005000磁盘中文件写10003000磁盘大文件读5004000磁盘大文件写5001500低于最小值可能严重影响后续系统使用体验,并可能导致无法预测的崩溃问题。CPU性能决定了服务器单位时间的计算能力,过低的CPU性能可能导致后续计算性能不足。内存的性能决定了服务器同时可运行的程序多少,内存过小或者性能低下会导致系统频繁加载数据,引起性能明显下降。磁盘性能会直接影响读写速度,您可以分别测试服务器系统盘性能、用于存储MES系统数据库磁盘性能和用于存储MES系统附件磁盘性能。如果磁盘读写缓慢会严重影响系统运行速度,建议更换高性能磁盘。
本问主要介绍了供应链模块中单据质检如何定义并在后台和APP中如何打开调用。首先需要您有单据建模的权限和菜单管理的权限。在单据建模中如果设定了某个单据需要进行质检:此时,单据不能直接审核,必须进行质检后才能正常审核。在后台操作可以新增对应的质检菜单(需要管理员权限):在菜单管理中新增对应的菜单,名称可以随意取,Url地址为:采购类:WMS/BillPurchase/QualityCheckList?billtype=单据类型
销售类:WMS/BillSale/QualityCheckList?billtype=单据类型
仓管类:WMS/BillStock/QualityCheckList?billtype=单据类型
生产类:WMS/WMSBill/QualityCheckList?billtype=单据类型APP中在生产制造页面可以新增按钮,按钮名称为:btn_QC_单据名称设置完成后,可以在App中找到对应的单据检验按钮,即可正常进行质检。
一、更新系统到最新版本默认系统为安卓,更新后变成鸿蒙,此步骤可选,但如果原安卓系统下没有下面提到的选项则请更新到鸿蒙最新版本。更新步骤直接点设置中的系统和更新,检查更新即可,与华为手机基本一致。二、打开设置找到关于平板电脑三、连续点击版本号进入开发模式四、点击系统和更新选择开发人员选项五、找到绘图下面的最小宽度,点击将其改为900六、重新打开数字看板应用。
系统运行过程中一些特殊逻辑或者需要外部系统提供数据支持的时候,程序会在相应代码中调用一些固定的存储过程以实现相关逻辑控制。在SQLServer中这些存储过程可以有,也可以没有,没有的情况下不会影响系统原有逻辑。但在MySQL或者MariaDB中,这些存储过程是必须要有的,内容可以为空,不做任何操作,如果没有这些存储过程则系统会报错。举个例子,在前台页面做条码报工的时候,系统会去调用[p_CheckSNBarcodeCanReport]存储过程,此时如果数据库中存在此存储过程,则您可以在此存储过程中做一些其他额外的校验逻辑,以实现特殊管控。例如:此条码未在ERP数据库中完成注册则不允许报工等控制。CREATE PROCEDURE [dbo].[p_CheckSNBarcodeCanReport]
@barcode nvarchar(200)
AS
BEGIN
SET NOCOUNT ON;
declare @count int
select @count = count(1) from ERP..BarcodeRecord where Barcode=@barcode
if @count0 begin
RAISERROR ('此条码未注册',16,1)
end
END如果数据库抛出了异常则程序会终止接下去的操作,例如上述存储过程如果抛出异常,则该条码不能继续报工,且页面会显示异常信息:“条码未注册”。类似的功能节点还有如下几个:存储过程参数说明p_CheckSNBarcodeCanReport@barcodenvarchar(200)通过存储过程判断条码能否报工p_CheckSNBarcodeCanOnline@barcodeIdbigint,@dispatchIdbigint通过存储过程判断条码能否上线p_CheckDispatchCanStart@dispatchIdbigint通过存储过程判断派工单能否开工p_CheckReportCanConfirmQty@reportIdbigint,@qtydecimal(18,6)用数据库检查报工单是否可以确认p_CheckReportCanDelete@reportIdbigint用数据库检查报工单是否可以删除p_CheckDispatchCanDelete@dispatchIdbigint用数据库检查派工单是否可以删除p_CheckDispatchCanReport@dispatchIdbigint检查派工单能否报工p_CheckEmployeeCanReport@dispatchIdbigint,@employeeIdbigint检查人员能否报工p_CheckSNBarcodeCanGenerate@barcodenvarchar(200),@dispatchIdbigint用存储过程判定SN码是否可以生成p_CheckBarcodeCanReportIn@barcodeIdbigint用存储过程判断条码是否能生产入库p_CheckBarcodeCanScanBill@barcodeIdbigint,@warehouseIdbigint,@wareareaIdbigint,@billtypenvarchar(200)用存储过程判断条码是否能在单据扫描p_AddDispatchMaterial@dispatchIdbigint生成补料单
安装window服务安装命令:InstallUtil.exeMESSyncService.exeInstallUtil存在路径为:C:\WINDOWS\Microsoft.NET\Framework\.NET版本号复制C:\WINDOWS\Microsoft.Net\Framework\版本号路径中的InstallUtil.exe到bin/debug或bin/release文件夹中,在命令行窗口中直接运行命令InstallUtil.exeMESSyncService.exe,在系统中注册这个服务,使它建立一个合适的注册项,如下图:然后再window服务列表中,启动MES数据同步服务卸载window服务命令:InstallUtil.exeMESSyncService.exe/u如果修改这个服务,但是路径没有变化的话是不需要重新注册服务的,直接停止服务,然后用新的文件覆盖原来的文件即可,如果路径发生变化,应该先卸载这个服务,然后重新安装这个服务。配置选项appSettings
!--MES数据库--
add key="MES" value="MES"/
!--ERP数据库--
add key="ERP" value="HKS"/
add key="URL" value="http://localhost:5001"/
add key="USER" value="System"/
add key="PSW" value="123456"/
!--缩略图路径--
add key="FileThumnFormat" value="Material/thumb/{0}.png"/
!--附件名字格式--
add key="FileAttachFormat" value="{0}.pdf"/
!--同步间隔,单位:秒 0表示不同步--
!--Web生产计划--
add key="SyncPlan" value="1800"/
!--Web物料信息--
add key="SyncMaterialWeb" value="1800"/
!--Web物料类型信息--
add key="SyncMaterialTypeWeb" value="1800"/
!--Web工艺路线同步--
add key="SyncRoutingWeb" value="1800"/
!--Web物料清单同步--
add key="SyncBomWeb" value="1800"/
!--Web程序热键--
add key="SyncHotkey" value="1800"/
!--客户信息--
add key="SyncCustomer" value="1800"/
!--供应商--
add key="SyncSupplier" value="1800"/
!--工作中心--
add key="SyncWorkcenter" value="1800"/
!--人员信息--
add key="SyncEmployee" value="1800"/
!--工序--
add key="SyncProcess" value="1800"/
!--物料信息--
add key="SyncMaterial" value="1800"/
!--工艺路线--
add key="SyncRouting" value="1800"/
/appSettings上述配置信息中均已标识其中Web开头的需要配置URL、USER、PSW才可以使用,系统会调用WEB所在地址进行同步服务。其余各项只能使用易飞的ERP时才可以使用,其他系统不能同步。同步易飞的ERP信息时需要配置数据库信息:connectionStrings
add name="DBConnection" connectionString="Data Source=47.92.*.*;Initial Catalog=MES;User ID=sa;Password=******" providerName="System.Data.SqlClient"/
/connectionStrings仅支持MES和ERP在同一个数据库下的部署场景,其他情况请使用新版本的同步工具,本工具不支持。
Redis下载地址:windows版本readis下载(GitHub):https://github.com/tporadowski/redis/releases(推荐使用)https://github.com/MicrosoftArchive/redis/releases官网下载(无Windows版本):https://redis.io/downloadRedis中文网站:http://www.redis.cn所有版本这里都有:https://download.redis.io/releases/(下载后是个Linux的压缩文件,需要下载、解压和编译)发行说明:https://raw.githubusercontent.com/redis/redis/5.0/00-RELEASENOTESRedis支持32位和64位。根据你所使用的系统和实际情况进行选择,这里我下载Redis-x64-xxx.zip压缩包到磁盘,解压后,将文件夹重新命名为redis。Windows下的.msi安装和.zip格式区别:.msi是Windowsinstaller开发出来的程序安装文件,它可以让你安装,修改,卸载你所安装的程序。说白了.msi就是Windowsinstaller的数据包,把所有和安装文件相关的内容封装在一个包里。此外:它还包含有关安装过程自己的信息。例如:安装序列、目标文件夹路径、安装选项和控制安装过程的属性。.zip是一个压缩包,解压之后即可,不需要安装一、zip压缩包方式下载安装1、下载Redis压缩包这里我在GitHub中下载window用的5.0版本Redis-x64-5.0.14.1.zip。https://github.com/tporadowski/redis/releases2、解压到文件夹将下载的压缩包解压到指定的文件夹中,如:D:\Redis,内容如下:3、启动Redis服务在Redis的安装目录下打开cmd窗口,然后执行命令来启动服务:redis-server.exe redis.windows.conf切换到redis目录:可以打开cmd使用cd命令切换到redis所在的目录:cd/dd:\redis随后使用redis-server.exeredis.windows.conf命令来启动redis服务。默认端口为6379,出现图上的图标说明redis服务启动成功。命令里面的redis.windows.conf可以省略,省略后,使用redis-server.exe命令会使用默认的配置。二、msi安装包方式下载安装1、下载Redis安装包这里我在GitHub中下载window用的5.0版本Redis-x64-5.0.14.1.msi这里选择.msi格式的安装版本(另外一种.zip为本文中的第一种安装方式安装)https://github.com/tporadowski/redis/releases2、进行安装直接运行.msi的安装包,一直next,直到下面界面,勾选上再next需要注意的是Redis安装目录所在盘需要有系统的分页文件,不然可能导致Redis无法正常写入磁盘,从而导致无法对外提供服务。Redis需要使用大量的IO资源,建议将其安装在系统盘下,尽量避免与MES安装在同一硬盘上,或者直接独立服务器安装,避免影响性能。3、进行配置①安装完毕后,进入redis安装目录找到配置文件redis.windows-service.conf注意是redis.windows-service.conf不是redis.windows.conf后者是以非系统服务方式启动程序使用的配置文件.②在配置文件中,找到requirepassfoobared字样,在其后面追加一行,输入requirepass123456设置访问Redis时所需的密码。一般测试情况下可以不用设定密码。这里设置123456做演示。③修改保存失败处理策略,找到stop-writes-on-bgsave-error,将其值改为no。否则系统崩溃引起对外服务异常会导致系统崩溃。注意如果分析日志后发现存在数据存入磁盘失败的情况,请立即分析失败原因并解决(一般是内存过小,磁盘空间不足,磁盘性能低下或者所在磁盘没有系统分页引起的故障),否则服务器重启或者服务崩溃会导致数据丢失,进而导致单号重复等异常。4、启动服务进入计算机服务中(右键计算机→管理→服务和应用程序→服务)再在右侧找到Redis名称的服务,查看启动情况。如未启动,则手动启动。正常情况下,服务应该正常启动并运行了,但是因为前面修改过配置文件,需要重启服务。
在API接口对接中经常会遇到接口需要先进行鉴权操作,类似于系统登录后才可以进行API操作。本系统的同步API设置中考虑了这种情况,您需要预先设置API鉴权功能。以下是API接口鉴权流程说明。1.预设鉴权功能目的:确保API接口调用前的安全性,模拟类似系统登录的过程。操作位置:访问Sync/OutAPIAuth/Index菜单地址,此菜单项集中管理API鉴权配置,便于运维监控与调整。2.鉴权配置共享多接口调用:单个鉴权配置可服务于多个API接口,提升复用性和效率。超时处理:自动化管理鉴权时效,一旦超时,系统将触发重新鉴权,确保调用连续性。3.复杂鉴权支持嵌套鉴权:支持鉴权接口间的嵌套调用,满足多层级验证需求,如先用账号获取AccessKey,再通过AccessKey获取Token,接口调用Token进行下一步验证。注意不要互相调用形成循环嵌套,这样会引起系统异常。4.实操步骤步骤一:配置鉴权方法操作:在鉴权管理界面设定获取Token的逻辑。验证:利用内置的“测试”功能,确保该鉴权接口能成功返回预期信息,如Data.Token字段包含鉴权凭证。步骤二:接口变量绑定变量设定:在需鉴权保护的API接口配置中,创建变量以存储鉴权结果,写法是“接口鉴权编码.返回的鉴权信息路径”。例如,使用GToken.Data.Token引用之前获取的Token。注意事项:注意变量命名与路径的准确性,保持大小写一致,确保系统能准确解析并应用鉴权信息。5.动态响应与维护自动化处理:一旦系统检测到鉴权失效(如超时),将自动执行重新鉴权流程,保证API调用无缝进行。灵活性:通过上述配置,实现了动态获取和更新鉴权凭证,简化了开发与维护工作,提高了系统的稳定性和安全性。
如果在您的应用程序中遇到上传文件失败的情况,为确保问题得到妥善解决,您应仔细检查以下几个关键配置项,以确保文件上传服务的正常运行:1.检查appsettings.json中的OSSProvider文件存储服务节点配置在您的应用程序配置文件appsettings.json中,通常会有一个专门针对外部文件存储服务(如对象存储服务,简称OSS)的配置节点OSSProvider。确保这一部分配置信息的准确性至关重要,因为它直接影响到应用程序与文件存储服务之间的通信和交互。具体检查要点如下:服务提供商信息:确认是否指定了正确的服务提供商(如阿里云OSS、腾讯云COS、AWSS3等),以及是否使用了正确的访问密钥(AccessKeyID和SecretAccessKey)进行身份验证。Bucket配置:确保指定的存储桶(Bucket)名称准确无误,且该存储桶处于激活状态。同时,检查区域(Region)设置是否与实际使用的存储桶所在区域一致。端点(Endpoint):核实端点URL是否正确指向服务提供商提供的文件存储服务接口。其他高级设置:如安全策略(如是否启用SSL/TLS加密)、上传策略(如分块大小、并发上传数量等)和缓存设置等,确保它们符合预期且与文件存储服务的要求相匹配。如果启用了在线文件存储服务,任何一处配置错误都可能导致上传失败。若遇到问题,建议查阅相关服务商的官方文档或技术支持文章以获取详细指导。参考链接如下:http://lic.ymes.cn/Home/Article?articleId=2762003717786992640如果不需要在线文件存储服务,可以将OSSProvider的Provider设置成None,或者接删除OSSProvider配置节点。2.检查站点根目录下wwwroot文件夹的权限Windows系统对于部署在Windows系统上且使用IIS作为Web服务器的应用程序,确保wwwroot文件夹拥有正确的权限设置是防止上传失败的重要步骤。根据部署环境的不同,采取相应的权限调整策略:内网部署:在相对封闭的内网环境中,为了简化权限管理,您可以考虑直接赋予everyone用户组对wwwroot文件夹的完全控制权限(读取、写入、执行)。这样做虽然方便,但可能带来一定的安全风险,仅适用于严格受控且对安全性要求较低的内部网络环境。对外服务:对于面向互联网公开提供服务的站点,建议遵循更严格的权限控制原则,仅赋予必要的账户或组以适当的读写权限。通常情况下,涉及的账户包括:IIS应用程序池账号:确保当前应用程序池使用的标识(默认为ApplicationPoolIdentity或自定义账户)对wwwroot文件夹拥有读写权限。可以通过IIS管理器或命令行工具(如icacls)来调整权限设置。特殊系统账户:如IUSR(匿名Internet用户)和IIS_IUSRS(IIS应用程序池标识用户组)。这些账户或用户组代表了IIS进程访问本地文件系统的身份。确保它们至少拥有对wwwroot文件夹及其子目录的读写权限。可通过文件夹属性的安全选项卡或命令行工具进行设置。Linux系统检查wwwroot文件夹的权限通常涉及以下几个步骤:1.打开终端使用快捷键(如Ctrl+Alt+T)或通过桌面菜单启动终端应用程序。2.导航至wwwroot文件夹所在目录使用cd命令切换到包含wwwroot文件夹的目录。例如,如果wwwroot位于/var/www/html下,执行:cd /var/www/html3.使用ls命令查看文件权限执行ls-ldwwwroot命令来查看wwwroot文件夹本身的权限。其中:-l选项以长列表格式显示文件和目录信息,包括权限、所有者、组、大小、修改日期等。-d选项指定只显示wwwroot文件夹本身的属性,而不是其内部的内容。命令示例:ls -ld wwwroot输出类似如下:drwxrwxr-x 3 www-data www-data 4096 Mar 15 12:34 wwwroot4.解析权限信息从上述输出中,重点关注权限字段(第一列),它由十位字符组成,分为四组:第一位表示文件类型(d表示目录)。后九位每三位一组,分别代表所有者(User)、组(Group)和其他用户(Other)的权限。每组内的三个字符分别对应读(r)、写(w)和执行(x)权限:r表示可读,用户可以查看文件内容(目录则可以列出其内容)。w表示可写,用户可以修改文件内容(目录则可以添加、删除或重命名其内部文件)。x表示可执行,用户可以执行文件(目录则可以进入该目录)。5.验证权限是否符合预期根据您的应用需求和服务器安全策略,确认wwwroot文件夹的权限是否合理。常见的权限设置如:所有者(通常是Web服务器的运行用户,如www-data或apache)应具有读、写和执行权限。组(与所有者相同或特定的Web服务组)通常也需具备读、写权限,执行权限视情况而定。其他用户(非所有者和组成员)通常只需具有读权限,以保护文件免受未经授权的修改。有时为了安全起见,甚至可能只给予执行权限(目录可进入),而不允许读取文件内容。如果发现权限不符合预期,可以使用chmod命令进行调整。例如,将wwwroot设置为所有者和组可读写执行,其他用户仅可读:sudo chmod 775 wwwroot其中,数字模式775分别对应所有者(7,即rwx)、组(7,即rwx)和其他用户(5,即rx)的权限。总结来说,要检查Linux系统下wwwroot文件夹的权限,只需在终端中使用ls-ld命令查看其权限信息,然后根据实际情况判断和调整权限设置。总之,在排查文件上传失败问题时,务必细致检查appsettings.json中的文件存储服务配置以及wwwroot文件夹的权限设置。正确配置这些参数有助于确保应用程序与文件存储服务之间通信顺畅,以及Web服务器能够顺利处理上传请求。如有必要,参照相关服务商文档或咨询技术支持以获取进一步帮助。
一、钉钉开放平台的准备工作仔细阅读钉钉提供的开发文档:https://open.dingtalk.com/document/orgapp/learning-map注册开发者账号:请确保您已拥有钉钉开放平台的开发者账号,如果没有,请联系你企业的管理员赋予您相应的权限。建议使用企业所有者或管理员账号注册,避免接下来操作的权限问题。创建企业内部应用,登录钉钉开放平台,在“应用开发”中选择“企业内部开发”,然后点击“创建应用”。根据提示填写应用名称、应用图标等必要信息后提交审核(如果是自用型的企业内部应用,通常可快速通过审核)。审核通过后,会得到应用的相关信息,如AppKey和AppSecret,这是后续集成过程中非常重要的参数。同时可以打开鸿蒙系统适配开关,MES系统已适配鸿蒙Next环境运行。在应用能力中添加网页应用:应用首页地址设置为MES的APP地址,PC端首页地址和管理后台地址均设置为MES的首页地址,注意不要设置为登录地址,否则会导致每次都请求自动登录,消耗不必要的接口资源。应用相关权限管理:目前需要的权限有:个人权限(个人手机号信息、通讯录个人信息读权限),通讯录管理(企业员工手机号信息、邮箱等个人信息、通讯录部门信息读权限、维护通讯录的接口访问权限、成员信息读权限、通讯录部门成员读权限、),考勤(调用企业API基础权限),身份验证(企业微应用后台免登接口的访问权限),获取凭证(获取钉钉开放接口用户访问凭证的基础权限),待办任务(待办应用中待办写权限、待办应用中待办读权限),场景群(钉钉群基础信息管理权限),机器人(企业内机器人发送消息权限、单聊机器人使用管理权限)。在安全设置中完成对系统的重定向URL和Webview可信域名设置:直接发布版本:至此钉钉开放平台已完成设置。您可以将应用添加到工作台。具体步骤参考钉钉官方文档:https://open.dingtalk.com/document/orgapp/set-application-visible-range二、MES系统设置与钉钉集成系统需要您的MES服务器有外网访问权限,至少能访问钉钉相关服务接口,否则无法正常使用。打开系统管理页面,进入系统设置,将开放平台凭证信息填入钉钉企业内部集成参数。小程序相关的可不填。点击测试,如能正常连接说明参数填写正确,否则请与钉钉开放平台核对参数。在菜单管理中对部门管理页面和人员管理页面添加同步按钮。部门管理页面新增同步按钮btn_SyncDeptByDing,用户管理页面新增同步按钮btn_SyncUserByDing。添加后可以点击按钮将钉钉的组织架构和人员用户信息同步到MES系统中。由于钉钉接口限制,您必须先同步部门信息,然后才可以同步用户信息。至此完成账号同步后赋予账号相应的角色权限即可在钉钉中正常使用。注意钉钉同步的账号信息无法使用系统自带的登录功能进行正常登录,必须在钉钉应用内使用。如您需要脱离钉钉应用环境使用钉钉同步的用户账号,请联系您的专属顾问进行脱离处理。三、测试分别在电脑上和手机上用钉钉打开添加的应用,检测其是否能自动登录并打开页面。如提示权限问题请到钉钉开放平台赋予相关的权限。
1系统安装1.1iso下载ubuntu官网https://cn.ubuntu.com/1.2安装ubuntu-22.04.21.2.1系统更新设置选择continuewithoutupdating1.2.2分区设置磁盘选择自定义配置选择空闲分区敲回车,选择增加一个GPT分区boot分区分配1G空间其余的容量都分配给根分区,容量不填写表示分配剩余的所有容量分区设置好后,点击完成1.2.3用户设置创建一个用户,设置主机名1.2.4ssh服务设置安装ssh服务1.2.5预装服务选择需要在安装系统时安装的服务,不需要的话可以直接跳过,这一步选择过后会开始安装系统安装完成后直接重启,viewfulllog可以查看安装时的日志2用户配置2.1登录系统使用安装系统时创建的用户登录系统2.2root用户配置2.2.1设置root密码Ubuntu22需要在安装系统后设置ubuntu的root密码才能正常登录。zl@ubuntu:~$ sudo passwd root ##为root用户设置密码
[sudo] password for zl: ##输入zl用户的密码
New password: ##设置root用户的密码
Retype new password: ##重复root用户的密码
passwd: password updated successfully
zl@ubuntu:~$
zl@ubuntu:~$ su root ##尝试是否能登录root用户
Password:
root@ubuntu:/home/zl# id
uid=0(root) gid=0(root) groups=0(root)
root@ubuntu:/home/zl#2.2.2允许ssh使用root用户登录需要使用root用户编辑和重启ssh服务root@ubuntu:/home/zl# grep PermitRoot /etc/ssh/sshd_config
#PermitRootLogin prohibit-password
PermitRootLogin yes
# the setting of "PermitRootLogin without-password".
root@ubuntu:/home/zl# systemctl restart sshd3网络配置3.1dhcp配置dhcp配置较为简单root@ubuntu:/etc/netplan# pwd
/etc/netplan
root@ubuntu:/etc/netplan# cat 00-installer-config.yaml
# This is the network config written by 'subiquity'
network:
ethernets:
ens3:
dhcp4: true
version: 2
root@ubuntu:/etc/netplan# netplan apply ##应用配置在上面的文件中,我们使用了以下内容:ens3:接口名称dhcp4:启用dhcp3.2静态ip配置在UbuntuServer22.04中,网络由NetPlanUtility控制,因此我们将使用NetPlan在UbuntuServer上配置静态IP地址。登录到您的服务器,查找NetPlan配置文件。它位于/etc/netplan目录下,是一个yaml格式的文件。root@ubuntu:/etc/netplan# pwd
/etc/netplan
root@ubuntu:/etc/netplan# cat 00-installer-config.yaml ##修改如下内容,设置网卡ip及密码
# This is the network config written by 'subiquity'
network:
renderer: networkd
ethernets:
ens3:
addresses:
- 172.18.100.112/16
nameservers:
addresses: [114.114.114.114, 8.8.8.8]
routes:
- to: default
via: 172.18.0.1
version: 2在上面的文件中,我们使用了以下内容:ens3:接口名称addresses:用来设置静态IPnameservers:用来设置DNSserverroutes:用来设置网关要使上述更改生效,请使用以下netplan命令应用这些更改root@ubuntu:/etc/netplan# netplan apply4软件包管理4.1网络源配置每个版本的源不同,本例为22.04版本的配置方式root@ubuntu:/etc/netplan# mv /etc/apt/sources.list /etc/apt/sources.list.bak
root@ubuntu:/etc/netplan# cat /etc/apt/sources.list ##新编辑一个文件,内容如下
deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
在APP的ESOP查询页面可以扩展显示信息。如下:一、数据库视图构建,要求需在数据库中新建标准视图v_ESOPExtInfo,该视图必须包含MaterialCode核心字段:CREATE VIEW [dbo].[v_ESOPExtInfo]
AS
SELECT
Code AS MaterialCode, -- 必须字段:物料编码(唯一标识)
Name AS 物料名称, -- 物料名称(可选扩展字段)
Spec AS 规格参数, -- 规格参数(可选扩展字段)
StorageLocation AS 存储位置, -- 存储位置(可选扩展字段)
LastUpdateDate AS 更新时间 -- 最后更新时间(可选扩展字段)
FROM ERP..WareInfo
WHERE Status = 'Active' -- 添加数据过滤条件
GO二、数据对接字段映射规则:MaterialCode(必填):与APP端ESOP主表MaterialCode字段关联其他扩展字段:将按字段名称自动映射到前端展示组件按上述视图举例则会在页面的其他信息中展示物料名称、规格参数、存储位置、最后更新时间信息。
本文主要描述如何远程控制看板设备或者SOP设备,设备端需默认已安装专用的看板应用(该应用可在版本记录右侧下载安装,如果是从我司采购的看板盒子默认已安装)。一、使用系统后台自带的控制台在左侧菜单中找到安卓设备管理,如果没有则联系管理员添加菜单:Box/Index。输入要控制的设备网段信息,注意网段信息范围越小成功检索设备的概览越大,如果一次查找设备超过500个,成功查找设备的概率会急速降低,具体数量看路由器端的性能或者策略限制。请注意:1.Chrome浏览器或者以Chromium内核的浏览器默认开启的安全策略可能会导致无法和安卓设备进行通讯,请关闭同源安全策略或者换用其他浏览器;2.打开此页面的设备需要能和远端设备进行双向的通讯,一般路由策略默认同一网段的设备可互相访问,不同网段的设备需要调整配置,具体请联系网络管理员进行操作,请勿私自修改网络配置以免造成数据泄露。二、使用远端设备管理工具在本站版本记录页面右侧下载“管理工具”,该工具可独立运行,不需要拥有系统管理后台。下载后双击安装,打开管理器:请注意:1.该管理工具与浏览器的要求一样,需要将运行该工具的电脑置于能和远端设备能互通的网络环境中;2.需要在Windows7SP3或者更新的版本中运行,低版本Windows不支持,且未对Server版本的Windows测试,请谨慎安装。三、管理远端设备1.打开管理工具,输入远端设备的网段,点击查找设备,如果无法找到请缩小网段范围重试,并检查当前设备能否与远端设备进行通讯。2.待查找完毕,工具将显示设备名称、IP、MAC地址、主页地址等信息,可以进行远程控制;如果IP地址显示离线则说明和设备通讯中断,不可进行远控操作。3.左侧分类可以直接新增或者删除,双击右侧设备行可以对设备名称和分类信息进行编辑。4.呼叫功能,点击设备的呼叫,对应的设备会显示颜色醒目的被呼叫页面,可快速定位设备,方便查找。5.截屏功能,点击后可实时获取设备当前显示内容,方便查看设备显示信息,注意使用GPU加速的部分内容由于安卓能力限制不可截图,因此该截图内容仅供参考,与实际显示会有一定出入。6.主页功能,点击可直接修改对应设备的主页地址,被控端会直接提示并切换新的主页地址。7.清空功能,点击后被控端设备上的信息会被清空,恢复到默认页面。8.重启功能,点击后被控端的应用会重启,注意不是重启系统,部分安卓设备可能无法完成重启,需要您手动重启应用。9.断网刷新,开启后如果被控端的网络断开或重连,会自动重新尝试加载主页。
在单据建模过程中,通常包含一个同步接口设置的Tab项目,该模块旨在实现与外部系统间的数据同步,确保业务流程的无缝衔接。以下是对该设置项的详细阐述:1.新增同步接口与管理页面新增同步接口:用户点击相关按钮后,可以创建一个新的同步接口配置,定义其对接的具体功能和交互规则。菜单管理(Sync/OutAPI/Index):通过将管理页面添加至菜单中,用户可以便捷地访问和管理所有已配置的同步接口,便于监控、调试和维护。同一个单据可以建多个API接口,系统会逐一调用。也可以针对单据中的不同数据设置调用条件。2.设置页面与同步内容搭建点击新增或编辑后,用户将进入设置页面,该页面用于详细设定同步接口的各项参数及逻辑:接口名称用户可自由定义接口名称,但建议采用具有明确意义的词汇,以便于后期快速识别、查找和编辑。动作内容保存前:在本系统将单据数据存入数据库之前调用接口。若接口调用出现异常,系统将抛出异常并可能阻止后续数据保存操作。保存后:在本系统完成单据数据入库后调用接口。即使接口调用发生异常,本系统的数据操作已完毕,异常仅作为提示,不影响系统内部状态。删除前与删除后:同理,分别在执行单据删除操作前、后触发接口调用,根据动作时刻的不同,对异常处理策略有所区分。单据分类与名称指定接口调用所对应的单据类别和名称,确保接口能够准确对接到目标业务数据。前置条件通过设置基于主表字段的条件表达式(如BillExt=='出口'),控制在满足特定条件时才调用此接口。字符串常量需使用英文单引号包围。URL信息提交方式:选择接口所需的HTTP方法,如POST、GET、PUT等。接口地址:填入第三方系统提供的接口URL,作为数据交换的目标地址。Body格式支持以下三种提交格式:application/json:将Body内容组装成JSON格式提交,广泛应用于现代API设计中。application/x-www-form-urlencoded:将Body内容以标准的URL-encoded形式编码成键值对,适用于传统表单提交场景。multipart/form-data:适用于类似文件上传等场景,允许额外指定参数名,将Body内容封装为“参数名:json”格式提交。Body类型List:将Body内容包裹在JSON数组中。Object:直接将Body内容组装成JSON对象。选择何种类型应遵循第三方接口的数据结构要求。Headers用于在请求头中添加必要的参数,如AccessKey、SecretKey等认证信息,确保接口调用的合法性与安全性。Body内容根据第三方接口参数需求设置。对于涉及单据子表的内容,使用特定字段标识(如sub),系统会自动处理成相应的数据结构。可以点击“本地字段/值”旁边的问号打开对照表,这有助于用户正确填写本地字段与值。在请求体(Body)中实现了一个特殊机制,该机制规定:任何字段名以“_*”为前缀的属性(包括其子节点),将不会被包含在向服务器提交的数据之中。这一设计旨在为开发者提供一个便捷的途径来存储临时变量或中间计算结果,而无需担心这些数据会被无意中上传至服务器,从而保证了数据的纯净性和传输效率。单据可用的字段可以在行上右键查找。字段格式化格式化功能涵盖多个领域,包括日期、数字和字符串操作:日期格式化:年份:使用yyyy(四位数,如2019)或yy(两位数,如19)月份:MM(两位数,如01-12)或M(一位数或两位数,如1-12)日:dd(两位数,如01-31)或d(一位数或两位数,如1-31)24小时制小时:HH(两位数,如00-23)或H(一位数或两位数,如0-23)12小时制小时:hh(两位数,如01-12)或h(一位数或12,如1-12)分钟:mm(两位数,如00-59)或m(一位数或两位数,如0-59)秒:ss(两位数,如00-59)或s(一位数或两位数,如0-59)毫秒:fff数字格式化:零占位符:0数字占位符:#小数点:.用于分隔整数和小数部分组分隔符:,用于分隔数字中的千位比例换算:可以结合小数点和数字占位符来设置精度和小数部分百分比:%用于表示百分比千分比:‰用于表示千分比字符串操作:哈希算法:支持md5、SHA1、SHA256、SHA384和SHA512,指定算法名称即可,大写表示输出结果为大写Base64编码:将字符串转换为Base64格式的字符串详情可以参阅格式化的字段说明,具体用法以页面中的说明为准。3.Response设置与结果处理内容格式指定接口返回数据是JSON对象还是JSON数组,以便系统正确解析响应。状态字段填写返回对象中用于标识接口操作成功与否的字段全路径。当实际返回值与此字段的预设成功状态相符时,认为接口调用成功;否则视为失败。错误消息字段若接口无明确状态字段,可选使用错误消息字段作为调用成功与否的依据。当返回JSON对象中该字段非空时,视为接口调用失败。异常处理抛出异常:在接口调用失败时,系统弹出错误信息。对于操作前的接口,异常将阻止本系统写入数据库;操作后的接口则仅提示异常,此时数据库操作已完成。不做处理:仅记录调用日志,无论接口调用成功与否,系统均不显示异常,数据操作按原计划进行。单号字段与消息字段系统将接口返回的指定字段值(如单号、消息)写入单据主表相应字段,实现数据回填与状态同步。注意事项状态字段和错误消息字段二选一,至少填写一个,否则系统无法判断调用结果。如实不需要系统关注调用结果也可以不填,并将失败时设置为不做处理。所有返回内容字段名称必须填写完整的路径名称,确保系统能准确提取所需数据。错误的配置可能导致接口报错!如果返回的格式有列表,请在路径中指定列表行索引。例如返回格式是:{
"Status": 0,
"Data": {
"id": 1,
"code": "SH20200021",
"description": "test",
"created_at": "2021-01-01 00:00:00",
"updated_at": "2021-01-01 00:00:00",
"deleted_at": null
}
}要获取单号则路径应该写成:Data.code,状态字段是:Status。如果是:{
"Status": 0,
"Data": [{
"id": 1,
"code": "SH20200021",
"description": "test",
"created_at": "2021-01-01 00:00:00",
"updated_at": "2021-01-01 00:00:00",
"deleted_at": null
}]
}要获取单号则路径是:Data.0.code,状态字段是:Status。如果是:[{
"Status": 0,
"Data": [{
"id": 1,
"code": "SH20200021",
"description": "test",
"created_at": "2021-01-01 00:00:00",
"updated_at": "2021-01-01 00:00:00",
"deleted_at": null
}]
}]要获取单号路径则是:0.Data.0.code,状态字段是:0.Status。4.执行日志记录您可以在同步接口列表中查看执行记录,这有助于调试接口信息。
需求:产线看板,报工记录,删除按钮进行权限控制对于这一块的权限控制:1.在菜单管理中选择设备报工台,新增报工记录菜单,Url是“Desk/ReportList”。2.在报工记录的按钮中新增如下按钮:这样设置后可以在权限中控制进行权限管控。注意报工记录旧版本中无权限控制,新版本中需要在首页的按钮中新增按钮“报工记录”,Id为“btn_ReportList”。
本文主要介绍Windows操作系统下搭建IIS服务的步骤和其他一些运行本应用需要勾选的功能。打开服务器管理器点击添加角色和功能:这时服务器显示开始之前,这是一些提醒和说明,点击下一步:安装类型选择基于角色或基于功能的安装,再点击下一步:选择服务器后,再点击下一步:到服务器角色页面后勾选“Web服务器(IIS)”选项,此时会弹出对话框:提示要添加所需功能,选择添加功能后,点击下一步:在功能选择页面不做任何修改,如果是旧版本的服务器请勾选“墨迹与手写服务”,直接下一步:在Web服务器角色(IIS)页面点击下一步:在角色服务页面勾选需要的服务,主要是在应用程序开发选项下的ASP.NET4.6、CGI、ISAPI扩展、ISAPI筛选器、WebSocket协议、服务器端包含和应用程序初始化,这几个选项建议勾选,其他选项可视要求选择勾选。点击下一步:在确认页面确认本次对服务器的修改内容后,点击安装:等待服务器安装完成后可以关闭页面,或者可以直接关闭,服务器会自动完成安装。
使用本功能的前提是:1.MES与金蝶云采用同一套基础数据,双方物料、人员等基础信息需要一致;2.金蝶云的单据关系是:生产用料清单(PRD_PPBOM)-生产领料单(PRD_PickMtrl);3.需要将金蝶的生产订单同步到MES中,并将MO单号写入PlanEntry表的SourcePlanNo中,将行号写入PlanEntry表的SourcePlanEntryNo中;注意:本工具并不将领料单明细同步到金蝶云,而是将金蝶云的生产用料清单下推成生产领料单,然后尝试审核下推的生产领料单。与金蝶云的同步需要在系统中先设置ERP数据库接口页面中先设置金蝶服务器的地址:在测试连接成功后方可继续操作。打开系统定时任务:新增同步任务,选择金蝶云生产用料下推领料单同步。参数同步账套的Id是指MES的账套Id,一般情况下是0,执行频率请合理选择,过快的同步频率会影响系统性能。点击保存后,任务默认是禁用状态,需要手动启用,启用后注意观察同步记录。
系统可以批量上传物料文件,但需要您有服务器的管理权限。整理文件按照文件分类进行整理,例如产品图纸和操作手册进行归类。操作手册文件夹下直接是文件,不能再建子文件夹。打开服务器,将文件复制到系统文件夹wwwroot\content\Upload\Material中导入系统打开物料管理页面,点击文件,下载模板编辑模板,将文件名与物料编码对应关系整理清楚。将文件上传到系统中,完成导入。
盘点功能基本数据建模,需要先建“盘点单”、“盘盈单”、“盘亏单”。设置完成后,添加菜单,注意盘点单的菜单地址和其他单据不一样:盘点单的地址是:WMS/BillStock/IndexCheck?billtype=盘点单页面按钮有:新增(btn_AddBill)、查看(btn_view)、编辑(btn_edit)、删除(btn_del)盘盈单的地址是:WMS/BillStock/Index?billtype=盘盈单盘亏单的地址是:WMS/BillStock/Index?billtype=盘亏单页面按钮有:新增(btn_AddBill)、查看(btn_view)、编辑(btn_edit)、删除(btn_del)、审核(btn_publish)、撤审(btn_republish)、同步(btn_sync)。完成设置后打开盘点单:可以新增盘点单:新建状态下可以直接编辑,需要先选择仓库和库位,如果不选择库位则默认按照整仓盘点处理,库位可以多选。点击开始盘点则选中的仓库库位会被锁定,其他单据不能再对其进行出入库操作。盘点支持导出库存成Excel文档,编辑后可以选中Excel文档复制粘贴到盘点明细中,点击保存系统会自动计算盘盈盘亏记录。注意如果仓库有自定义字段,则务必将盘点单、盘盈单和盘亏单的自定义字段设置成一致,如果之前的仓库自定义字段和现有的不一致,则需要将盘亏单设置成和之前的仓库字段一致,盘盈单需要和当前仓库字段一致,否则会引起盘盈盘亏单审核失败!点击完成盘点则进入审核状态,此时可以调整库存或者关闭盘点。点击调整库存会自动生成盘盈盘亏单据并尝试审核(审核可能会失败,如遇到失败请手动取盘盈盘亏单据中处理)。点击关闭盘点,解锁对应仓库库位,其他单据可以继续对其进行操作了。注意盘点单撤审需要将盘盈盘亏单删除后方可操作,否则会提示有下推单据。
1)权限管理l角色定义l角色授权l用户管理l用户受权角色管理的新增及角色授权设置角色授权用户管理:用户管理、角色分配、用户的专属权限分配、部门数据权限的限制、密码的重置人员档案中直接生成用户用户初始密为:123456,用户登记后可进行密码的更改,密码更新方式如下用户(账号)新增加及编辑功能主要步及用户的状态属性、登陆方式、用户类型等信息设定角色分配:用户包含哪些角色的权限,支持多选,用户自动继承角色的权限部门数据权限限制,限制此用户可以查询操作勾选工作中心的生产数据
1、单据建模增加无源单的单据类型1、2、APP扫描功能新增Id的命名规则为btn_BarcodeScan_单据名称,单据名称作用为扫描后生成什么出入库单据,并会根据单据的建模方案自动识别是入库类扫描还是出库类扫描APP功能的增加方式按钮新增后,打开APP界面,自动会生成APP功能1、入库类扫描3.1先扫描库位,更新当前的仓库库位信息3.2唯一码,扫描后直接生成扫描记录3.3扫描批次码弹出数量输入界面扫描结束后,生成入库单据1、4、出库类扫描4.1唯一码扫描出库,扫描条码自动匹配仓库及库位,并生成扫描记录4.2批次码出库,扫描条码,自动解析成品号、批次并匹配库存,并跳出选择界面进行出库数量及库位的选择
1.设置仓库数据表数据表或视图名称(必须在MES数据库内):BYDST表结构必须包含以下字段,具体使用说明详见比亚迪接口文档:字段名称说明partNo物料编号,必须唯一partDesc物料描述onhandQty可用库存inspectQty待检库存defectQty不良品库存frozenQty冻结库存wipQty在制库存transQty在途库存unit计数单位remoteUser供应商账号sn业务流水号,用于检查每一次上传的数据差异,所以每次上传前更新,一致即可signature比亚迪提供的密钥supplierCode供应商缩码inventoryNo库存流水号码plantCode工厂编码baseCode供应商基地编码invOrg仓库编号invDate库存日期whAddress仓库地址2.获取比亚迪接口网址以及aipkey,详细方法见比亚迪接口文档3.如图在MES系统中设置同步任务4.查看执行日志
去站点下载按键修改工具:链接:https://pan.baidu.com/s/1BVeKkyDKvp8v0w6i8dkwPA提取码:rwtr自定义多功能键盘修改键盘按键功能仅支持Windows7以上版本的操作系统,暂不支持其他操作系统修改键盘按键。您可以在满足要求的Windows电脑上修改好键盘功能后,将键盘插入其他类型的操作系统(如Android、Mac、Linux)中使用。注意修改按键仅可以对一个键盘操作,不可插入多个自定义键盘同时修改按键功能。但设置完成后可以插入多个自定义键盘同时使用。打开自定义设置软件:插入自定义键盘后,点击搜索,进入设置页面后可以按照需求设置按键的功能。多功能自定义键盘的按键顺序可以参考:该工具和实体键盘由第三方卖家提供,本站点及本公司不对其售后负责。
使用场景:ERP使用MES接口,将ERP数据同步至MES。一般是是将生产订单,采购订单等业务源头单据同步至MES涉及功能:MES接口文档关键词:数据同步MES接口ERP同步MES本文档案例:将ERP生产订单同步至MES生产订单1.查阅MSE接口文档,地址:https://documenter.getpostman.com/view/11919852/2s9YeK3UvQ2.获取token(相当于进入mes系统的大门的钥匙,所以要先获取钥匙)其中username,password就是登录mes系统的账号,一般我们要单独创建一个interface的账号用于数据同步3.同步ERP生产订单至MES3.1配置报文token3.2编辑报文内容(既要同步给MES的数据内容)4.完成已上操作后,可在MES中查阅该数据
VisualC++可再发行程序包安装MicrosoftC和C++(MSVC)运行时库。许多使用MicrosoftC和C++工具生成的应用程序都需要这些库。如果你的应用使用这些库,则必须在安装该应用之前在目标系统上安装MicrosoftVisualC++可再发行程序包。可再发行程序包体系结构必须与应用的目标体系结构相匹配。可再发行程序包版本必须至少与用于生成应用的MSVC生成工具集一样新。我们建议使用适用于你的VisualStudio版本的最新可再发行程序包,本文稍后会指出一些例外情况。VisualStudio2015、2017、2019和2022下表列出了适用于VisualStudio2015、2017、2019和2022的最新受支持英语版(en-US)MicrosoftVisualC++可再发行程序包。最新受支持版本提供最近实现的C++功能、安全性、可靠性和性能改进。它还包括最新的C++标准语言和库标准遵从性更新。我们建议为使用VisualStudio2015、2017、2019或2022创建的所有应用程序安装此版本。与Redist更新不频繁的旧版VisualStudio不同,VisualStudio2015-2022的版本号未在下表中列出,因为redist经常更新。若要查找最新redist的版本号,请使用以下链接之一下载感兴趣的redist。然后,使用Windows文件资源管理器查看其属性。在“详细信息”窗格中,“文件版本”包含redist的版本。体系结构链接说明ARM64https://aka.ms/vs/17/release/vc_redist.arm64.exe最新受支持ARM64版本的永久链接X86https://aka.ms/vs/17/release/vc_redist.x86.exe 最新受支持x86版本的永久链接X64https://aka.ms/vs/17/release/vc_redist.x64.exe最新受支持x64版本的永久链接。X64可再发行程序包包含ARM64和X64二进制文件。当X64可再发行程序包安装在ARM64设备上时,可以通过此包轻松安装所需的VisualC++ARM64二进制文件。从my.visualstudio.com下载其他版本,包括长期服务发布渠道(LTSC)版本。说明VisualC++RedistributableforVisualStudio2015-2022没有针对不同语言的单独包。它包含所有受支持语言的EULA。本文中提到的某些下载内容当前已在my.visualstudio.com上提供。使用VisualStudio订阅帐户登录,以便可以访问下载链接。如果系统要求提供凭据,请使用现有的VisualStudio订阅帐户。或者,通过选择“没有帐户?创建一个!”链接来创建一个免费帐户。自VisualStudio2015起的VisualStudio版本共享相同的可再发行文件。例如,由VisualStudio2015、2017、2019或2022工具集生成的任何应用都可以使用最新的MicrosoftVisualC++可再发行程序包。但是,计算机上安装的MicrosoftVisualC++可再发行程序包版本必须与用于创建应用程序的VisualC++工具集的版本相同或更高。有关要安装哪个可再发行程序包版本的详细信息,请参阅确定要重新分发的DLL。有关二进制兼容性的详细信息,请参阅VisualStudio版本之间的C++二进制兼容性。WindowsXP支持:Microsoft在2014年4月8日已终止对WindowsXP的支持。当前版本的VisualC++RedistributableforVisualStudio2015-2022仅支持WindowsVista、7、8.1、10和11。VisualStudio2019版本16.7随附了适用于WindowsXP的最后一个VisualC++可再发行程序包版本(文件版本从14.27开始)。该可再发行程序包在my.visualstudio.com下载区域中显示为“VisualC++RedistributableforVisualStudio2019(版本16.7)”。请使用搜索框查找此版本。若要下载文件,请选择所需的平台和语言,然后选择“下载”按钮。VisualC++可再发行程序包支持多个命令行选项。有关详细信息,请参阅可再发行程序包的命令行选项。VisualStudio2013(VC++12.0)这些链接用于下载适用于VisualStudio2013的最新受支持en-US版MicrosoftVisualC++可再发行程序包。可以从VisualC++2013可再发行程序包更新或my.visualstudio.com下载其他版本和语言。体系结构链接版本X86https://aka.ms/highdpimfc2013x86enu12.0.40664.0X64https://aka.ms/highdpimfc2013x64enu12.0.40664.0其他版本适用于VisualStudio2013的多字节MFC库。此适用于VisualStudio2013的MFC加载项包含Microsoft基础类(MFC)库的多字节字符集(MBCS)版本。适用于旁加载Windows8.1应用的VisualC++2013运行时。有关详细信息,请参阅C++团队博客中的C++RuntimeforSideloadedWindows8.1apps(适用于旁加载Windows8.1应用的C++运行时)。
在单据建模中可以将单据的源单设置为视图,在视图中需要包含以下字段:字段名称说明Id单据明细Id标识BillId单据Id标识BillNo单号SortNo行号BillType单据类型MaterialId物料IdMaterialCode品号MaterialName品名MaterialModel型号MaterialSpecification货号MaterialDrawingNum图号CusBillNo三方单号BatchNum批次Remark备注Qty数量AuxQty辅助数量ActQty结算数量UnActQty未结算数量QCNGQty不合格数量ProducedQty已生产数量BillEntryPushedQty已下推数量BillEntryPushedActQty已下推结算数量WaredQty已影响库存数量LeftQty本单数量WarehouseId仓库可选WareareaId库位可选UnitID主单位AuxUnitId辅助单位可选UnitRelation单位转换率可选SupplierId供应商Id可选CustomerId客户Id可选ProcessId工序Id可选IsQCPassed是否已质检可选EntityId实体Id必填,如果是根节点实体则为0,否则按实际获取实体IdZ_01~Z_20自定义字段按需使用字段区分大小写,请严格按照上述字段进行创建。如果是生产入库的源单或者是生产领料建源单视图,请参考:使用单据“生产入库”直接完成任务单的方法:http://lic.ymes.cn/Home/Article?articleId=2893769124536680448使用单据“生产领料”直接领料的方法:http://lic.ymes.cn/Home/Article?articleId=2893760875481563136
使用场景:MES使用ERP接口,将MES数据同步至ERP。一般是是将生产领料单,生产入库单,采购入库单,销售出库单等业务末端的数据同步至ERP涉及功能:同步API设置关键词:数据同步ERP接口MES同步ERP同步API设置本文档案例:将MES生产入库单同步至ERP1.1.查阅ERP接口文档,配置接口接口的配置可以理解分2块内容:数据发送配置,结果接收配置为MES生产入库单配置接口如下大部分字段系统均内置见下文【其他帮助】中说明2.完成以上配置,审核生产入库单即触发同步其他帮助:鼠标右击,点击字段查找字段,可查看系统内置定义字段系统内置定义字段中无所需值,通过关联方式获取所需值以下图为例,我需要工序描述,但系统自定义字段仅有工序id。通过Query('Basic_Process.Description','id={{value}}')可得到工序描述
使用场景:ERP使用MES接口,将ERP数据同步至MES。一般是是将生产订单,采购订单等业务源头单据同步至MES涉及功能:销售发货关键词:数据同步MES接口ERP同步MES本文档案例:将ERP出货计划同步至MES出货计划一:销售发货(wms/BillSale/index?billtype=销售发货)(PC和APP)使用到的销售发货分为几种场景:无条码销售发货,销售发货,不同组织的销售发货等,本质相同①PC端销售发货步骤打开供应链管理的销售发货页签,点击新增,有源单根据源单下推,无源单直接新建单据,此场景根据ERP同步过来的出货计划作为源单,选择客户会自动带出来该客户需要发货的所有源单信息,保存审核即可①APP端销售发货步骤APP供应链模块中选择销售发货,有源单根据源单下推,无源单直接新建单据,此场景根据源单下推,扫描源单号,即可看见需要发货的明细,此时扫描成品仓存在的托条码进行核销发货,保存审核即可
使用场景:ERP使用MES接口,将ERP数据同步至MES。一般是是将出货计划,送货计划等业务源头单据同步至MES涉及功能:销售退货关键词:数据同步MES接口ERP同步MES本文档案例:将ERP退回处理同步至MES退回处理一:销售退货(wms/BillSale/index?billtype=销售退货)(PC和APP)①PC端销售退货步骤打开供应链管理的销售退货页签,点击新增,有源单根据源单下推,无源单直接新建单据,此场景根据ERP同步过来的退回处理作为源单,选择客户会自动带出来该客户需要发货的所有源单信息,保存审核即可①APP端销售退货步骤APP供应链模块中选择销售退货,有源单根据源单下推,无源单直接新建单据,此场景根据源单下推,扫描源单号,即可看见需要退货的明细,此时扫描成品仓存在的托条码进行核销退货,保存审核即可
使用场景:ERP使用MES接口,将ERP数据同步至MES描述:将ERP中的业务源头单据(如出货计划、送货计划等)同步至MES。涉及功能:采购退货关键词:数据同步MES接口ERP同步MES本文档案例:将ERP采购退货申请同步至MES采购退货申请采购退货(wms/BillPurchase/index?billtype=采购退货)(PC和APP)①PC端采购退货步骤打开供应链管理的采购退货页签,点击新增,有源单根据源单下推,无源单直接新建单据,此场景根据ERP同步过来的采购退货申请作为源单,选择供应商会自动带出来针对该供应商需要退货的所有源单信息,保存审核即可①APP端采购退货步骤APP供应链模块中选择采购退货,有源单根据源单下推,无源单直接新建单据,此场景根据源单下推,扫描源单号,即可看见需要退货的明细,保存审核即可(由于条码在收货模块并未普及,此功能并未实施)
使用场景:ERP使用MES接口,将ERP数据同步至MES,涉及场景还有套圈标准收货,配件收货等,本质相同描述:将ERP中的业务源头单据(如出货计划、送货计划等)同步至MES。涉及功能:标准收货关键词:数据同步MES接口ERP同步MES本文档案例:将ERP送货计划同步至MES送货计划标准收货(wms/BillPurchase/index?billtype=标准收货)(PC和APP)①PC端标准收货步骤打开供应链管理的标准收货页签,点击新增,有源单根据源单下推,无源单直接新建单据,此场景根据ERP同步过来的送货计划作为源单,选择供应商会自动带出来针对该供应商需要收货的所有源单信息,保存审核即可①APP端标准收货步骤APP供应链模块中选择标准收货,有源单根据源单下推,无源单直接新建单据,此场景根据源单下推,扫描源单号,即可看见需要收货的明细,保存审核即可
MariaDB的所有下载都位于官方MariaDB基金会网站的下载部分。单击所需版本的链接,并显示多个操作系统,体系结构和安装文件类型的下载列表。在LINUX/UNIX上安装如果你熟悉Linux/Unix系统,只需下载源码来构建你的安装。我们推荐的安装方式是使用分发包。MariaDB提供用于以下Linux/Unix发行版的软件包-RedHat/CentOS/FedoraDebian/Ubuntu以下发行版在其存储库中包含MariaDB软件包-openSUSEArchLinuxMageiaMintSlackware按照以下步骤在Ubuntu环境中安装-步骤1-以root用户身份登录。步骤2-导航到包含MariaDB包的目录。步骤3-使用以下代码导入GnuPG签名密钥-sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943Db步骤4-将MariaDB添加到sources.list文件。打开文件,并添加以下代码-sudo add-apt-repository 'deb Http://ftp.osuosl.org/pub/mariadb/repo/5.5/ubuntuprecise main'步骤5-刷新系统以下-sudo apt-get update步骤6-安装MariaDB与以下-sudo apt-get install mariadb-server在Windows上安装找到并下载自动安装文件(MSI)后,只需双击该文件即可开始安装。安装向导将指导您完成每个安装步骤和任何必要的设置。通过从命令提示符启动来测试安装。导航到安装的位置(通常位于目录中),然后在提示符下键入以下内容:mysqld.exe --console如果安装成功,您将看到与启动相关的消息。如果这没有出现,您可能有权限问题。确保您的用户帐户可以访问应用程序。图形客户端可用于在Windows环境中的MariaDB管理。如果你发现命令行不舒服或麻烦,一定要试试他们。测试安装执行几个简单的任务,以确认MariaDB的功能和安装。使用管理实用程序获取服务器状态使用mysqladmin二进制查看服务器版本。[root@host]# mysqladmin --version它应显示版本,分发,操作系统和体系结构。如果您看不到该类型的输出,请检查您的安装是否存在问题。使用客户端执行简单命令打开MariaDB的命令提示符。这应该连接到MariaDB并允许执行命令。输入一个简单的命令如下-mysql SHOW DATABASES;安装后成功安装MariaDB后,设置root密码。全新安装将具有空白密码。输入以下内容设置新密码-mysqladmin -u root password "[enter your password here]";输入以下内容以使用新凭据连接到服务器-mysql -u root -p
Enter password:*******在Windows上升级如果您已经在您的Windows系统上安装了MySQL,并且想要升级到MariaDB;不卸载MySQL并安装MariaDB。这将导致与现有数据库的冲突。您必须改为安装MariaDB,然后在Windows安装文件中使用升级向导。MySQLmy.cnf文件的选项应该与MariaDB配合使用。但是,MariaDB有许多功能,这在MySQL中找不到。请考虑您的my.cnf文件中的以下冲突-MariaDB默认为临时文件使用Aria存储引擎。如果您有很多临时文件,如果不使用myisam表,请修改键缓冲区大小。如果应用程序频繁连接/断开连接,请更改线程高速缓存大小。如果使用超过100个连接,请使用线程池。兼容性MySQL和MariaDB本质上是相同的。但是,有足够的差异来创建升级问题。查看MariaDB知识库中的更多关键差异。
授权步骤:1.获取注册信息,点击关于,页面右下角会有授权过期时间显示,点击进入授权信息页面:2.申请新授权您需要将申请信息提供给我们的销售团队或顾问团队,我们在收到后会第一时间进行授权码的发放,请留意您的邮箱。3.注册新授权将您收到的授权码注册到授权证书中即可。常见问题1.什么时候能收到新的授权码,需要多久?一般情况下,确认商务信息后2~3小时即可完成授权码制作。2.为什么我没有收到授权邮件?请检查您的邮箱服务商是否将本站邮箱服务拉入了黑名单,检查授权邮件是否在您邮箱的垃圾箱中。如果都没有找到邮件,请电话或微信联系我们的服务人员获取授权码。
在生产计划同步流程中,一旦同步完成,系统会自动执行相应的发布操作。具体而言,当调用SyncERPPlan方法并确认同步成功后,该生产计划会被无缝地推送至任务单中,使得相关工作人员能够在第一时间获取到最新的生产安排,确保生产活动能够按照预定的时间节点和资源配置有序进行。然而,针对系统中的定时任务设置,若新增了专门用于自动发布生产计划的任务,则可能会引发不必要的逻辑冲突与重复发布问题。这种情况通常表现为:在生产计划同步过程中,同步服务的定时任务已经完成了计划的同步与发布,而后续独立的自动发布任务又再次触发发布操作,导致同一生产计划被重复添加至任务单。这样的重复不仅浪费系统资源,增加网络通信负担,还可能导致任务单数据冗余,给实际业务操作带来困扰和混乱。为妥善解决上述问题,以下提出两方面的建议:分离定时任务执行逻辑:将生产计划同步服务的定时任务与独立的自动发布任务进行明确区分和独立调度。具体做法可以是:调整任务触发时间:确保两者不在相近的时间窗口内执行,如设定不同的执行周期或者偏移时间,以减少并发执行的概率。升级系统版本至1.2.404.111及以上:升级系统版本的建议基于以下考虑:修复已知问题:新版本可能包含了对生产计划同步与发布逻辑的优化或Bug修复,能够有效防止重复发布问题的发生。请查阅版本更新日志或联系技术支持,确认该版本是否针对性地解决了当前面临的问题。增强功能兼容性与稳定性:新版本通常会提升系统的整体性能,优化资源利用率,增强与其他系统组件或外部服务的兼容性,降低因版本过旧导致的潜在风险。获取新功能支持:新版本可能引入了更精细的定时任务管理、发布流程控制等功能,有助于更便捷、高效地配置和监控生产计划同步与发布的全过程,从源头上避免重复发布问题。综上所述,通过合理分离定时任务执行逻辑并及时升级系统版本,可以有效地规避生产计划同步完成后可能出现的重复发布问题,确保生产任务单数据的准确性和一致性,提升整个生产管理系统的工作效率与用户体验。
系统有严格的授权验证机制,请务必完成正常的授权流程。初始授权当用户完成注册登记流程后,系统将自动分配一个为期90天的使用授权。到期预警在授权即将到期前的30天内,系统会在界面的显著位置(如首页顶部、操作面板)显示授权剩余天数的提醒。此提醒旨在提前告知用户授权状态,避免服务突然中断带来的不便。续签提示接近授权结束时,系统会建议系统管理员在合适的时间联系我们的客服或销售团队,以讨论商务合作或实施细节,确保服务连续性。授权过期处理一旦授权过期,系统将进入受限模式,仅能查看过期信息,无法执行任何功能操作。用户必须通过重新输入有效的授权信息来恢复系统功能。客户支持我们提供全方位的客户支持,包括但不限于授权管理、技术支持和商务咨询,确保用户在授权周期内的顺利使用。
刚开始使用系统的新手用户经常会遇到这个问题:为什么我用管理员登录时可以看到列表信息,用我自己创建的用户登录就显示无数据呢?这个问题你需要检查创建的用户账号权限:工作中心和仅查看全部单据权限。1.用户是否有部门工作中心的权限:任务、派报工列表受到登录用户所在部门工作中心的限制,如果用户没有对应的工作中心则不会显示。2.用户授权角色或者单据授权的列表中,是否仅有查看自己创建的单据的权限如果用户只拥有查看自己单据的权限,则不会显示由系统或其他用户创建的单据。开启查看全部的权限即可。特别需要注意的是前端的报工列表,需要你额外去查看菜单管理中是否对报工列表进行了额外的参数配置,如果加了myworker=1则列表仅可查看自己的报工记录,与权限无关;如果加了nofilter=1则不受用户工作中心限制。
使用场景:针对派工单进行上料,消耗线边库存。并记录条码用于质量追溯。共有4个功能进行可进行上料1.PC-上料扫描(URL:Default/UpMaterial)2.产线看板-进入派工单-上料(该功能同PC-上料扫描,只进入派工单的方式不同)3.APP-上料(btn:btn_ProUpMaterialByWorkCenter或btn_ProUpMaterial,却别在于是否进行用户所属工作中心进行派工单过滤)4.PC-库存上料(URL:Default/UpMaterialByWarehouse,该功能目前未使用,所以不在此处详细说明,本质上是通过选择库存进行上料,无需再扫物料码)准备事项:1.该物料是否进行上l料是在任务单环节设置的,生产任务-物料清单中的领料方式需设置为上料生成2.物料的默认扣料库位也是在生产任务-物料清单中进行默认指定(该扣料库位是自动读取基本信息-工作中心的线边仓库,线边库位字段的)功能详细说明1.PC-上料扫描(URL:Default/UpMaterial)以下内容较多但均为重点提炼内容,务必细读理解支持扫描SN码上料,上料数量会反写SN码的QuantityOut字段,同时系统会管控条码的剩余数量支持扫描物料码上料,当发现SN码被污染损坏时就可以使用该功能进行上料(此处的物料码指的是物料编号)上料数量管控,系统会根据所需物料数与上料数量进行可上料数量管控,同时扫描SN码会自动带出最佳值(最佳值指的是:当条码剩余可上料数物料剩余需上料数,则最佳值为条码剩余上料数。当条码剩余可上料数物料剩余需上料数,则最佳值为物料剩余需上料数)如物料已上料完还需上料,则需使用超领功能进行上料,超领按钮会在物料上完后显示如使用其他物料替代此物料,则需使用代料按钮进行上料如果需要物料再默认扣料库位没有,则可以更改库位,并自动显示该库存库存,进行跨库位上料支持更改批次及自定义批次,并自动显示当前批次下的库存(一般此更改的情况是适用于扫描物料码,如果条码有批次,自定义批次,则会自定带出条码的批次)支持退料,及删除上料记录正常上料会生成生产领料单,代料会生成生成领料单,超领会生成超额领料单,退料会生成生产退料单,删除上料记录会删除对应生产领料单无论扫描SN码还是物料码进行上料都会反写生产任务-用料清单的已领用数量,退料则会反写退料数量如果现场没有物料则可扫描物料码,或点击上料按钮后,点击盘盈按钮进行快捷盘盈,并会生成一张其他入库单上料界面右上角落有个红色补料按钮,无需关注目前未纳入使用支持自定义批次字段的显示及管控2.APP-上料app上料是基于PC-上料部分功能进行阉割,仅支持SN码上料,不支持物料码上料,及退料,盘盈等操作