miniMes系统操作说明

一:功能说明

主界面有扫描--查询两个界面,扫描界面如下

1:默认开启自动入库出库功能

2:右上角限制位数可根据需求设定二维码字符串的位数,设置完成后点击设定,弹窗设定成功即可

3:运行逻辑如下,鼠标点击二维码输入框,扫描二维码,未入库的产品会执行《入库操作》

4:两秒内再次扫描该产品(输入同样的二维码)不会触发《出库操作》,若是扫描其他产品则会正常入库与出库,该功能主要为了避免二维码扫描周期太快造成的重复输入

5:两秒后扫描产品,已经入库的产品会执行《出库操作》

6:查询界面如下图所示:



7:输入二维码可以查询该产品的入库与出库时间,双击QR可修改QR

8:选择开始与结束时间,点击导出会生成对应时间段的csv文件(名称为开始时间),时间段依据是入库时间

二:软件运行说明

1:mes文件对应存储的所有二维码数据,目前测试10万数据约500k,所以长时间内无需清理,如果明显感到入库,出库与查询的时间很长,需要将该文件修改名称即可(最好以日期区分),修改名称后我会自动创建mes文件进行存储

部分代码:

  • 查询出入库
点击查看代码
bool MesMini::isBePutInStore(const QString &qrStr)
{
//model->clear();
try
{
//eg: "select * from LoginTable where USERNAME == 'user0';"
QSqlQuery sql_query("select * from QRTable where QR == '" + qrStr + "';");
if (!sql_query.exec())
{
QMessageBox::critical(NULL, "Prompt", sql_query.lastError().text());
return false;
}
else
{
if (sql_query.next()) {
return false;
} else {
// 没有结果
return true;//可以入库了
} }
}
catch (...)
{
return false;
}
}
  • 出库操作
点击查看代码
void MesMini::autoInsert_slot(const QString &strTmp){

    index = ui->spinBox->value();
if(strTmp == ""){
return;
}
int charCount = strTmp.length();
if(charCount != index){
return;
}
//查询是否入库
if(isBePutInStore(strTmp)){
//开始入库操作
QDateTime currentTime = QDateTime::currentDateTime();
QString formattedTime = currentTime.toString("yyyy-MM-dd HH:mm:ss ");
bool isInsert = InsertData("QRTable",formattedTime,"",strTmp);
if(isInsert){
appendToLog(strTmp + QStringLiteral(" 入库成功"));
ui->lineEdit_QRInsert->clear();
lastQrStr = strTmp;
startTime = QTime::currentTime();
}
else{
appendToLog(strTmp + QStringLiteral(" 入库失败"));
}
return;
}
//是否入库未出库
if(lastQrStr == strTmp){
endTime = QTime::currentTime();
int millis = fabs(endTime.msecsTo(startTime));
if(millis < 2000){
ui->lineEdit_QRInsert->clear();
return;
} }
if(isNotOutOfStore(strTmp)){
//开始出库操作
QDateTime currentTime = QDateTime::currentDateTime();
QString formattedTime = currentTime.toString("yyyy-MM-dd HH:mm:ss ");
bool isUpdate = updateSql(formattedTime,strTmp);
if(isUpdate){
appendToLog(strTmp + QStringLiteral(" 出库成功"));
ui->lineEdit_QRInsert->clear();
}
else{
appendToLog(strTmp + QStringLiteral(" 出库失败"));
}
return; }
}

入库出库查询软件——qt的更多相关文章

  1. HTML5 Canvas 绘制库存变化折线 画入库出库柱状图

    代码: <!DOCTYPE html> <html lang="utf-8"> <meta http-equiv="Content-Type ...

  2. 练习1:python设计停车入库出库系统

    前言: 最近在某个测试群看到有人抛出了一个面试题.为了提升自己的编程能力,我也尝试的用python去写了一下. 语言:python,数据库:sqlite  .菜鸟来袭,只是基本实现功能,可能没有考虑太 ...

  3. 使用Jasperreporter生成入库出库单打印等报表操作

    项目需要打印报表:就是那种生成入库单,出库单等的操作.使用到的技术:使用iReport Designer5.1.0设计报表,使用struts2+jasperreporter生成最终填充数据的报表 首先 ...

  4. php解析入库跟出库

    转载:http://www.jb51.net/article/39092.htm 数据放入数据库和取出来显示在页面需要注意什么 入库时 $str=addslashes($str); $sql=\&qu ...

  5. MySQL_产品昨日库存与历史入库历史出库成本_20161124

    产品昨日库存与历史入库历史出库成本 SELECT d.ID,a.*,e.昨日订单额 ,b.昨天入库额,b.历史2天,b.历史3天,b.历史4天,b.历史5天,b.历史6天,b.历史7天,b.历史8天, ...

  6. Java 框架、库和软件的精选列表(awesome java)

    原创翻译,原始链接 本文为awesome系列中的awesome java Awesome Java Java 框架.库和软件的精选列表 项目 Bean映射 简化 bean 映射的框架 dOOv - 为 ...

  7. SAP MM 并非奇怪现象之MB5B报表查不到某一笔出库记录?

    物料号:1301002696 工厂代码:2160 MB5B,如下查询条件, 查询结果中,期初与期末库存数量都是0,期间的出库入库数量都是0.事实上该物料期初应该是有库存的.并且我用MB51相同时间段查 ...

  8. ERP出库审核业务(四十四)

    结束表单流程的代码: protected void btnSubmit_Click(object sender, EventArgs e) { if(this.txtreceiveDate.Text! ...

  9. U811.1接口EAI系列之二--生成销售出库单调用U8的EAI通用处理方法--PowerBuilder语言

    1.销售系统销售出库,更新U811.1材料库存的EAI的XML生成. 2.主要根据U8配置会生成出库单和同时是否更新库存量,还是更新现存量等等. 3.具体参考代码如下: 作者:王春天 2013-11- ...

  10. SQL用先进先出存储过程求出库数量

    create table t( id ,), name ),--商品名称 j int, --入库数量 c int, --出库数量 jdate datetime --入库时间 ) ,,'2007-12- ...

随机推荐

  1. Linux 安装配置Anaconda

    下载地址 https://www.anaconda.com/download/success 选择系统版本,复制链接 wget https://repo.anaconda.com/archive/An ...

  2. Warning MVC1000

    场景重现 视图文件中有些代码如下: @Html.Partial("_Footer") 会出现警告: // 警告 MVC1000 Use of IHtmlHelper.Partial ...

  3. 比cat更好用的命令!

    大家好,我是良许. 作为程序员,大家一定对 cat 这个命令不陌生.它主要的功能就是用来显示文本文件的具体内容. 但 cat 命令两个很重大的缺陷:1. 不能语法高亮输出:2. 文本太长的话无法翻页输 ...

  4. sql连接处理

    序言 数据存储是一个很重要的话题,小到C里面的struct,到os的一个个数据表,大到一个个数据库软件乃至单纯提供数据存储和访问服务的集群,提供数据的快速访问.持久化维护.崩坏数据的恢复,数据的加密维 ...

  5. 在IM即时通讯系统中接入DeepSeek等AI大模型

    随着DeepSeek的热潮,越来越多的企业也开始部署并训练自己的AI大模型,这样能使企业以前沉淀的专业知识和经验能更高效地被利用起来.有客户反馈了这样的需求场景:客户私有部署了自己的AI大模型以及私有 ...

  6. RL · Exploration | 使用时序距离构造 intrinsic reward,鼓励 agent 探索

    论文标题:Episodic Novelty Through Temporal Distance. ICLR 2025,8 8 6 5 poster. arxiv:https://arxiv.org/a ...

  7. 🎀Idea插件-arthas idea

    简介 Arthas Idea 是一个为 IntelliJ IDEA 开发的插件,它是为了方便使用 Arthas 这个 Java 诊断工具而设计的.Arthas 是阿里巴巴开源的一款强大的 Java 应 ...

  8. DPDI Online在线kettle调度工具

    1. DPDI简介 DPDI Online 是一款基于Kettle的强大在线任务调度平台,凭借其高效与灵活性,专为调度和监控Kettle客户端生成的ETL任务而设计 2. DPDI使用 2.1 DPD ...

  9. centos安装npm和 nodejs

    NPM安装 00X01:创建目录 mkdir /usr/local/node/ cd /usr/local/node/ 00x02:下载安装包 wget https://npm.taobao.org/ ...

  10. Spring基于注解的CRUD

    目录 Spring基于注解的CRUD 代码实现 测试 方式一:使用Junit方式测试 方式二:使用@RunWith(SpringJUnit4ClassRunner.class)注解测试 Spring基 ...