实时进销存

简介: 实时进销存 如何统计出任意时刻的期初,期间,期末的进销存? 因为库存每天,每时每刻都在变化,而许多医院的药品都需要统计任意两个时点之间的进销存情况,例如2015-05-05 10:03:20至2015-09-05 10:03:20的期初、期间增加 、期间减少、期末的库存,该如何统计呢? 因为库...

实时进销存

如何统计出任意时刻的期初,期间,期末的进销存?

因为库存每天,每时每刻都在变化,而许多医院的药品都需要统计任意两个时点之间的进销存情况,例如2015-05-05 10:03:20至2015-09-05 10:03:20的期初、期间增加 、期间减少、期末的库存,该如何统计呢?

因为库存实时的都在变化,每天都在出库,入库,就连2015-05-05 10:03:20和2015-09-05 10:03:20两个时刻的库存数都测不准,更不要谈期间数据了,当然可以用最笨的办法,从最初的库存开始,一直推算到这两个时刻,但是如果软件开始使用的时间离2015年5月很远,例如2010年,五年的数据,一个个从2010年加减到2015年,将会耗费很长时间计算,甚至死机,这当然是不可行的。

目前我看到的可行的方法是,定义一个计划任务,每天将库存存放到一个表中,可以称为库存快照表,有了这个表再来计算期初和期末和期间数据就简单得多了。

一、       期初或期末数的计算

 以上面为例,假设每天晚上23:00:00存放库存快照,存入yp_plan,那么如何计算药品A在2015-05-05 10:03:20和2015-09-05 10:03:20两个时刻的库存数,下面我给出具体步骤:

  1. 首先取出2015-05-04 23:00:00计划任务执行的库存信息表中A的

库存数,记为S_A

  1. 然后将2015-05-04 23:00:00至2015-05-05 10:03:20之间所有的出

库、入库的库存数S_ADD,S_REDUCE

  1. 最后得出2015-05-05 10:03:20的期末数S_B=S_A+S_ADD-S_REDUCE,

记2015-05-05 10:03:20时刻库存为S_START,同样可以求得2015-09-05 10:03:20的库存数,记2015-09-05 10:03:20时刻库存为S_END

这样就只需要计算几个小时的出入库数据就能算得各时刻的库存数。

二、       期间(期间增加和期间减少)数的计算

  1. 以上面为例,将2015-05-05 10:03:20年到2015-05-05 10:03:20的增加数算出,包括入库,退库,转入,盘盈等,只要是库存增加都可以计算在内,算得期间增加S_ADD_TOTAL
  2. 将2015-05-05 10:03:20年到2015-05-05 10:03:20的减少数算出,包括出库,调拨,转出,盘亏等,只要是库存减少都可以计算在内,算得期间减少S_REDUCE_TOTAL

三、       检查数据的正确性

可以用S_END=S_START+S_ADD_TOTAL-S_REDUCE_TOTAL来查看进销存的准确性,如果不准确说明系统有漏洞或者有出入库没有记账等问题。

 

 

 

 

                                                             董继超

                                                        2016年3月11日

 

相关文章
|
JSON Linux 开发工具
「译文」给讨厌 YAML 的人的 10 个写 YAML 的建议
「译文」给讨厌 YAML 的人的 10 个写 YAML 的建议
BUUCTF Quoted-printable 1
BUUCTF Quoted-printable 1
575 0
BUUCTF Quoted-printable 1
|
6月前
|
Cloud Native 安全 Java
从 1.5G 到 98M:Java 云原生容器化与 Docker 镜像优化全链路实战
本文深入剖析Java容器化痛点,从JVM容器感知机制、Docker分层原理出发,系统讲解多阶段构建、jlink裁剪JRE、分层Jar优化、Alpine+UPX极致压缩等四阶实战方案,实现镜像体积从1.5G降至98M(缩小93.5%),兼顾启动速度、安全性与云原生弹性需求。
581 4
|
5月前
|
人工智能 小程序 程序员
零基础入门Vibe Coding的正确打开方式
本文是一位中文专业出身、零代码基础的文科生亲历Vibe Coding(氛围编程)的真实记录。三个月内,用AI工具自主开发出桌面整理、Excel图表生成、图片批量加水印等实用小工具。文章以通俗语言解析Vibe Coding本质——“说需求,AI写代码”,强调其门槛已从“会写代码”降至“会说话”,鼓励普通人放下畏惧,动手实践。
|
6月前
|
传感器 数据采集 数据可视化
基于STM32的智能家居控制系统设计方案
基于STM32的智能家居控制系统设计方案
|
缓存 监控 Android开发
App Trace 快速安装解析(开发者视角)
App Trace 是一款应用性能监控工具,可追踪启动时间、方法耗时及卡顿等指标,助力开发调试与性能优化。支持 Android 和 iOS 平台,提供依赖引入、初始化配置和自动化脚本等快速安装方案,同时包含采样率、本地缓存等高级配置选项。集成后可通过日志检查与测试事件验证功能,注意在发布版本中使用 no-op 版本以减少性能影响,并确保隐私合规。
|
4月前
|
人工智能 IDE 程序员
[理论篇-13]AI 编程(AI Coding)—— 从"AI 帮你打字"到"AI 替你跑腿",程序员的工种正在重写
用大白话讲清楚"AI 编程"到底是什么、它在 2026 年走到了哪一步、为什么"会用 AI 写代码"突然变成了一门手艺、又为什么有人喊"AI 取代程序员",同时另一群人喊"AI 让我变成了更值钱的程序员"。
714 1
|
自然语言处理 IDE 开发工具
Xcode 26 beta (17A5241e) 发布 - Apple 平台 IDE
Xcode 26 beta (17A5241e) 发布 - Apple 平台 IDE
1264 0
Xcode 26 beta (17A5241e) 发布 - Apple 平台 IDE
|
9月前
|
SQL 监控 机器人
|
安全 数据安全/隐私保护 UED
USB Key或硬件令牌
【9月更文挑战第29天】
771 3

热门文章

最新文章