/** * 更新报销单 * * @author LiZhiXian * @version 1.0 * @date 2016-2-5 下午1:59:26 */ @Override @Transactional public CostReimburse updateCostReimburse(CostReimburse entity, Integer userId) { entity.setState("提交申请"); update(entity); // 更新基本信息 delCostItems(entity.getId()); // 删除对应的费用项 // 添加对应的费用项 if (entity.getItemList() != null && entity.getItemList().size() > 0) { delCostItems(entity.getId()); Map<String, Object> map = new HashMap<String, Object>(); map.put("list", entity.getItemList()); map.put("costId", entity.getId()); addCostItems(map); } return entity; }
/** * 保存信息并启动流程 * * @author LiZhiXian * @version 1.0 * @date 2016-2-4 下午2:18:14 */ @Override @Transactional public CostReimburse saveCostReimburse(CostReimburse entity, Integer userId) { Timestamp time = new Timestamp(System.currentTimeMillis()); entity.setCreateTime(time); // 申请时间 entity.setUserId(userId); entity.setState("提交申请"); save(entity); if (entity.getItemList() != null && entity.getItemList().size() > 0) { delCostItems(entity.getId()); Map<String, Object> map = new HashMap<String, Object>(); map.put("list", entity.getItemList()); map.put("costId", entity.getId()); addCostItems(map); } // 流程KEY String prockey = entity.getClass().getSimpleName(); /** 业务主键,用于流程关联业务 规则:实体类名称+冒号+主键ID 注意:设计流程时,关键字key必须和实体类名称一致 */ String businessKey = prockey + ":" + entity.getId(); Map<String, Object> map = new HashMap<String, Object>(); map.put("userId", userId); // 设置办理人 runtimeService.startProcessInstanceByKey(prockey, businessKey, map); return entity; }