采购订单:设计和录入采购的数据
添加设计表:
主表:采购员 供货商 审核人 录入人 …
副表:产品 的价格 数量 小计 …
关系的设计
主表
@Entity
@Table(name="purchasebill")
public class Purchasebill extends BaseDomain {
private Date vdate; // 交易时间 前台传过来
private BigDecimal totalAmount; //订单总金额 --后台计算出来
private BigDecimal totalNum; //订单数量 --后台计算出来
private Date inputtime = new Date();//采购单录入时间 -- 后台生成
private Date auditortime; //审核时间 --- 后台生成
private Integer status = 0; //单据状态 0 表示待审核 1 表示审核 -1表作废
//private Long supplierId;
@ManyToOne(fetch = FetchType.LAZY,optional = false)
@JoinColumn(name="supplier_id")
private Supplier supplier;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="auditor_id")
private Employee auditor;//审核人 录入可以为null
@ManyToOne(fetch = FetchType.LAZY,optional = false)
@JoinColumn(name="inputUser_id")
private Employee inputUser;//录入人 不能为null 当前登陆用户
@ManyToOne(fetch = FetchType.LAZY,optional = false)
@JoinColumn(name="buyer_id")
private Employee buyer;//采购员
//明細 强级联 orphanRemoval 一方解除关系 去删除
@OneToMany(cascade = CascadeType.ALL,fetch = FetchType.LAZY,mappedBy = "bill",
orphanRemoval = true)
private List<Purchasebillitem> items = new ArrayList<>();
副表
@Entity
@Table(name="purchasebillitem")
public class Purchasebillitem extends BaseDomain {
private BigDecimal price;//产品价格
private BigDecimal num;//产品数量
private BigDecimal amount;//产品小计
private String descs; //产品描述
// private Long productId;
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="product_id")
private Product product;
//订单
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name="bill_id")
@JsonIgnore //返回页面 不展示出来
private Purchasebill bill;
展示采购单的数据
formatter转换
采购员 供应商 单据转换
//表格数据格式化 //formatObj 供应商转换
function formatObj(value){