1.新增采购入库
(1)供应商
- 下拉选项数据:供应商表jsh_supplier》供应商名称supplier
SELECT supplier FROM jsh_supplier WHERE `type` LIKE '%供应商%' AND `enabled` = '1' AND `delete_flag` = '0'
- 选择一个供应商
- 不可选择多个
- 必选,不可为空
(2)单据日期
- 默认当前年月日时分秒
- 点击输入框,时间选择器
- 不可为空
(3)单据编号
- 自动生成,规则:开头字母固定CGDD,后面数字长度11,每次点击新增弹框,累计加1
- 不可修改
(4)关联订单
- 第一步:弹框选择已审核、部分采购的采购订单;
- 第二步:选择采购订单后,选择该订单下的商品
- 选择商品后,单据明细显示所选商品及信息
- 选择商品后,供应商字段覆盖显示该采购订单的供应商
- 关联订单非必选
关联订单和供应商这两个字段的交互设计有点问题:
供应商字段放最前面,最开始是可以下拉选择的,关联订单选择后,会自动填充供应商,并且不能修改
第一,应该是先决定有没有关联订单,再决定要不要自己手动选供应商;
第二,假如只是点击了关联订单,没有选择商品的情况下,供应商字段也会置灰不可再选择。
- 一个采购入库只能关联一个采购订单(
- 选择采购订单A之后,再次选择采购订单B,B将覆盖A;
- 选择采购订单A后,再次选择采购订单A,可回显出已选择的商品,可追加未选择的商品,已选择的不会重复选入单据明细)
- 一个采购订单可以被多个采购入库关联(
- 采购订单A有多个商品,部分商品被采购入库B关联,部分商品可被采购入库C关联,直到采购订单A的所有商品均被关联;
- 采购订单A有多个商品a1、a2、a3,a1被采购入库B关联后,采购入库C关联采购订单A时,只能选择a2、a3;
- 采购订单A有多个商品a1,a1原本在采购订单中数量为8,在采购入库时,数量等于2,则该采购订单A 状态为部分采购;
- 采购订单A有多个商品a1,a1原本在采购订单中数量为8,在采购入库B时,数量等于2,采购入库C时,数量不可超过6)
选择采购订单后,选择该采购订单下的商品,弹框的分页有bug:
(5)单据明细
- 默认显示一行输入框
-
条码:
点击搜索图标,弹出选择商品弹框 - 在条码输入框输入条码,点击搜索图标,弹框自动搜索该条码的商品
- 弹框列表数据:SELECT * FROM `jsh_erp`.`jsh_material_extend` WHERE `delete_Flag` = '0'
- 勾选后确定,单据明细显示所选记录,并自动带出商品相关信息:名称、规格、型号、颜色、扩展信息、原始数量、已入库、单位、不可修改;自动带出商品单价,可修改。
- 数量默认1,可修改;修改数量,金额、税额、价税合计随之变化。
- 数量可修改为0?可修改为小数?可修改为负数?
- 数量不可输入中英文,不可输入小数点以外的其他特殊字符
- 数量>原始数量-已入库时,保存失败
- 单价可修改为0?可修改为负数?
- 金额=单价*数量(四舍五入),可修改;修改金额,单价、税额、价税合计随之变化。
- 金额可修改为负数?
- 税率默认0,可修改;修改税率,税额、价税合计随之变化。
- 税率可超过100%?可修改为负数?
- 税额=金额*税率(四舍五入),不可修改;
- 价税合计=金额+税额,可修改;修改价税合计,金额,单价、税额随之变化。
- 价税合计可修改为负数?可为0?
- 选择一条商品
- 选择多条商品
- 可选择没有条码信息的商品?
- 可选择库存=0的商品?
- 可选择没有价格信息的商品?
- 可选择已经选择过的商品?
- 商品备注为空
- 商品备注长度200
- 商品备注不可201
- 可新增单据明细的行编辑
- 勾选后,可移除行编辑
- 当关联订单后,不可新增或移除
- 每行明细的仓库名称必选
- 仓库名称下拉选项:SELECT name FROM `jsh_erp`.`jsh_depot`
(6)采购订单备注
- 采购订单备注为空
- 采购订单备注长度1000
- 采购订单备注长度不可1001
(7)优惠率
- 优惠率默认0%,可修改;修改优惠率,付款优惠、优惠后金额随之变化
- 优惠率可修改大于100%?可为负数?
(8)付款优惠
- 付款优惠=价税合计*优惠率(四舍五入),可修改;修改付款优惠,优惠率、优惠后金额、本次付款、本次欠款随之变化
(9)优惠后金额
- 优惠后金额=价税合计-付款优惠,不可修改
(10)其他费用
- 其他费用默认0,可修改;修改其他费用,本次付款、本次欠款随之变化
(11)结算账户
- 结算账户,下拉选项:多账户+jsh_account账户表数据
- 结算账户,可为空
- 结算账户,选择单个账户
- 结算账户,选择多账户,弹出多账户明细弹框,显示三个账户选项
- 结算账户,多账户,填写两个结算账户
- 结算账户,多账户,填写一个结算账户,点击确定,提示至少填写两个
- 结算账户,多账户,填写两个结算账户,两个可选择同一个账户?
- 结算账户,多账户,选择账户后,金额必填
- 结算账户,多账户,选择账户及金额后,点击确定,金额总和自动填入支付定金输入框
(12)扣除定金
- 当关联订单时,显示扣除定金输入框,并自动带入关联的采购订单的定金;未关联时不显示
- 保存时,扣除定金不等于关联订单定金,保存失败(那为啥不干脆置灰不让修改啊)
- 当关联的采购订单,已经被关联过,状态为部分采购?
(13)本次付款
- 本次付款默认=优惠后金额+其它费用-扣除定金,可修改;修改后,本次欠款随之变化
(14)本次欠款
- 本次欠款=优惠后金额+其它费用-扣除定金-本次付款,不可修改
(15)附件
- 附件上传个数?大小?格式?
(16)保存
- 点击保存后,状态待审核(数据库表jsh_depot_head新增一条记录:type=入库,sub_type=采购,status=0,purchase_status=0;数据库表jsh_depot_item新增多条商品记录)
(17)保存并审核
- 有编辑权限及审核权限的,新增采购入库弹框,显示保存并审核按钮;没有则不显示
- 点击保存并审核,状态已审核(数据库表jsh_depot_head新增一条记录:type=入库,sub_type=采购,status=1,purchase_status=0;数据库表jsh_depot_item新增多条商品记录)
(18)对采购订单的影响
- 保存或者保存并审核后,若该采购入库是关联了采购订单,则jsh_depot_head》link_number记录该采购订单号
- 该采购订单部分商品被关联,状态变为部分采购
- 该采购订单全部商品被关联,状态变为完成采购
2、编辑
- 权限:有采购入库功能菜单,编辑权限的用户,显示编辑按钮,没有则不显示
- 未审核状态,可编辑
- 已审核,不可编辑
- 除关联订单外,其他与新增一致
编辑的时候,关联订单这里显示的商品数据没有回显出该采购入库本身已经关联成功的商品,导致不能在原有基础上添加,而是只能选择除了已经关联成功的剩余的商品,这里设计很别扭啊:
3、复制
权限:有采购入库功能菜单,编辑权限的用户,显示复制按钮,没有则不显示
点击复制,除单据编号、关联订单不同,其他默认显示复制的采购入库信息
4、删除
权限:有采购入库功能菜单,编辑权限的用户,显示删除按钮,没有则不显示
未审核状态,可删除
已审核,不可删除
删除后,jsh_depot_head》delete_flag=1,jsh_depot_item》delete_flag=1
删除采购入库后,采购订单状态会回退到部分采购,或已审核。
5、反审核
权限:有采购入库功能菜单,反审核权限的用户,显示反审核按钮,没有则不显示
未审核状态,不可反审核
已审核,可反审核,状态变为未审核
6、采购订单与采购入库流程图
这里有些疑问:
(1)审核操作的结果只能是通过,没有不通过的?
(2)采购入库的时候,刚新增,状态未审核,这个时候,采购订单就变为了部分采购了?
(3)采购订单和采购入库均涉及到账户和金额,但操作完这些流程后,账户的金额都没有变化,可能是还有哪些功能没有串联起来吧,需要再看下,盲人摸象啊!