// 根据当前任务号取得禀议详细信息 @Transactional(readOnly = true) public WipeTask getWipeByTask(String taskId) { if (StringUtils.isEmpty(taskId)) return null; WipeTask wipeTask = new WipeTask(); wipeTask.setTask(taskService.getTask(taskId)); String wCode = (String) taskService.getVariable(taskId, "wCode"); if (wCode != null) wipeTask.setWipe( wipeDao.findByProperty("wCode", wCode) == null ? null : wipeDao.findByProperty("wCode", wCode).get(0)); return wipeTask; }
// 禀议撤销 @Transactional public void delete(String taskId) { Task task = taskService.getTask(taskId); Execution execution = executionService.findExecutionById(task.getExecutionId()); if (execution.getProcessInstance().isActive("填写经费报销")) { String wCode = (String) taskService.getVariable(taskId, "wCode"); this.delete(wipeDao.getWipe(wCode)); taskService.completeTask(taskId, "cancel"); } }
// 查询某个人的待办任务。 public List<WipeTask> weiShenPiList() throws Exception { taskList = taskService.findPersonalTasks(String.valueOf(ActionUtil.getCurLoginInfo().getId())); List<WipeTask> list = null; if (taskList != null && !taskList.isEmpty()) { String wCode = null; list = new ArrayList<WipeTask>(taskList.size()); WipeTask wipeTask = null; for (Task task : taskList) { if (task.getName().equalsIgnoreCase("填写经费报销")) continue; wipeTask = new WipeTask(); wipeTask.setTask(task); wCode = (String) taskService.getVariable(task.getId(), "wCode"); if (wCode != null) { if (wipeDao.getWipe(wCode) != null) { wipeTask.setWipe(wipeDao.getWipe(wCode)); list.add(wipeTask); } } } } return list; }
// 根据当前用户取得驳回报销列表 @Transactional(readOnly = true) public List<WipeTask> getRejectTasks(Long userId) { taskList = taskService.findPersonalTasks(String.valueOf(ActionUtil.getCurLoginInfo().getId())); List<WipeTask> list = null; if (taskList != null && !taskList.isEmpty()) { String wCode = null; list = new ArrayList<WipeTask>(taskList.size()); WipeTask wipeTask = null; for (Task task : taskList) { if (task.getName().equalsIgnoreCase("填写经费报销")) { wipeTask = new WipeTask(); wipeTask.setTask(task); wCode = (String) taskService.getVariable(task.getId(), "wCode"); if (wCode != null) { wipeTask.setWipe(wipeDao.getWipe(wCode)); list.add(wipeTask); } } } } return list; }
// 根据经费状态查询经费报告 public void getWipeBy(Page<Wipe> page, Long userId, Short state) { wipeDao.getWipeBy(page, userId, state); }
// 撤回流程的操作 @Transactional public void upd( Wipe wipe, String isCom, Long ju1, List<WipeItem> itemList, List<WipeItemDetail> detailList, String itemString, String detailString) throws Exception { judgeManager.del(wipe.getId()); wipe.setwUser(userManager.get(wipe.getwUser().getId())); List<Judge> judgeSet = wipe.getJudgeSet(); for (Judge judge : judgeSet) { if (judge.getUser().getId() == null) judge.setUser(null); else judge.setUser(userManager.get(judge.getUser().getId())); } wipe.setJudgeSet(judgeSet); wipe.setState((short) 0); if ("false".equals(isCom) && ju1 != null) updWipe(wipe, ju1); Map<String, Object> variables = new HashMap<String, Object>(); Integer type = wipe.getWType(); // 0部内,1部外。 String yiji = String.valueOf(wipe.getJudgeSet().get(0).getUser().getId()); String erji = String.valueOf(wipe.getJudgeSet().get(1).getUser().getId()); String sanji = null, siji = null, wuji = null; if (type == 1) { if (wipe.getJudgeSet().get(2).getUser() == null) { sanji = null; } else { sanji = String.valueOf(wipe.getJudgeSet().get(2).getUser().getId()); } if (wipe.getJudgeSet().get(3).getUser() == null) { siji = null; } else { siji = String.valueOf(wipe.getJudgeSet().get(3).getUser().getId()); } if (wipe.getJudgeSet().get(4).getUser() == null) { wuji = null; } else { wuji = String.valueOf(wipe.getJudgeSet().get(4).getUser().getId()); } } variables.put("wCode", wipe.getwCode()); // 把禀议编号存储在变量中。 variables.put("deptUser", yiji); variables.put("projUser", erji); variables.put("sanJiUser", sanji); variables.put("manager", siji); variables.put("topUser", wuji); variables.put("fillUser", String.valueOf(ActionUtil.getCurLoginInfo().getId())); wipe.getJudgeSet().get(0).setWipe(wipe); wipe.getJudgeSet().get(1).setWipe(wipe); // 全公司 if (type == 1) { if (wipe.getJudgeSet().get(2) == null) { wipe.getJudgeSet().set(2, null); } else { wipe.getJudgeSet().get(2).setWipe(wipe); } if (wipe.getJudgeSet().get(3) == null) { wipe.getJudgeSet().set(3, null); } else { wipe.getJudgeSet().get(3).setWipe(wipe); } if (wipe.getJudgeSet().get(4) == null) { wipe.getJudgeSet().set(4, null); } else { wipe.getJudgeSet().get(4).setWipe(wipe); } } taskList = taskService.findPersonalTasks(String.valueOf(wipe.getwUser().getId())); if (taskList != null && !taskList.isEmpty()) { String wCode = null; for (Task task : taskList) { wCode = (String) taskService.getVariable(task.getId(), "wCode"); if (wCode != null) { if (wCode.equals(wipe.getwCode())) { taskService.setVariables(task.getId(), variables); taskService.completeTask(task.getId()); } } } } wipeDao.mery(wipe); String[] itemIds = itemString.split(","); String[] detailIds = detailString.split(","); for (int d = 0; d < detailIds.length; d++) { if (!detailIds[d].equals("")) wipeItemDetailService.delete(Long.parseLong(detailIds[d])); } for (int i = 0; i < itemIds.length; i++) { if (!itemIds[i].equals("")) wipeItemService.delete(Long.parseLong(itemIds[i])); } if (itemList != null && itemList.size() != 0) { for (WipeItem wipeItem : itemList) { wipeItem.setWipe(wipe); // 这里有错误,为什么为空。 if (wipeItem.getId() == null || "".equals(wipeItem.getId())) wipeItemService.save(wipeItem); else wipeItemService.merge(wipeItem); if (detailList != null && detailList.size() != 0) { for (WipeItemDetail wipeItemDetail : detailList) { if (wipeItem.getiItem().equals(wipeItemDetail.getWipeItem().getiItem())) { wipeItemDetail.setWipeItem(wipeItem); if (wipeItemDetail.getId() == null || "".equals(wipeItemDetail.getId())) wipeItemDetailService.save(wipeItemDetail); else wipeItemDetailService.merge(wipeItemDetail); } } } } } }
// 根据禀议编号查询禀议详细内容 public List<Wipe> selWipeByCode(String wCode) { return wipeDao.findByProperty("wCode", wCode); }
// 查询所有某天所写的经费报销 public Page<Wipe> getMyAll(Page<Wipe> page, String selDate) { return wipeDao.getMyAll(page, selDate); }
// 查询某个人某天所写的经费报销 public Page<Wipe> getMyAll(User curUser, Page<Wipe> page, String selDate) { return wipeDao.getMyAll(curUser, page, selDate); }
// 查询某个人所写的经费报销 public Page<Wipe> getMyAll(User curUser, Page<Wipe> page) { return wipeDao.getMyAll(curUser, page); }
// 查询所有完成的禀议书 public void getCompleteList(Page<Wipe> page) { wipeDao.getCompleteList(page); }