客户端支持的操作系统环境
服务器端目前支持的操作系统:WindowsServer2012+UbuntuServer22CentOS7
去站点下载按键修改工具:链接:https://pan.baidu.com/s/1BVeKkyDKvp8v0w6i8dkwPA提取码:rwtr自定义多功能键盘修改键盘按键功能仅支持Windows7以上版本的操作系统,暂不支持其他操作系统修改键盘按键。您可以在满足要求的Windows电脑上修改好键盘功能后,将键盘插入其他类型的操作系统(如Android、Mac、Linux)中使用。注意修改按键仅可以对一个键盘操作,不可插入多个自定义键盘同时修改按键功能。但设置完成后可以插入多个自定义键盘同时使用。打开自定义设置软件:插入自定义键盘后,点击搜索,进入设置页面后可以按照需求设置按键的功能。多功能自定义键盘的按键顺序可以参考:该工具和实体键盘由第三方卖家提供,本站点及本公司不对其售后负责。
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进行激活以避免自动关闭。
本文主要解释应用的更新方式、更新说明、如何进行系统更新,以及常见的更新问题。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 失败如果你的数据库知识储备足够,应当可以看出这语句执行失败的原因是因为字段上有约束。遇到此类情况,需要你手动删除约束对象,然后执行更新语句。还有一种方法是直接使用数据库设计器工具,直接修正字段类型。
系统无法打开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.核对系统版本,最新版本可能已经修复此问题,更新后检查问题是否还存在。如上述方法不能解决,请将日志文件和事件错误信息一并保存到文本后进行反馈。
本文主要介绍Windows操作系统下搭建IIS服务的步骤和其他一些运行本应用需要勾选的功能。打开服务器管理器点击添加角色和功能:这时服务器显示开始之前,这是一些提醒和说明,点击下一步:安装类型选择基于角色或基于功能的安装,再点击下一步:选择服务器后,再点击下一步:到服务器角色页面后勾选“Web服务器(IIS)”选项,此时会弹出对话框:提示要添加所需功能,选择添加功能后,点击下一步:在功能选择页面不做任何修改,如果是旧版本的服务器请勾选“墨迹与手写服务”,直接下一步:在Web服务器角色(IIS)页面点击下一步:在角色服务页面勾选需要的服务,主要是在应用程序开发选项下的ASP.NET4.6、CGI、ISAPI扩展、ISAPI筛选器、WebSocket协议、服务器端包含和应用程序初始化,这几个选项建议勾选,其他选项可视要求选择勾选。点击下一步:在确认页面确认本次对服务器的修改内容后,点击安装:等待服务器安装完成后可以关闭页面,或者可以直接关闭,服务器会自动完成安装。
一、场景:场景1:首工序称重,根据生产批次大的派工单派到首道工序,首道生产装框后,先称重并打印标签(SN码),后工序扫描框上SN码报工称重后生成的SN标签当产品流程卡使用场景2:最后工序称重后(因为无法进行点数),生成入库标,仓库进行扫描入库如下图:功能界面:IP/Produce/DispatchMark二、操作步骤1、绑定称重设置1、2、扫描派工单,进行现场称重(支持电子称自动获取重量),输入重量及比重,自动计算生产数量3、生成条码,并支持自动报工三、现场布局方案
1)模块菜单管理l各终端模块菜单的管理,可进行自定义系统模块支持外链接入,包含功能或报表等l操作按钮的名称功能定义及管理,如新增、打印、删除、编辑等作业权限界面功能包含的按钮Id,可在界面进行进行查询;方法为右键点击“查询”,powerid的内容,进行功能按钮增加;功能按钮添加后可根据添加功能按钮进行用户授权
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知识库中的更多关键差异。
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++运行时)。
目前支持打印对象的普通字段类型的数据进行编辑,暂不支持对表格类型的字段和表头类型的字段进行编辑。在打印对象管理页面,控制字段是否可编辑:开启编辑后,在打印页面点击数据条数:进入数据编辑页面:页面上可以任意编辑允许编辑的字段,首行编辑后所有数据都会跟着修改。完成编辑后关闭页面,继续打印。注意打印编辑的内容仅在打印时生效,不会对原业务数据产生影响。
使用场景:电器、电机或电路板等,生产过程需进行唯一码管理,生产完工后进行产品装箱,装箱后进行组托,并统一进行入库1、产品码上线:支持自动生成或扫描外部的客户码(将客户条码作为内部的产品码)2、生产下线扫产品码,满箱后自动封箱,并生成并打印外箱码3、产品组托码,并扫描入库3.1生成空托码3.2扫箱码组托3.3扫托码入库
本应用系统权限基于RBAC模式的权限控制。角色管理角色管理的新增及角色授权设置新增角色角色授权用户管理用户管理:用户管理、角色分配、用户的专属权限分配、部门数据权限的限制、密码的重置人员档案中生成用户(账号)用户初始密为:123456,用户登录后可进行密码的更改,密码更新方式如下用户(账号)编辑功能主要步及用户的状态属性、登陆方式、用户类型等信息设定角色管理:用户包含哪些角色的权限,支持多选,用户自动继承角色的权限除角色权限外,支持用户独立权限的增加部门权限:部门数据的限制,只可对勾选的部门数据进行查看及操作仓库权限:供应链单据和仓库库存查询中仓库权限的限制,为空的用户可以查看所有仓库记录,若有限制则用户仅可以查看对应仓库的列表信息。
系统有严格的授权验证机制,请务必完成正常的授权流程。初始授权当用户完成注册登记流程后,系统将自动分配一个为期90天的使用授权。到期预警在授权即将到期前的30天内,系统会在界面的显著位置(如首页顶部、操作面板)显示授权剩余天数的提醒。此提醒旨在提前告知用户授权状态,避免服务突然中断带来的不便。续签提示接近授权结束时,系统会建议系统管理员在合适的时间联系我们的客服或销售团队,以讨论商务合作或实施细节,确保服务连续性。授权过期处理一旦授权过期,系统将进入受限模式,仅能查看过期信息,无法执行任何功能操作。用户必须通过重新输入有效的授权信息来恢复系统功能。客户支持我们提供全方位的客户支持,包括但不限于授权管理、技术支持和商务咨询,确保用户在授权周期内的顺利使用。
选择本次盘点的仓库及库位,点击保存,自动生成盘点清单点击开始盘点,自动锁定仓库库位,锁定后不允许进行仓库库位的出入库业务导出excel盘点清单,根据实盘数量进行盘点单据维护导入盘点单,生成盘点差异,并支持盘点明细的追加点击盘点完成,并生成盘盈单和盘亏单,关闭本次盘点并通知财务人员进行盘盈单和盘亏单的审核,并异动仓库库存盘盈单审核盘亏单审核
本文介绍如何可在各种Linux发行版上使用.NET。可通过包管理器或snap安装.NET,也可手动进行安装。.NET也可用作容器映像。包.NET在官方包存档(适用于各种Linux发行版)和packages.microsoft.com中提供。AlpineDebianFedoraopenSUSESLESUbuntu从Microsoft源下载时,Microsoft支持.NET。从其他位置下载时,Microsoft会尽力提供支持。如果遇到问题,可以在dotnet/core上发布问题。对齐.NETSDKsnap包由Canonical提供和维护。对于内置于Linux发行版的包管理器而言,Snap是一种很好的替代方法。通过Snap安装.NET运行时通过Snap安装.NETSDK手动安装可以通过以下方式手动安装.NET:手动安装脚本安装如果手动安装.NET,可能需要安装.NET依赖项。
1)权限管理l角色定义l角色授权l用户管理l用户受权角色管理的新增及角色授权设置角色授权用户管理:用户管理、角色分配、用户的专属权限分配、部门数据权限的限制、密码的重置人员档案中直接生成用户用户初始密为:123456,用户登记后可进行密码的更改,密码更新方式如下用户(账号)新增加及编辑功能主要步及用户的状态属性、登陆方式、用户类型等信息设定角色分配:用户包含哪些角色的权限,支持多选,用户自动继承角色的权限部门数据权限限制,限制此用户可以查询操作勾选工作中心的生产数据
使用场景:针对派工单进行上料,消耗线边库存。并记录条码用于质量追溯。共有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码上料,不支持物料码上料,及退料,盘盈等操作
在报表类看板设计过程中会遇到需要将表格铺满全屏的情况,但如果只是将报表宽度和表格宽度高度设置成固定像素值,会引起不同分辨率情况下无法自适应的情况,即便进行缩放能全屏显示,但也会导致字体放大缩小而后显示模糊等衍生问题。本文主要介绍如何设置报表内容让表格自适应屏幕大小,呈现出和系统自带列表类似的效果。一、宽度限制原则在表格属性配置中需遵循编辑器宽度约束,禁止超出容器边界。超宽布局将导致:交互失效:横向滚动条激活后,列宽拖拽功能将不可操作功能遮蔽:检索框、分页控件、导出设置等关键操作区将被截断视觉错位:列头与内容区域可能出现不对齐现象二、全屏适配方案如需实现自适应全屏表格,请按以下标准配置:1.设置看板宽度高度为100%,点击报表属性的宽度高度单位可在像素(px)和百分比(%)之间切换2.设置表格控件的宽度为100%,高度为100vh,1vh就是当前屏幕可见高度的1%,但高度100%对表格初始化时会无法撑开进而无法显示正确的高度,100vh则没有这个问题。由此你就可以获得一个满屏看板,呈现效果接近系统自带列表,且不受屏幕分辨率影响:完美适配:自动适应不同分辨率屏幕(1920×1080/1366×768等)原生体验:交互模式与操作系统原生表格组件保持一致功能保全:所有操作控件完整呈现且可用滚动优化:纵向滚动智能管理,横向滚动仅对表格内容生效注意:如果看板类报表需要启用自适应缩放的请不要使用百分比单位,会引起宽高显示异常。控件不可超出看板宽高,会不显示。如果你不想这么设置,坚持用固定像素设置报表,也可以直接在看板地址后面加url参数size=zoom,页面会自动根据宽高进行缩放,但是缩放后字体会变得模糊。缩放参数需要加在url的参数部分,加在hash后面不会生效。(即:加在#前面,url参数第一个参数用“?”,后续参数用“&”连接。)
场景:金属加工行业普遍存在某一工序的委外加工,如热处理、表处理等工序,ERP的处理更多是进行BOM断阶,委外前一个料号,委外后另一个料号,导致生产过滤不连贯,难进行过程追溯;同时极大增加业务的处理难度,如用友或金碟的ERP处理方案:委外订单——委外采购单——委外发料——委外进货——委外核销等工序委外业务处理举例如下,某一零件生产加工需多道工序加工,并存在多道委外工序生产任务(包含委外工序)1、需将委外工序设置派工点,则当零件加工到委外工序点时,则进行直接进行委外发出1委外送货单支持批量委外,同时支持分批委外打印委外送货单委外收货单输入送货委外厂商,自动过滤发出未收回的加工清单,根据本次送货产品进行勾选输入实收数量打印委外收货单
生产主流程构建操作手册一、生产订单:选择生产部门,选择产品、输入本次订单的生产数量及装箱数量等二、生产任务单生产订单发布后自动生成生产任务,锁定后可在操作台进行任务的查看,并调工艺路线或生产用料等信息并支持任务卡的打印三、生产派工单(生产批次)打印派工单车间现场管理颗粒度以生产批次进行管理,则派工单可作为生产流程卡使用,工序生产完工后直接扫描派工单,进行生产报工四、生产流程卡车间现场管理颗粒度以生产周转箱或产品唯一码进行管理,则根据产品周转的装箱量生成流程卡,并将流程卡贴至周转箱或产品上流程卡打印任何一箱某一工序完工后进行扫描流程卡进行报工全部工序生产完工后,仓库进行扫码入库
1.规划与自定义字段创建评估需求:确定仓库管理中所需的特定字段,检查系统默认字段是否已涵盖。自定义字段:对于未包含的字段,在仓库字段管理模块下创建自定义字段。2.单据建模与字段映射设计单据:基于仓库管理字段进行单据设计,确保所有影响库存变动的单据均包含必要的字段设置。字段绑定:将这些单据中的字段与仓库自定义字段关联,确保数据一致性,将单据中的自定义字段保存位置设置为仓库规划的自定义字段。3.扩展至生产类单据一致化设置:若生产类单据需引用仓库信息,同样将相关字段设置为仓库自定义字段的保存位置。4.自定义字段限制与建议维度限制:注意仓库字段管理仅支持10个自定义维度(Z_01~Z_10)。统一配置:建议所有需影响仓库信息的单据和生产类表单采用相同的自定义字段配置,以维护数据的连贯性和准确性。5.非仓库字段处理不影响仓库信息:任何未将字段保存位置设为在仓库管理自定义字段列表中的额外字段,其数据变动不会直接反映在仓库信息上。可在系统整体字段设置中检查字段内容:
在生产计划同步流程中,一旦同步完成,系统会自动执行相应的发布操作。具体而言,当调用SyncERPPlan方法并确认同步成功后,该生产计划会被无缝地推送至任务单中,使得相关工作人员能够在第一时间获取到最新的生产安排,确保生产活动能够按照预定的时间节点和资源配置有序进行。然而,针对系统中的定时任务设置,若新增了专门用于自动发布生产计划的任务,则可能会引发不必要的逻辑冲突与重复发布问题。这种情况通常表现为:在生产计划同步过程中,同步服务的定时任务已经完成了计划的同步与发布,而后续独立的自动发布任务又再次触发发布操作,导致同一生产计划被重复添加至任务单。这样的重复不仅浪费系统资源,增加网络通信负担,还可能导致任务单数据冗余,给实际业务操作带来困扰和混乱。为妥善解决上述问题,以下提出两方面的建议:分离定时任务执行逻辑:将生产计划同步服务的定时任务与独立的自动发布任务进行明确区分和独立调度。具体做法可以是:调整任务触发时间:确保两者不在相近的时间窗口内执行,如设定不同的执行周期或者偏移时间,以减少并发执行的概率。升级系统版本至1.2.404.111及以上:升级系统版本的建议基于以下考虑:修复已知问题:新版本可能包含了对生产计划同步与发布逻辑的优化或Bug修复,能够有效防止重复发布问题的发生。请查阅版本更新日志或联系技术支持,确认该版本是否针对性地解决了当前面临的问题。增强功能兼容性与稳定性:新版本通常会提升系统的整体性能,优化资源利用率,增强与其他系统组件或外部服务的兼容性,降低因版本过旧导致的潜在风险。获取新功能支持:新版本可能引入了更精细的定时任务管理、发布流程控制等功能,有助于更便捷、高效地配置和监控生产计划同步与发布的全过程,从源头上避免重复发布问题。综上所述,通过合理分离定时任务执行逻辑并及时升级系统版本,可以有效地规避生产计划同步完成后可能出现的重复发布问题,确保生产任务单数据的准确性和一致性,提升整个生产管理系统的工作效率与用户体验。
系统支持在App报表页签中增加自定义报表,以下是具体步骤:1.在报表设计器中新增报表注意App中查看报表内容和普通电脑端查看显示效果有所区别,App端按照设计页面的左侧边栏显示的控件顺序从上到下依次展示组件,不会按照电脑端预设的位置显示,也不会按照您设置的宽度显示而是直接占满屏幕宽度,控件高度依然有效。正因如此需要您在设计时从上到下依次添加控件。保存后可以在报表列表中获取编码2.在菜单管理中新增报表进入系统管理--菜单管理页面,选择APP页,新增页面“系统报表App(Layout/AppList)”的按钮,按钮的Id按照“btn_Layout_”加报表的编号即可将报表加载到app中,例如:此时用管理员登录App已经可以看到自定义报表已经在报表页签中,如果需要其他人看到,请按照权限设置将其赋予其他用户对应的按钮权限即可。
在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:个人计件生产报工——》报工结算单——》工资报表描述:产品某一工序的生产,由某一员工独立完成,生产完工后,进行生产报工,报工后,由车间主管或统计进行产量结算,生成员工计件工资。1、生产报工2、报工结算:根据报工单进行结算,结算支持分批结算,也可以调整的结算系数或单价3、结算后,生成结算工票使用场景1:集体计件产线签到上线——》生产报工——》班次结算单——》工资报表描述:产品某一工序的生产,由班组集体生产完成,生产完工后,进行产线报工;本班次生产结束后,自动汇总本班次的上岗人员用时,及产量,由车间主管或统计进行班次产量结算,生成员工计件工资。1、员工签到上岗2、产线生产报工3、本班次生产结算后进行离岗下线,下次后生成班次结算单4、班次结算单4.1班次内的人员的实际工时4.2班次内的产量4.3分配计件工资
版本更新风险在某些情况下,当从较为陈旧的系统版本(尤其是2022年以前的版本)更新至最新版本时,可能会遇到授权信息丢失的问题。这种情况通常是由于新旧版本间的数据结构变化或兼容性差异所引起的。授权信息丢失应对措施立即报告如果您发现系统因授权信息丢失而无法正常启动,请立即与我们的技术支持团队取得联系。提供授权异常信息的详细页面截图,这有助于我们快速定位问题并采取相应措施。紧急授权恢复我们承诺在收到您的请求后,会尽快为您重新授权,确保业务连续性和最小化停机时间。更新前的准备对于使用旧版本系统的客户,在计划进行系统升级前,请务必做好停机准备。考虑与我们的技术支持团队预先沟通,约定一个合适的更新时间窗口,以便我们在更新后立即监控并处理可能出现的授权异常。应对误触自动更新若不慎触发自动更新导致系统暂时不可用,可参考系统更新工具提供的备份与恢复指南,尝试回退至先前的稳定版本。更新工具都具备备份功能,能够在更新前保存当前系统状态,便于在必要时恢复。更新后执行语句失败更新后执行数据库语句时发生执行错误,可以将发生错误的语句和其之前的语句都删除,继续执行后续的更新语句,更新语句都执行后,再次校验数据库。若如果错误信息为:消息 5074,级别 16,状态 1,第 1558 行
对象'DF_oc_TerpMa_Proce_28CEADEE依赖于列'ProcesssubNo'
消息 4922,级别 16,状态 9,第 1558 行
由于一个或多个对象访问此 列,ALTER TABLE ALTER COLUM ProcesssubNo 失败如果你的数据库知识储备足够,应当可以看出这语句执行失败的原因是因为字段上有约束。遇到此类情况,需要你手动删除约束对象,然后执行更新语句。还有一种方法是直接使用数据库设计器工具,直接修正字段类型。总结为了保证系统的稳定运行和授权的连续性,请在进行重大版本更新前与我们协调,并遵循上述指南,以减少潜在的风险和不便。我们始终致力于为客户提供最优质的服务和支持。
本文描述MySQL数据库的安装与初始化过程。目录免安装版的Mysql一:下载安装包: 二:Mysql的配置 免安装版的MysqlMySQL关是一种关系数据库管理系统,所使用的SQL语言是用于访问数据库的最常用的标准化语言,其特点为体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,在Web应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:关系数据库管理系统)应用软件之一。 在本博文里,我主要以Mysql免安装版为例,帮助大家解决安装与配置mysql的步骤。 首先:要先进入mysql官网里(Mysql的官网--https://www.mysql.com/),下面是详细步骤:↓(为了方便大家的操作,我的网盘里有安装包:链接:https://pan.baidu.com/s/1LpslLQRNacW2-m3x6odNnQ提取码:e39z ) 一:下载安装包: ①进入官网后,点击"Dowload",然后页面往下拉 ②接下来看到的页面是这样的,红色框框的链接就是mysql社区版,是免费的mysql版本,然后我们点击这个框框的链接:↓ ③接下来跳转到这个页面,在这里,我们只要下载社区版的Server就可以了:↓ ④下载免安装版(windows以外的其他系统除外) ***这样,安装包就下载好了!***注意,安装的目录应当放在指定位置,,其次,绝对路径中避免出现中文,推荐首选英文为命名条件!!!!(我的为参考) 二:Mysql的配置*以管理员身份打开命令行(如下图所示) ①下转到mysql的bin目录下: ②安装mysql的服务:mysqld--install ③初始化mysql,在这里,初始化会产生一个随机密码,如下图框框所示,记住这个密码,后面会用到(mysqld--initialize--console)④开启mysql的服务(netstartmysql) ⑤登录验证,mysql是否安装成功!(要注意上面产生的随机密码,不包括前面符号前面的空格,否则会登陆失败),如果和下图所示一样,则说明你的mysql已经安装成功!注意,,一定要先开启服务,不然会登陆失败,出现拒绝访问的提示符!!! 修改密码:由于初始化产生的随机密码太复杂,,不便于我们登录mysql,因此,我们应当修改一个自己能记住的密码!! 再次登录验证新密码: 设置系统的全局变量:为了方便登录操作mysql,在这里我们设置一个全局变量:↓ ①点击"我的电脑"--"属性"--''高级系统设置''--''环境变量'',接下来如下图所操作 ②把新建的mysql变量添加到Path路径变量中,点击确定,即完成: 配置完成之后,每当我们想要用命令行使用mysql时,只需要win+R,--输入"cmd"打开命令行,之后输入登录sql语句即可。 ③在mysql目录下创建一个ini或cnf配置文件,在这里创建的是ini配置文件,里面写的代码是mysql的一些基本配置 安装版Windows下安装MySQL:1.在浏览器中打开https://www.mysql.com/,进入MySQL的官方网站,国内的网打开可能有点儿慢,稍微等待一下2.在打开的网页中选择downloads标签,如下图:3.在打开的标签页中,滑到页面的最下面,可以看到MySQLCommunityEdition Community(GPL)Downloads» 的字样,点击Community(GPL)Downloads»,如下图:4.在之后打开的页面中,点击MySQLCommunityServer (GPL),如下图:5.在之后打开的页面中就可以看到相关的下载项了,如下图:在图中第一个红色框标注的地方就是选择操作系统,这里我们选择MicrosoftWindows,可以看到第二个红色框是Recommendeddownload,这里就要区分了,如果是新手建议点击这个,因为这个版本的MySQL不用自己配置,就是普通的安装文件,直接一路next就安装完了,如果想深入学习,那么点击Otherdownloads内容区的下载,可以看到前两个是正式版,后两个是debug版,一般选择前两个,根据自己的机器32位还是64位选择下载,下载下来是个zip文件,安装的自己配置,相对复杂6.如果选择了MySQLInstaller进去页面之后,如下:选择第二个下载项进行下载,这里不管是新手还是老手,都会要求先登录再下载,如果没有账号可以注册一个,因为现在MySQL归Oracle所有了,不得不遵循这个规矩为防止有的同学无法下载,这里贴出下载链接:MySQLInstaller5.7:http://cdn.mysql.com//Downloads/MySQLInstaller/mysql-installer-community-5.7.16.0.msiMySQL5.7Windows(x86,32-bit),ZIPArchive:http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.16-win32.zipMySQL5.7Windows(x86,64-bit),ZIPArchive:http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.16-winx64.zipMySQLInstaller只有32位的,没有64位的如果下载的是mysqlinstaller,请看这里:1.双击安装文件,可能会出现下面的画面:意思就是MySQL需要.NETFramework4.0才能继续安装,那我们就安装一下2.用浏览器打开http://www.microsoft.com/zh-cn/download/details.aspx?id=17718,点击下载,就可以很顺利的下载下来了,下载完直接安装3.点击完成,然后再双击MySQL安装文件,这次就能正常安装了~ 4.接下来就是一些说明协议啥的5.同意协议,打钩之后,点击next,然后出现,选择安装选项的界面,一般选择第一个就行,这个选项包含了一些MySQL其它组件,像MySQLWorkbench,MySQLforExcel等等,如果只安装MySQL数据库,选择第二项Serveronly就行,这里我选择了第一项6.点击next出现检查必需项,如果电脑安装了VC2013运行库,Excel,VisualStudio前三项就会自动打上勾,因为我是虚拟机演示的,所以没有装这些,点击next的时候会出现警告框,不去管它,直接点击是跳过7.然后出现即将要安装的软件和插件8.点击execute开始执行安装,等全部安装完之后,点击next,图中第三项表示安装失败,不去管它,是一个odbc数据源,我们一般不用这个9.之后出现配置界面10.点击next之后开始配置,第一个配置的是mysql的运行模式和网络,其中ConfigType表示运行模式,如果安装mysql是做开发用,就直接选择第一个默认的就行,第二个ServerMachine表示运行模式为服务器模式,这些模式的不同会导致MySQL占用系统资源的不同,第二个配置的是网络相关,表示链接MySQL的时候使用TCP/IP协议,并指定端口号为3306,这些如果没有特殊要求就不要去改11.配置完成之后点击next,需要填写MySQL中root用户的密码,长度最低为4位,第二栏中还可以添加普通用户,一般开发用不用再建立用户了,直接使用root就可以,所以我们填完密码之后点击next12.以下图片中需要配置的是MySQL的运行方式,第一个单选框表示是否将MySQL服务作为一个windows服务来运行,windowsservername表示MySQL服务在windowsserver中的名称,第二个单选框表示是否在系统启动时自动启动MySQL,第三个单选框表示MySQL服务以哪个账户运行,这一页的基本别动,直接next13.下面这个是关于MySQL的插件和扩展,直接next14.然后出现下面的界面,直接点击execute15.配置完之后点击finish16.然后再配置MySQL的实例,点击下图中的next17.之后点击下图中的check,然后点击next18.点击下图中的execute19.执行完毕之后点击finish,又回到了主程序,然后点击next20.然后点击下图中的finishfinally,配置完了~~~我们开始验证一下,在开始菜单找到MySQL5.7CommandLineClient打开,之后提示输入密码,输入刚开始安装的时候你配置的密码,出现下图表示你安装成功了 下载zip安装包的看这里:1.首先解压你下载的安装包,得到一个名为mysql…的文件夹2.把这个文件夹移动到你想安装mysql的地方,也就是你移动到的目录就是安装mysql的目录,比如我的放在C:\ProgramFiles下面3.打开我的电脑-属性-高级-环境变量,在系统变量里选择PATH,在其后面添加:你的mysqlbin文件夹的路径(如:C:\ProgramFiles\mysql-5.7.16-winx64\bin),注意是追加,不是覆盖,然后确定4.在mysql目录中新建文件夹data,还需要修改一下配置文件,mysql默认的配置文件是mysql目录中的my-default.ini,比如我的是C:\ProgramFiles\mysql-5.7.16-winx64\my-default.ini用记事本打开在其中修改或添加配置,之后保存关闭[mysqld]basedir=C:\ProgramFiles\mysql-5.7.16-winx64(mysql所在目录)datadir=C:\ProgramFiles\mysql-5.7.16-winx64\data(mysql所在目录\data) 5.以管理员身份运行cmd(一定要用管理员身份运行,不然权限不够),输入命令cdC:\ProgramFiles\mysql-5.7.16-winx64\bin 回车6.然后再输入mysqld--initialize-insecure--user=mysql回车7.之后再输入mysqldinstall回车8.输入netstartmysql回车启动mysql服务9.从上图看到mysql服务已经启动了,我们输入mysql-uroot-p回车登录mysql数据库10.要求输入密码,刚刚安装完是没有密码的,直接回车看到已经进入了mysql,我们输入showdatabases;回车可以看到数据库已经显示出来了,这个是不是比安装版的更简单目录免安装版的Mysql一:下载安装包: 二:Mysql的配置回到顶部免安装版的MysqlMySQL关是一种关系数据库管理系统,所使用的SQL语言是用于访问数据库的最常用的标准化语言,其特点为体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,在Web应用方面MySQL是最好的RDBMS(RelationalDatabaseManagementSystem:关系数据库管理系统)应用软件之一。在本博文里,我主要以Mysql免安装版为例,帮助大家解决安装与配置mysql的步骤。首先:要先进入mysql官网里(Mysql的官网--https://www.mysql.com/),下面是详细步骤:↓(为了方便大家的操作,我的网盘里有安装包:链接:https://pan.baidu.com/s/1LpslLQRNacW2-m3x6odNnQ提取码:e39z)一:下载安装包:①进入官网后,点击"Dowload",然后页面往下拉②接下来看到的页面是这样的,红色框框的链接就是mysql社区版,是免费的mysql版本,然后我们点击这个框框的链接:↓③接下来跳转到这个页面,在这里,我们只要下载社区版的Server就可以了:↓④下载免安装版(windows以外的其他系统除外)***这样,安装包就下载好了!***注意,安装的目录应当放在指定位置,,其次,绝对路径中避免出现中文,推荐首选英文为命名条件!!!!(我的为参考)二:Mysql的配置*以管理员身份打开命令行(如下图所示)①下转到mysql的bin目录下:②安装mysql的服务:mysqld--install③初始化mysql,在这里,初始化会产生一个随机密码,如下图框框所示,记住这个密码,后面会用到(mysqld--initialize--console)④开启mysql的服务(netstartmysql)⑤登录验证,mysql是否安装成功!(要注意上面产生的随机密码,不包括前面符号前面的空格,否则会登陆失败),如果和下图所示一样,则说明你的mysql已经安装成功!注意,,一定要先开启服务,不然会登陆失败,出现拒绝访问的提示符!!!修改密码:由于初始化产生的随机密码太复杂,,不便于我们登录mysql,因此,我们应当修改一个自己能记住的密码!!再次登录验证新密码:设置系统的全局变量:为了方便登录操作mysql,在这里我们设置一个全局变量:↓①点击"我的电脑"--"属性"--''高级系统设置''--''环境变量'',接下来如下图所操作②把新建的mysql变量添加到Path路径变量中,点击确定,即完成:配置完成之后,每当我们想要用命令行使用mysql时,只需要win+R,--输入"cmd"打开命令行,之后输入登录sql语句即可。③在mysql目录下创建一个ini或cnf配置文件,在这里创建的是ini配置文件,里面写的代码是mysql的一些基本配置安装版Windows下安装MySQL:1.在浏览器中打开https://www.mysql.com/,进入MySQL的官方网站,国内的网打开可能有点儿慢,稍微等待一下2.在打开的网页中选择downloads标签,如下图:3.在打开的标签页中,滑到页面的最下面,可以看到MySQLCommunityEditionCommunity(GPL)Downloads»的字样,点击Community(GPL)Downloads»,如下图:4.在之后打开的页面中,点击MySQLCommunityServer(GPL),如下图:5.在之后打开的页面中就可以看到相关的下载项了,如下图:在图中第一个红色框标注的地方就是选择操作系统,这里我们选择MicrosoftWindows,可以看到第二个红色框是Recommendeddownload,这里就要区分了,如果是新手建议点击这个,因为这个版本的MySQL不用自己配置,就是普通的安装文件,直接一路next就安装完了,如果想深入学习,那么点击Otherdownloads内容区的下载,可以看到前两个是正式版,后两个是debug版,一般选择前两个,根据自己的机器32位还是64位选择下载,下载下来是个zip文件,安装的自己配置,相对复杂6.如果选择了MySQLInstaller进去页面之后,如下:选择第二个下载项进行下载,这里不管是新手还是老手,都会要求先登录再下载,如果没有账号可以注册一个,因为现在MySQL归Oracle所有了,不得不遵循这个规矩为防止有的同学无法下载,这里贴出下载链接:MySQLInstaller5.7:http://cdn.mysql.com//Downloads/MySQLInstaller/mysql-installer-community-5.7.16.0.msiMySQL5.7Windows(x86,32-bit),ZIPArchive:http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.16-win32.zipMySQL5.7Windows(x86,64-bit),ZIPArchive:http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.16-winx64.zipMySQLInstaller只有32位的,没有64位的如果下载的是mysqlinstaller,请看这里:1.双击安装文件,可能会出现下面的画面:意思就是MySQL需要.NETFramework4.0才能继续安装,那我们就安装一下2.用浏览器打开http://www.microsoft.com/zh-cn/download/details.aspx?id=17718,点击下载,就可以很顺利的下载下来了,下载完直接安装3.点击完成,然后再双击MySQL安装文件,这次就能正常安装了~4.接下来就是一些说明协议啥的5.同意协议,打钩之后,点击next,然后出现,选择安装选项的界面,一般选择第一个就行,这个选项包含了一些MySQL其它组件,像MySQLWorkbench,MySQLforExcel等等,如果只安装MySQL数据库,选择第二项Serveronly就行,这里我选择了第一项6.点击next出现检查必需项,如果电脑安装了VC2013运行库,Excel,VisualStudio前三项就会自动打上勾,因为我是虚拟机演示的,所以没有装这些,点击next的时候会出现警告框,不去管它,直接点击是跳过7.然后出现即将要安装的软件和插件8.点击execute开始执行安装,等全部安装完之后,点击next,图中第三项表示安装失败,不去管它,是一个odbc数据源,我们一般不用这个9.之后出现配置界面10.点击next之后开始配置,第一个配置的是mysql的运行模式和网络,其中ConfigType表示运行模式,如果安装mysql是做开发用,就直接选择第一个默认的就行,第二个ServerMachine表示运行模式为服务器模式,这些模式的不同会导致MySQL占用系统资源的不同,第二个配置的是网络相关,表示链接MySQL的时候使用TCP/IP协议,并指定端口号为3306,这些如果没有特殊要求就不要去改11.配置完成之后点击next,需要填写MySQL中root用户的密码,长度最低为4位,第二栏中还可以添加普通用户,一般开发用不用再建立用户了,直接使用root就可以,所以我们填完密码之后点击next12.以下图片中需要配置的是MySQL的运行方式,第一个单选框表示是否将MySQL服务作为一个windows服务来运行,windowsservername表示MySQL服务在windowsserver中的名称,第二个单选框表示是否在系统启动时自动启动MySQL,第三个单选框表示MySQL服务以哪个账户运行,这一页的基本别动,直接next13.下面这个是关于MySQL的插件和扩展,直接next14.然后出现下面的界面,直接点击execute15.配置完之后点击finish16.然后再配置MySQL的实例,点击下图中的next17.之后点击下图中的check,然后点击next18.点击下图中的execute19.执行完毕之后点击finish,又回到了主程序,然后点击next20.然后点击下图中的finishfinally,配置完了~~~我们开始验证一下,在开始菜单找到MySQL5.7CommandLineClient打开,之后提示输入密码,输入刚开始安装的时候你配置的密码,出现下图表示你安装成功了下载zip安装包的看这里:1.首先解压你下载的安装包,得到一个名为mysql…的文件夹2.把这个文件夹移动到你想安装mysql的地方,也就是你移动到的目录就是安装mysql的目录,比如我的放在C:\ProgramFiles下面3.打开我的电脑-属性-高级-环境变量,在系统变量里选择PATH,在其后面添加:你的mysqlbin文件夹的路径(如:C:\ProgramFiles\mysql-5.7.16-winx64\bin),注意是追加,不是覆盖,然后确定4.在mysql目录中新建文件夹data,还需要修改一下配置文件,mysql默认的配置文件是mysql目录中的my-default.ini,比如我的是C:\ProgramFiles\mysql-5.7.16-winx64\my-default.ini用记事本打开在其中修改或添加配置,之后保存关闭[mysqld]basedir=C:\ProgramFiles\mysql-5.7.16-winx64(mysql所在目录)datadir=C:\ProgramFiles\mysql-5.7.16-winx64\data(mysql所在目录\data)5.以管理员身份运行cmd(一定要用管理员身份运行,不然权限不够),输入命令cdC:\ProgramFiles\mysql-5.7.16-winx64\bin回车6.然后再输入mysqld--initialize-insecure--user=mysql回车7.之后再输入mysqldinstall回车8.输入netstartmysql回车启动mysql服务9.从上图看到mysql服务已经启动了,我们输入mysql-uroot-p回车登录mysql数据库10.要求输入密码,刚刚安装完是没有密码的,直接回车看到已经进入了mysql,我们输入showdatabases;回车可以看到数据库已经显示出来了,这个是不是比安装版的更简单
盘点功能基本数据建模,需要先建“盘点单”、“盘盈单”、“盘亏单”。设置完成后,添加菜单,注意盘点单的菜单地址和其他单据不一样:盘点单的地址是: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文档复制粘贴到盘点明细中,点击保存系统会自动计算盘盈盘亏记录。注意如果仓库有自定义字段,则务必将盘点单、盘盈单和盘亏单的自定义字段设置成一致,如果之前的仓库自定义字段和现有的不一致,则需要将盘亏单设置成和之前的仓库字段一致,盘盈单需要和当前仓库字段一致,否则会引起盘盈盘亏单审核失败!点击完成盘点则进入审核状态,此时可以调整库存或者关闭盘点。点击调整库存会自动生成盘盈盘亏单据并尝试审核(审核可能会失败,如遇到失败请手动取盘盈盘亏单据中处理)。点击关闭盘点,解锁对应仓库库位,其他单据可以继续对其进行操作了。注意盘点单撤审需要将盘盈盘亏单删除后方可操作,否则会提示有下推单据。
生产入库:(当前共2种方式)方式一:末工序报工自动入库,需配置工作中心,如下图(如非末工序报工入库,则需要在报工时勾选强制入库)方式二:任务组托后,使用APP托码入库(btn_ProducePadcodeInAny)进行入库操作生产领料:(当前共2种方式)方式一:上料,使用上料功能进行生成对应的生产领料单,生产任务-物料清单需设置为上料生成,并在工作中心指定扣料库位,也可在任务单中单独修改方式二:倒扣(倒扣存在派工倒扣,报工倒扣),生产任务-物料清单设置为派工倒扣,报工倒扣等,并在工作中心指定扣料库位,也可在任务单中单独修改返工领料生产单据关系建模-建立返工领料单(配置如图),源单视图使用【v_WMSTaskBillMaterial】,并在数据库创建【v_WMSTaskBillMaterial】视图。视图语句其他帮助文档【使用单据“生产领料”直接领料的方法】使用app中的返工扫描让任务单号即可实现扫码进行返工领料调拨方式一:PC-直接调拨在电脑端直接做单子进行物料的调拨,一次审核(单据建模-调拨建模-配置如图,表单按钮审核:btn_directpublish,撤审:btn_republish)方式二:PC-分布调拨在电脑端直接做单子进行物料的调拨,支持二次审核,也有按钮支持一次审核。二次审核:第一次调出审核扣减库存,第二次调入审核增加库存(单据建模-调拨建模-配置如图,表单按钮调出审核:btn_outpublish,调入审核:btn_inpublish,直接审核:btn_directpublish,撤审:btn_republish)方式三:APP调拨,也叫移库扫描(按钮:btn_Transfer)扫描在库内的SN码或者托码进行调拨,不支持更改数量。(如扫描托码会自动读出托码下绑定的SN码)一般适用场景是:末工序报工自动生产入库单,并且生成条码。然后扫描这个条码进行调拨到别的仓库
本应用程序配置是使用一个或多个配置提供程序执行的。配置提供程序使用各种配置源从键值对读取配置数据:设置文件,例如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格式正确无误,以免导致服务中断。
安装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在同一个数据库下的部署场景,其他情况请使用新版本的同步工具,本工具不支持。
打印模板需要一定的html知识,一些最基础的标签使用方法。模板使用的是部分html标签,不需要将完整的html、head、body等写完整。最外层必须是div id="tempContent" style="height: 50mm; width: 100mm; background: rgb(255, 255, 255); margin: 0 auto; overflow: hidden; position: relative;"
/div这些标签会在新建时自动生成,请不要删除它们,否则可能会引起打印异常。内部的内容可以使用两种模式,设计模式和源码模式:设计模式可以直接使用左侧的控件,点击控件后设计器上会有一个虚线框出现,点击这个虚线框后在右侧的控件属性Tab下会有控件可设置的属性。文本和字段的属性包括标题、字体、字体大小、颜色、对其方式等,其中标题可以用p{{字段}}/p或者span{{字段}}/span的形式动态表示字段的名称,系统会自动替换成对应内容。某些图片可能由于格式问题不能被打印出来,请尽量使用标准格式的软件进行图片编辑,千万不能更改图片后缀名表格包括数据源名称、边框、背景、大小等,可以点击新增数据列,其中数据源名称使用传递的列表名称即可。源码模式则会将模板的源代码展示出来,您可以根据自己的需求定义html标签和样式,您可以在源码和设计器之间无缝切换,两边的内容会自动同步。注意模板不支持引入任何Javascript脚本或者CSS样式表,这些内容即使在页面中可以呈现或者使用,但在打印时是完全不可用的,甚至会引起打印失败。字段类型使用:分隔表示格式化字符串,例如{{CreateTime:yyyyMMdd}}{{Quantity:#.##}},格式化字符串详见下文所述。表格中的字段名称也可以使用:分隔表示格式化字符串,例如CreateTime:yyyyMMddQuantity:#.##,格式化字符串详见下文所述。公式表达式打印内容中可以使用数学公式。普通属性中可以直接以“=”开头表示接下去的字段需要使用数学公式,例如“={{字段1}}+{{字段2}}”。表格中的列也可以使用以“=”开头的计算公式,但需要在打印对象中预先设置,例如字段“=Query('Basic_Material.Name','Code={{MaterialCode}}')”。注意格式化字符串依然可以使用,其会在计算前完成格式化,例如“={{字段1:#.##}}+{{字段2}}”,表示先将字段1四舍五入成两位小数的浮点数,再与字段2进行相加。公式支持普通加减乘除的数学公式,也支持一些简单的数学函数调用,例如:=Round({{字段2}},2),=Pow({{字段2}},2)等,目前支持的有:方法名描述用法结果Query返回指定数据表的字符串。Query('Sys_User.Name','Code={{EmpCode}}')张三Substring返回指定位置的子字符串。Substring('Hello',0,2)HeContain返回是否存在子字符串。Contain('Hello','el')trueStartsWith返回是否以指定字符串开头。StartsWith('Hello','ok')falseEndsWith返回是否以指定字符串结尾。EndsWith('Hello','lo')trueIndexOf返回其在字符串中的起始位置索引。IndexOf('Hello','e')1Replace替换字符串中的指定字符。Replace('Hello','ll','kk')HekkoSplit分隔字符串。Split('Helloworld','',1)worldAbs返回指定数字的绝对值。Abs(-1)1MAcos返回余弦为指定数值的角度。Acos(1)0dAsin返回正弦值为指定数字的角度。Asin(0)0dAtan返回其正切值为指定数字的角度。Atan(0)0dCeiling返回大于或等于指定数字的最小整数。Ceiling(1.5)2dCos返回指定角度的余弦值。Cos(0)1dExp返回e提高到指定的幂。Exp(0)1dFloor返回小于或等于指定数字的最大整数。Floor(1.5)1dIEEERemainder返回将一个指定数字除以另一个指定数字所得到的余数。IEEERemainder(3,2)-1dLog返回指定数字的对数。Log(1,10)0dLog10返回指定数字的以10为底的对数。Log10(1)0dMax返回两个数字中较大的一个。Max(1,2)2Min返回两个数字中较小的一个。Min(1,2)1Pow返回提高到指定幂的指定数字。Pow(3,2)9dRound将值四舍五入到最接近的整数或指定的小数位数。Round(3.222,2)3.22dSign返回一个值,该值指示数字的符号。Sign(-10)-1Sin返回指定角度的正弦值。Sin(0)0dSqrt返回指定数字的平方根。Sqrt(4)2dTan返回指定角度的正切值。Tan(0)0dTruncate计算数字的整数部分。Truncate(1.7)1in返回元素是否在集合中in(1+1,1,2,3)trueif根据条件返回值if(3%2=1,'valueistrue','valueisfalse')'valueistrue'日期类型格式化字符说明字段类型使用:分隔表示格式化字符串,例如{{CreateTime:yyyyMMdd}},格式化字符串详见下文所述。下表描述了自定义日期和时间格式说明符,并显示了由每个格式说明符生成的结果字符串。默认情况下,结果字符串反映zh-cn区域性的格式设置约定。如果特定格式说明符生成本地化结果字符串,则该示例还注明结果字符串适用的区域性。有关使用自定义日期和时间格式字符串的详细信息,请参阅备注部分。格式说明符描述示例"d"一个月中的某一天(1到31)。2009-06-01T13:45:30-12009-06-15T13:45:30-15“dd”一个月中的某一天(01到31)。2009-06-01T13:45:30-012009-06-15T13:45:30-15“ddd”一周中某天的缩写名称。2009-06-15T13:45:30-Mon(en-US)2009-06-15T13:45:30-Пн(ru-RU)2009-06-15T13:45:30-lun.(fr-FR)“dddd”一周中某天的完整名称。2009-06-15T13:45:30-Monday(en-US)2009-06-15T13:45:30-понедельник(ru-RU)2009-06-15T13:45:30-lundi(fr-FR)“f”日期和时间值的十分之几秒。2009-06-15T13:45:30.6170000-62009-06-15T13:45:30.05-0“ff”日期和时间值的百分之几秒。2009-06-15T13:45:30.6170000-612009-06-15T13:45:30.0050000-00“fff”日期和时间值的千分之几秒。6/15/200913:45:30.617-6176/15/200913:45:30.0005-000“ffff”日期和时间值的万分之几秒。2009-06-15T13:45:30.6175000-61752009-06-15T13:45:30.0000500-0000“fffff”日期和时间值的十万分之几秒。2009-06-15T13:45:30.6175400-617546/15/200913:45:30.000005-00000“ffffff”日期和时间值的百万分之几秒。2009-06-15T13:45:30.6175420-6175422009-06-15T13:45:30.0000005-000000“fffffff”日期和时间值的千万分之几秒。2009-06-15T13:45:30.6175425-61754252009-06-15T13:45:30.0001150-0001150“F”如果非零,则为日期和时间值的十分之几秒。2009-06-15T13:45:30.6170000-62009-06-15T13:45:30.0500000-(无输出)“FF”如果非零,则为日期和时间值的百分之几秒。2009-06-15T13:45:30.6170000-612009-06-15T13:45:30.0050000-(无输出)“FFF”如果非零,则为日期和时间值的千分之几秒。2009-06-15T13:45:30.6170000-6172009-06-15T13:45:30.0005000-(无输出)“FFFF”如果非零,则为日期和时间值的万分之几秒。2009-06-15T13:45:30.5275000-52752009-06-15T13:45:30.0000500-(无输出)“FFFFF”如果非零,则为日期和时间值的十万分之几秒。2009-06-15T13:45:30.6175400-617542009-06-15T13:45:30.0000050-(无输出)“FFFFFF”如果非零,则为日期和时间值的百万分之几秒。2009-06-15T13:45:30.6175420-6175422009-06-15T13:45:30.0000005-(无输出)“FFFFFFF”如果非零,则为日期和时间值的千万分之几秒。2009-06-15T13:45:30.6175425-61754252009-06-15T13:45:30.0001150-000115“g”、“gg”时期或纪元。2009-06-15T13:45:30.6170000-A.D.“h”采用12小时制的小时(从1到12)。2009-06-15T01:45:30-12009-06-15T13:45:30-1“hh”采用12小时制的小时(从01到12)。2009-06-15T01:45:30-012009-06-15T13:45:30-01“H”采用24小时制的小时(从0到23)。2009-06-15T01:45:30-12009-06-15T13:45:30-13“HH”采用24小时制的小时(从00到23)。2009-06-15T01:45:30-012009-06-15T13:45:30-13“K”时区信息。带DateTime值:2009-06-15T13:45:30,KindUnspecified-2009-06-15T13:45:30,KindUtc-Z2009-06-15T13:45:30,KindLocal--07:00(取决于本地计算机的设置)带DateTimeOffset值:2009-06-15T01:45:30-07:00---07:002009-06-15T08:45:30+00:00--+00:00“m”分钟(0到59)。2009-06-15T01:09:30-92009-06-15T13:29:30-29“mm”分钟(00到59)。2009-06-15T01:09:30-092009-06-15T01:45:30-45“M”月份(1到12)。2009-06-15T13:45:30-6“MM”月份(1到12)。2009-06-15T13:45:30-06“MMM”月份的缩写名称。2009-06-15T13:45:30-Jun(en-US)2009-06-15T13:45:30-juin(fr-FR)2009-06-15T13:45:30-Jun(zu-ZA)“MMMM”月份的完整名称。2009-06-15T13:45:30-June(en-US)2009-06-15T13:45:30-juni(da-DK)2009-06-15T13:45:30-uJuni(zu-ZA)“s”秒(0到59)。2009-06-15T13:45:09-9“ss”秒(00到59)。2009-06-15T13:45:09-09“t”AM/PM指示符的第一个字符。2009-06-15T13:45:30-P(en-US)2009-06-15T13:45:30-(fr-FR)“tt”AM/PM指示符。2009-06-15T13:45:30-PM(en-US)2009-06-15T13:45:30-(fr-FR)“y”年份(0到99)。0001-01-01T00:00:00-10900-01-01T00:00:00-01900-01-01T00:00:00-02009-06-15T13:45:30-92019-06-15T13:45:30-19“yy”年份(00到99)。0001-01-01T00:00:00-010900-01-01T00:00:00-001900-01-01T00:00:00-002019-06-15T13:45:30-19“yyy”年份(最少三位数字)。0001-01-01T00:00:00-0010900-01-01T00:00:00-9001900-01-01T00:00:00-19002009-06-15T13:45:30-2009“yyyy”由四位数字表示的年份。0001-01-01T00:00:00-00010900-01-01T00:00:00-09001900-01-01T00:00:00-19002009-06-15T13:45:30-2009“yyyyy”由五位数字表示的年份。0001-01-01T00:00:00-000012009-06-15T13:45:30-02009“z”相对于UTC的小时偏移量,无前导零。2009-06-15T13:45:30-07:00--7“zz”相对于UTC的小时偏移量,带有表示一位数值的前导零。2009-06-15T13:45:30-07:00--07“zzz”相对于UTC的小时和分钟偏移量。2009-06-15T13:45:30-07:00--07:00":"时间分隔符。2009-06-15T13:45:30-:(en-US)2009-06-15T13:45:30-.(it-IT)"/"日期分隔符。2009-06-15T13:45:30-/(en-US)2009-06-15T13:45:30--(ar-DZ)2009-06-15T13:45:30-.(tr-TR)"string"'string'文本字符串分隔符。2009-06-15T13:45:30("arr:"h:mt)-arr:1:45P2009-06-15T13:45:30('arr:'h:mt)-arr:1:45P%将下面的字符定义为自定义格式说明符。2009-06-15T13:45:30(%h)-1\转义字符。2009-06-15T13:45:30(h\h)-1h任何其他字符字符将复制到未更改的结果字符串。2009-06-15T01:45:30(arrhh:mmt)-arr01:45A数字类型格式化字符说明格式说明符属性说明示例“0”零占位符用对应的数字(如果存在)替换零;否则,将在结果字符串中显示零。1234.5678("00000")-012350.45678("0.00",en-US)-0.460.45678("0.00",fr-FR)-0,46"#"数字占位符用对应的数字(如果存在)替换“#”符号;否则,不会在结果字符串中显示任何数字。请注意,如果输入字符串中的相应数字是无意义的0,则在结果字符串中不会出现任何数字。例如,0003("####")-3。1234.5678("#####")-12350.45678("#.##",en-US)-.460.45678("#.##",fr-FR)-,46"."小数点确定小数点分隔符在结果字符串中的位置。0.45678("0.00",en-US)-0.460.45678("0.00",fr-FR)-0,46","组分隔符和数字比例换算用作组分隔符和数字比例换算说明符。作为组分隔符时,它在各个组之间插入本地化的组分隔符字符。作为数字比例换算说明符,对于每个指定的逗号,它将数字除以1000。组分隔符说明符:2147483647("##,#",en-US)-2,147,483,6472147483647("##,#",es-ES)-2.147.483.647比例换算说明符:2147483647("#,#,,",en-US)-2,1472147483647("#,#,,",es-ES)-2.147"%"百分比占位符将数字乘以100,并在结果字符串中插入本地化的百分比符号。0.3697("%#0.00",en-US)-%36.970.3697("%#0.00",el-GR)-%36,970.3697("##.0%",en-US)-37.0%0.3697("##.0%",el-GR)-37,0%"‰"千分比占位符将数字乘以1000,并在结果字符串中插入本地化的千分比符号。0.03697("#0.00‰",en-US)-36.97‰0.03697("#0.00‰",ru-RU)-36,97‰“E0”“E+0”“E-0”“E0”“E+0”“E-0”指数表示法如果后跟至少一个0(零),则使用指数表示法设置结果格式。“E”或“e”指示指数符号在结果字符串中是大写还是小写。跟在“E”或“e”字符后面的零的数目确定指数中的最小位数。加号(+)指示符号字符总是置于指数前面。减号(-)指示符号字符仅置于负指数前面。987654("#0.0e0")-98.8e41503.92311("0.0##e+00")-1.504e+031.8901385E-16("0.0e+00")-1.9e-16"\"转义符使下一个字符被解释为文本而不是自定义格式说明符。987654("\###00\#")-#987654#'string'"string"文本字符串分隔符指示应复制到未更改的结果字符串的封闭字符。68("#'degrees'")-68degrees68("#'degrees'")-68degrees;部分分隔符通过分隔格式字符串定义正数、负数和零各部分。12.345("#0.0#;(#0.0#);-\0-")-12.350("#0.0#;(#0.0#);-\0-")--0--12.345("#0.0#;(#0.0#);-\0-")-(12.35)12.345("#0.0#;(#0.0#)")-12.350("#0.0#;(#0.0#)")-0.0-12.345("#0.0#;(#0.0#)")-(12.35)其他所有其他字符字符将复制到未更改的结果字符串。68("#°")-68°
系统运行过程中一些特殊逻辑或者需要外部系统提供数据支持的时候,程序会在相应代码中调用一些固定的存储过程以实现相关逻辑控制。在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生成补料单
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名称的服务,查看启动情况。如未启动,则手动启动。正常情况下,服务应该正常启动并运行了,但是因为前面修改过配置文件,需要重启服务。
在单据建模过程中,通常包含一个同步接口设置的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地址为:Quality/QCTemp/Index?QCCategory=质检类型质检模板新增时质检分类默认后续的具体业务环节,自动匹配对应质检分类的质检模板,如下图,采购业务时自动匹配来料检的质检模板
标签打印机中打印出现模糊的问题,可能是由于多种因素导致的。使用Chrome浏览器打印在Chrome浏览器中,可能是浏览器打印时启用了缩放或者驱动问题引起的,以下是一些可能的原因和对应的解决方法:打印机设置:检查打印机的打印质量设置,如打印分辨率、打印速度以及打印深度(对于热敏打印机可能是打印温度)、色彩点阵方式等。适当降低打印速度或提高打印温度可能会改善打印效果。在Chrome的打印预览设置中,确保选择了正确的打印机模式、配置文件或缩放比率,有些打印机有专门针对标签打印的优化设置。驱动程序问题:确认安装了最新的打印机驱动程序,尤其是针对Web打印的驱动可能需要特别适配。查看浏览器的打印设置,确保没有缩放或压缩功能被启用,这些可能会影响打印质量。打印样式表(CSS)的影响:如果通过网页进行打印,确认网页的CSS样式没有影响到打印质量,比如字体大小、颜色等(大部分标签打印机不支持灰度打印,浅色字体会出现模糊)。图像和文本设置:在Chrome的打印选项中调整“页边距”、“页面缩放”等相关设置,确保它们不会影响到内容的清晰度。打印材料兼容性:确保使用的标签纸和碳带(如果有)与打印机兼容,并适合用于高质量打印。清理打印头:如果是因为打印头老化或脏污导致的模糊,参照前面提到的方法,按照说明进行打印头的清洗。浏览器问题:尝试在其他浏览器中打印,看是否也有同样的问题。如果其他浏览器打印正常,可能是Chrome特定的渲染或输出问题,此时考虑清除浏览器缓存或更新至最新版本。软件配置:如果标签打印是通过网页应用或Chrome扩展完成的,确保该应用或扩展已正确配置,包括但不限于字体、图形和打印指令的质量设置。总之,针对Chrome浏览器下的标签打印质量问题,应先从基础的打印机设置、驱动程序和打印材料着手排查,同时结合具体的应用场景分析并解决问题。如果问题持续存在,可能需要联系打印机制造商或技术支持寻求进一步帮助。MES客户端程序如果使用的是MES客户端程序,可以设置打印缩放,默认情况下1.3倍比较接近实际大小,如果打印后标签模糊可以稍微调大一些。如果调整后依然不理想,请重新在Windows系统设置中配置打印机的首选项,检查分辨率、速度以及色彩方案等选项,或者按照Chrome浏览器的解决方案处理。
刚开始使用系统的新手用户经常会遇到这个问题:为什么我用管理员登录时可以看到列表信息,用我自己创建的用户登录就显示无数据呢?这个问题你需要检查创建的用户账号权限:工作中心和仅查看全部单据权限。1.用户是否有部门工作中心的权限:任务、派报工列表受到登录用户所在部门工作中心的限制,如果用户没有对应的工作中心则不会显示。2.用户授权角色或者单据授权的列表中,是否仅有查看自己创建的单据的权限如果用户只拥有查看自己单据的权限,则不会显示由系统或其他用户创建的单据。开启查看全部的权限即可。特别需要注意的是前端的报工列表,需要你额外去查看菜单管理中是否对报工列表进行了额外的参数配置,如果加了myworker=1则列表仅可查看自己的报工记录,与权限无关;如果加了nofilter=1则不受用户工作中心限制。
备份MicrosoftSQLServer数据库的步骤如下:1.打开服务器数据库软件。2.连接到目标数据库服务器。3.选择要备份的数据库。4.确认默认的备份地址和文件名。5.点击开始备份数据库。6.进入默认的备份地址,找到备份文件,进行物理拷贝或移动。默认的备份地址一般是:X:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup
在LRP运算后,对应的单据审核后,应当产生待发布的采购需求和生产需求。如果发布后没有在生产计划待发布和采购计划待发布中找到对应需求,则您需要检查如下内容:1.计算净需求后是否数量为0:数量为0的内容不会显示在待发布中。2.权限问题(需要管理员权限):是否对待发布列表授权时限制了仅查看我的内容限制。是否对待发布列表菜单设置了仅查看业务员是我的限制。如下图设置的菜单加上myworker=1的参数则系统过滤列表时增加WorkerId为当前登录用户的限制。3.检查物料设置中补货策略的设置:仅当补货策略为计划下推时才会出现在待发布内容中。注意修改物料设置中的补货策略后需要重新计算LRP才能生效。
使用此同步功能的前提是:1.在金蝶云中单据关系是:生产订单(PRD_MO)-生产入库(PRD_INSTOCK)2.MES与金蝶云采用同一套基础数据,双方物料、人员等基础信息需要一致3.需要将金蝶的生产订单同步到MES中,并将MO单号写入PlanEntry表的SourcePlanNo中,将行号写入PlanEntry表的SourcePlanEntryNo中。与金蝶云的同步需要在系统中先设置ERP数据库接口页面中先设置金蝶服务器的地址:在测试连接成功后方可继续操作。打开系统定时任务:新增同步任务,选择金蝶云生产订单下推入库单同步。参数同步账套的Id是指MES的账套Id,一般情况下是0,执行频率请合理选择,过快的同步频率会影响系统性能。点击保存后,任务默认是禁用状态,需要手动启用,启用后注意观察同步记录。
在所需监控区域设置摄像头,确保选用的是海康威视的网络型摄像头,并完成摄像头的参数配置。安装视频采集软件至数据采集计算机,该软件能自动连接并显示摄像头的实时视频流。如果画面不清晰,用户可通过内置的对焦工具调整摄像头的焦点。该采集软件预设为在端口12405监听,以响应MES(制造执行系统)的调用请求。为确保服务器能访问这个地址,请将采集程序加入防火墙白名单中,并开通12405端口,允许外部访问。软件下载地址:视频采集程序在MES系统的后台,需扩展设备管理功能以包含视频接口。在设备详情的视频接口配置项内,输入采集软件的访问地址,例如:http://192.168.31.15:12405。注意是采集程序所在电脑的IP,不是摄像头的IP。要注意的是采集程序同一时间只能响应一次请求,即开始录像后只有结束录像才能响应下一次录像请求,所以后台设置时请务必一一对应设备信息,切勿将多个设备的视频服务地址指向同一个采集程序!操作员使用PDA或智能手机上的应用程序,上岗后针对特定设备,启动视频录制功能(需要用户有按钮“btn_SNVideo”的权限)。扫描条形码启动录像,再次扫描相同条码或点击完成按钮来终止录制。由于视频采集程序同时只能响应一个请求,所以请确保该设备扫描视频的功能只有一个PDA或手机使用,多个终端同时扫描会只响应第一个,进而导致后续条码没有视频记录。最后,在MES后台的条码记录界面,用户可以在附件部分查看并回放与特定条码关联的录像片段。如果没有录像文件,请稍后再查看,程序回传文件需要一定时间,具体视您所在网络环境和摄像头拍摄清晰度而定,越高的清晰度越长的录像时长产生的文件越大,所需回传的时间就越久。
授权步骤:1.获取注册信息,点击关于,页面右下角会有授权过期时间显示,点击进入授权信息页面:2.申请新授权您需要将申请信息提供给我们的销售团队或顾问团队,我们在收到后会第一时间进行授权码的发放,请留意您的邮箱。3.注册新授权将您收到的授权码注册到授权证书中即可。常见问题1.什么时候能收到新的授权码,需要多久?一般情况下,确认商务信息后2~3小时即可完成授权码制作。2.为什么我没有收到授权邮件?请检查您的邮箱服务商是否将本站邮箱服务拉入了黑名单,检查授权邮件是否在您邮箱的垃圾箱中。如果都没有找到邮件,请电话或微信联系我们的服务人员获取授权码。
使用管理员账号登录系统,点击右上角的三个点,打开关于信息,在最下方可以看到授权过期时间:点击授权过期时间可以进入授权证书:点击授权信息中带下划线的文字,会弹出授权框,将您在邮件中收到的授权码填入即可更新授权信息:
使用本功能的前提是:1.MES与金蝶云采用同一套基础数据,双方物料、人员等基础信息需要一致;2.金蝶云的单据关系是:生产用料清单(PRD_PPBOM)-生产领料单(PRD_PickMtrl);3.需要将金蝶的生产订单同步到MES中,并将MO单号写入PlanEntry表的SourcePlanNo中,将行号写入PlanEntry表的SourcePlanEntryNo中;注意:本工具并不将领料单明细同步到金蝶云,而是将金蝶云的生产用料清单下推成生产领料单,然后尝试审核下推的生产领料单。与金蝶云的同步需要在系统中先设置ERP数据库接口页面中先设置金蝶服务器的地址:在测试连接成功后方可继续操作。打开系统定时任务:新增同步任务,选择金蝶云生产用料下推领料单同步。参数同步账套的Id是指MES的账套Id,一般情况下是0,执行频率请合理选择,过快的同步频率会影响系统性能。点击保存后,任务默认是禁用状态,需要手动启用,启用后注意观察同步记录。
一.WITHAS的含义WITHAS短语,也叫做子查询部分(subqueryfactoring),可以让你做很多事情,定义一个SQL片断,该SQL片断会被整个SQL语句所用到。有的时候,是为了让SQL语句的可读性更高些,也有可能是在UNIONALL的不同部分,作为提供数据的部分。特别对于UNIONALL比较有用。因为UNIONALL的每个部分可能相同,但是如果每个部分都去执行一遍的话,则成本太高,所以可以使用WITHAS短语,则只要执行一遍即可。如果WITHAS短语所定义的表名被调用两次以上,则优化器会自动将WITHAS短语所获取的数据放入一个TEMP表里,如果只是被调用一次,则不会。而提示materialize则是强制将WITHAS短语里的数据放入一个全局临时表里。很多查询通过这种方法都可以提高速度。二.使用方法先看下面一个嵌套的查询语句:select * from person.StateProvince where CountryRegionCode in
(select CountryRegionCode from person.CountryRegion where Name like 'C%')上面的查询语句使用了一个子查询。虽然这条SQL语句并不复杂,但如果嵌套的层次过多,会使SQL语句非常难以阅读和维护。因此,也可以使用表变量的方式来解决这个问题,SQL语句如下:declare @t table(CountryRegionCode nvarchar(3))
insert into @t(CountryRegionCode) (select CountryRegionCode from person.CountryRegion
where Name like 'C%')
select * from person.StateProvince where CountryRegionCode
in (select * from @t)虽然上面的SQL语句要比第一种方式更复杂,但却将子查询放在了表变量@t中,这样做将使SQL语句更容易维护,但又会带来另一个问题,就是性能的损失。由于表变量实际上使用了临时表,从而增加了额外的I/O开销,因此,表变量的方式并不太适合数据量大且频繁查询的情况。为此,在SQLServer2005中提供了另外一种解决方案,这就是公用表表达式(CTE),使用CTE,可以使SQL语句的可维护性,同时,CTE要比表变量的效率高得多。下面是CTE的语法:[ WITH [ ,n ] ]
::=
expression_name [ ( column_name [ ,n ] ) ]
AS
(CTE_query_definition )现在使用CTE来解决上面的问题,SQL语句如下: with
cr as
(
select CountryRegionCode from person.CountryRegion where Name like 'C%'
)
select * from person.StateProvince where CountryRegionCode in (select * from cr)其中cr是一个公用表表达式,该表达式在使用上与表变量类似,只是SQLServer2005在处理公用表表达式的方式上有所不同。在使用CTE时应注意如下几点:1.CTE后面必须直接跟使用CTE的SQL语句(如select、insert、update等),否则,CTE将失效。如下面的SQL语句将无法正常使用CTE:with
cr as
(
select CountryRegionCode from person.CountryRegion where Name like 'C%'
)
select * from person.CountryRegion -- 应将这条SQL语句去掉
--
使用CTE的SQL语句应紧跟在相关的CTE后面 --
select * from person.StateProvince where CountryRegionCode in (select * from cr)2.CTE后面也可以跟其他的CTE,但只能使用一个with,多个CTE中间用逗号(,)分隔,如下面的SQL语句所示:with
cte1 as
(
select * from table1 where name like 'abc%'
),
cte2 as
(
select * from table2 where id 20
),
cte3 as
(
select * from table3 where price 100
)
select a.* from cte1 a, cte2 b, cte3 c where a.id = b.id and a.id = c.id3.如果CTE的表达式名称与某个数据表或视图重名,则紧跟在该CTE后面的SQL语句使用的仍然是CTE,当然,后面的SQL语句使用的就是数据表或视图了,如下面的SQL语句所示:--table1是一个实际存在的表
with
table1
as
(
select * from persons where age 30
)
select * from table1 -- 使用了名为table1的公共表表达式
select * from table1 -- 使用了名为table1的数据表4.CTE可以引用自身,也可以引用在同一WITH子句中预先定义的CTE。不允许前向引用。5.不能在CTE_query_definition中使用以下子句:(1)COMPUTE或COMPUTEBY(2)ORDERBY(除非指定了TOP子句)(3)INTO(4)带有查询提示的OPTION子句(5)FORXML(6)FORBROWSE6.如果将CTE用在属于批处理的一部分的语句中,那么在它之前的语句必须以分号结尾,如下面的SQL所示:declare @s nvarchar(3)
set @s= 'C%'
; --必须加分号
with
t_tree as
(
select CountryRegionCode from person.CountryRegion where Name like @s
)
select * from person.StateProvince where CountryRegionCode in (select * from t_tree) CTE除了可以简化嵌套SQL语句外,还可以进行递归调用,关于这一部分的内容将在下一篇文章中介绍。
使用此同步功能的前提是:1.在金蝶云中单据关系是:发货通知单(SAL_DELIVERYNOTICE)-销售出库单(SAL_OUTSTOCK);2.MES与金蝶云采用同一套基础数据,双方物料、人员等基础信息需要一致;3.需要将金蝶的发货通知单单同步到MES中,将单号写入WMS_BillSale表的BillNo中,将行号写入WMS_BillSaleEntry表的SortNo中;4.在MES中将装箱单的源单设为同步过来的发货通知单。与金蝶云的同步需要在系统中先设置ERP数据库接口页面中先设置金蝶服务器的地址:在测试连接成功后方可继续操作。打开系统定时任务:新增同步任务,选择金蝶云发货通知单下推销售出库单。参数同步账套的Id是指MES的账套Id,一般情况下是0,执行频率请合理选择,过快的同步频率会影响系统性能。点击保存后,任务默认是禁用状态,需要手动启用,启用后注意观察同步记录。