public Bill sendBill(Bill bill) { Bill billInDB = this.getEntityById(Bill.class, bill.getId()); billInDB.setPriceOnOrder(bill.getPriceOnOrder()); billInDB.setShenheRemark(bill.getShenheRemark()); billInDB.setShenheResult(bill.getShenheResult()); billInDB.setTranslater(bill.getTranslater()); billInDB.setAgentUnitPrice(bill.getAgentUnitPrice()); billInDB.setOrderNo(bill.getOrderNo()); billInDB.setRemark(bill.getRemark()); if (bill.getShenheResult() == null) { // 仅仅是保存 this.saveOrUpdateEntity(billInDB); // 保存日志 BillLog log = Util.getBaseLog(BillLog.class, "已审核 -> 已审核"); log.setBill(bill); log.setRemark(bill.getRemark()); this.saveOrUpdateEntity(log); } else if (bill.getShenheResult()) { // 发料 billInDB.setSendDate(new Date()); billInDB.setStatus(WebConstants.BILL_STATUS_SENT); if (billInDB.getAreaAccount() != null) { billInDB.setCurrUserName(billInDB.getAreaAccount().getName()); } else if (billInDB.getManager() != null) { billInDB.setCurrUserName(billInDB.getManager().getName()); } this.saveOrUpdateEntity(billInDB); // 保存日志 BillLog log = Util.getBaseLog(BillLog.class, "已审核 -> 已发料"); log.setBill(bill); log.setRemark(bill.getShenheRemark()); // 发邮件 sendEmail(billInDB, "单据发料成功"); baseDao.saveOrUpdate(log); } else { // 驳回 billInDB.setStatus(WebConstants.BILL_STATUS_SUBMIT); this.saveOrUpdateEntity(billInDB); // 保存日志 BillLog log = Util.getBaseLog(BillLog.class, "已审核 -> 审核中"); log.setBill(bill); log.setRemark(bill.getShenheRemark()); // 发邮件 sendEmail(billInDB, "单据驳回"); this.saveOrUpdateEntity(log); } return billInDB; }