zoukankan      html  css  js  c++  java
  • MIS货物拆包销售的问题

    就是不能拆包装销售。比如一箱香烟要一包包的卖,一箱里面有50条,一条里面有10包,而是,要一包一包的卖。

    解决方案:
    入库的时候,记录下包装总量(自动改成数量×50),再附加2条说明字段,第一条说明是一包,第二条说明现状态没有被拆封(包装×1),且这个包装有自己的编号。
    出售的时候,记录下包装销售(自动改成数量×50),再附加2条说明字段(包装×1)。一般情况下,只需要统计明细,但有时候也要统计包装数量,这样两不误。

    总结:
    1. 无论入库还是出售,关键还是主要记录明细。但明细相互有些区别:
    属于套餐里的明细要标记为S,套餐本身标记为M,普通商品不标记。一个套餐要插入至少2次:一次是套餐本身的标记,另一次是所有的明细。
    这样既可以完全按明细统计,也可以按销售项目来统计。
    2. 注意,套餐里每个货物的TVA不一样,而不能是统一的TVA,所以交税的时候,必须根据明细来统计。
    (这样说来,套餐入库的时候必须插入每一样东西的明细)
    3. 这样一包一包卖没有问题。如果被拆箱了,那么不再有包装×1字段(要跑到进货处修改状态),而只能是散货供应。


    总货物表:
    1. 原因:我感觉使用触发器维护一个总货物表还是有必要的,而不是单纯的进货、出货表,然后联合统计。
    因为总货物表可以表明现有的物资数量,这样才可以有选择的卖。否则根本就是瞎卖。
    2. 产生规则:1)每次进货的时候生成,但是对于套餐,既要记录下包装的存货数量,也要记下存货的明细数量。
    总货物表的id字段与商品表一致。
    如果销售的是包装,那么既要让包装数量-1,也要让相应的明细数量减少。
    多给一个按钮,表示拆箱卖货。但是餐馆卖套餐,如果可以卖,那么一定是已经配好了,所以不存在拆箱的问题。
    2)如果为简化问题,那么每次也可以当场统计存货,但是速度慢。。。

    最后总结:
    1. 货物表最好有,否则就是瞎卖。某包装被拆了分开要卖,那么要用不同出货的按钮。
    2. 入库的时候,既要入库套餐,也要入库套餐明细(虽然餐馆没有这个问题)
    3. 出库的时候,既要出库套餐,也要出库套餐明细。这样各种统计都可以正确达到效果。且即使货物明细TVA不同也绝对不会出错。

  • 相关阅读:
    一波骚操作,我把 SQL 执行效率提高了 10,000,000 倍!
    如何优雅地根治null值引起的Bug!
    解锁新姿势:探讨复杂的 if-else 语句“优雅处理”的思路
    39 个奇葩代码注释,看完笑哭了。。。
    只要学会它,再多 Bug 也不怕
    SpringBoot 快速整合Mybatis(去XML化+注解进阶)
    Java 并发异步编程,原来十个接口的活现在只需要一个接口就搞定!
    微服务 2.0 技术栈选型手册
    如何设计 API 接口,实现统一格式返回?
    别在 Java 代码里乱打日志了,这才是打印日志的正确姿势!
  • 原文地址:https://www.cnblogs.com/findumars/p/3177081.html
Copyright © 2011-2022 走看看