二、 运单录入功能实现
经过分析,运单很多数据和订单相同, 输入订单号,根据订单号,查询订单数据,回显表单中 运单可以由订单产生,也可以不关联订单 1、 客户使用前端网站,在线下单 订单-- 运单 2、 客户电话下单, 工作人员手动在后台管理系统进行录入下单 订单-- 运单 3、 客户直接带货物到网点 直接产生运单 1. 采用订单数据回显表单 waybill.html 运单录入页面 1、 对页面订单号输入框,添加 onblur 离焦事件 2、 在 OrderAction 添加 findByOrderNum 方法 3、 编写业务层 4、 编写 DAO 对多集合数据懒加载问题,排除掉关联集合数据转换 json 2. 采用运单快速录入数据回显表单 对运单号输入框,添加 blur 事件,根据运单号查询,查询到信息回显表单 1、 对运单数据项添加 blur 事件 2、 在 WayBillAction 添加 findByWayBillNum 方法 3、 编写业务层 4、 编写 DAO 问题: 项目每次运行到 mq 文件都会卡住 <amq:connectionFactory id="amqConnectionFactory" brokerURL="tcp://localhost:61616" userName="admin" password="admin" /> 解决: 3. 运单录入保存功能 1、 点击页面保存按钮,提交表单 访问 waybillAction 的 save 方法 错误: Caused by: org.hibernate.TransientPropertyValueException: object references an unsaved transient instance - save the transient instance before flushing : cn.itcast.bos.domain.take_delivery.WayBill.order -> cn.itcast.bos.domain.take_delivery.Order 分析: WayBill 对象 关联没有 id 的 Order 对象 解决: 修改 WayBillAction 的 save 方法 2、 修改页面代码 异步提交 4. 修改运单录入 bug 在实体类 添加唯一约束 修改 WayBillService 的 save 方法
|