Skip to content

单据打印 ​

打印触发控制器入口文件 ​

app\wms\controller\admin\receipts\print.php

核心函数: ​

html风格与控件风格区别只是展示方式不同,html风格是抛出php数据数组展示,控件风格抛出json数据给打印控件解析展示 ​

  1. toPrintStock html风格 备货单打印函数
  2. toPrintMerge html风格 发货单打印函数
  3. toPrintStockNew 控件风格 备货单打印函数
  4. toPrintMergeNew 控件风格 发货单打印函数
  5. toPrintExpre 快递单打印函数

打印所需原始数据封装类 ​

app\wms\lib\delivery\print.php

核心函数: ​

getPrintDatas 获取打印单据原始数据 ​

核心处理内容: ​

  1. 打印有效性检查(参数、订单、发货单状态等)
  2. 发货单排序、打印批次生成处理
  3. 原始数据的组织
  4. 打印模式标记(单品打印、多品打印、还是普通打印)

原始发货单数据有了,不同的单据需要格式化不同的展示内容 ​

  1. app\wms\lib\delivery\print\stock.php 备货单数据格式化类
  2. app\wms\lib\delivery\print\delivery.php html风格发货单数据格式化类
  3. app\wms\lib\delivery\print\newdelivery.php 控件风格发货单数据格式化类
  4. app\wms\lib\delivery\print\ship.php 快递单数据格式化类

核心函数: ​

format 几个单据实现的格式化函数名一样 ​

数据更新逻辑: ​

备货单打印,sdb_wms_delivery表字段print_status | 1(按位或)

发货单打印,字段print_status | 2

快递单打印,字段print_status | 4

所以如果一个发货单三个单子都打印了,字段print_status的值是7

根据系统-发货配置中的设置识别到底要打印哪几个单据,都打印了,process_status更新为1,发货单已打印