public Bill changeBillStatus(Bill bill) { Bill billInDB = this.getEntityById(Bill.class, bill.getId()); // 如果超级管理员将状态从“已送达”变更为其他任何状态的时候,要删除其相应的厂商财务信息和农户财务信息。 if (billInDB.getStatus() == WebConstants.BILL_STATUS_FINISH && bill.getStatus() != WebConstants.BILL_STATUS_FINISH) { billDao.deleteFinance(billInDB.getId()); } String oldStatus = billInDB.getStatusTxt(); String newStatus = bill.getStatusTxt(); billInDB.setStatus(bill.getStatus()); billInDB.setReason(bill.getReason()); this.saveOrUpdateEntity(billInDB); // 保存日志 BillLog log = Util.getBaseLog(BillLog.class, oldStatus + " -> " + newStatus); log.setBill(bill); log.setRemark(bill.getReason()); // 发邮件 sendEmail(billInDB, "单据状态改变(" + oldStatus + " -> " + newStatus + ")"); this.saveOrUpdateEntity(log); return billInDB; }