/** * @param content * @return */ public static Document getDocument(Map<String, Object> content) { Document doc = new Document(); if (content.get("documentOut") != null) { doc = (Document) content.get("documentOut"); System.out.println("(1) ::" + doc.getCaseNo()); } else if (content.get("document") != null) { doc = (Document) content.get("document"); System.out.println("(2) :: " + doc.getCaseNo()); } else { // System.err.println("DocumentDaoHelper.getDocument says Document is null!!"); String description = content.get("description") == null ? null : (String) content.get("description"); String subject = content.get("subject") == null ? null : (String) content.get("subject"); if (subject == null) { subject = content.get("caseNo") == null ? null : (String) content.get("caseNo"); } String value = content.get("value") == null ? null : (String) content.get("value"); Integer priority = content.get("priority") == null ? null : (Integer) content.get("priority"); doc.setDescription(description); doc.setCaseNo(subject); doc.setValue(value); doc.setPriority(priority); System.out.println("(3) :: " + doc.getCaseNo()); } if (doc.getId() == null) { Object idStr = content.get("documentId"); if (idStr == null || idStr.equals("null")) { idStr = null; } Long id = idStr == null ? null : new Long(idStr.toString()); doc.setId(id); } return doc; }
/** * @param document * @return */ private static DocumentModel getDoc(Document document) { DocumentModel model = new DocumentModel( document.getId(), document.getCaseNo(), document.getDescription(), getType(document.getType())); model.setDocumentDate(document.getDocumentDate()); model.setPartner(document.getPartner()); model.setPriority(document.getPriority()); model.setValue(document.getValue()); model.setCreated(document.getCreated()); model.setStatus(document.getStatus()); model.setProcessInstanceId(document.getProcessInstanceId()); model.setSessionId(document.getSessionId()); return model; }
public void sendNotification(ADTaskNotification template, Map<String, Object> params) { String caseNo = null; String noteType = null; String documentId = null; String groupId = null; String actorId = null; String ownerId = null; Object isApproved = null; String html = null; if (template != null && !template.isUseDefaultNotification() && template.getNotificationTemplate() != null) { html = template.getNotificationTemplate(); } caseNo = (String) params.get("Subject"); // noteType = (String) params.get("NotificationType"); // NotificationType type = NotificationType.valueOf(noteType); documentId = (String) params.get("DocumentId"); groupId = (String) params.get("GroupId"); actorId = (String) params.get("ActorId"); ownerId = (String) params.get("OwnerId"); // isApproved = params.get("isApproved"); String[] groups = null; if (groupId != null) { groups = groupId.split(","); } Document doc = params.get("document") == null ? null : (Document) params.get("document"); try { doc = DocumentDaoHelper.getDocument(Long.parseLong(documentId)); } catch (Exception e) { } log.debug("Class : " + this.getClass()); log.debug("Subject : " + caseNo); log.debug("NotificationType : " + noteType); log.debug("DocumentId : " + documentId); log.debug("GroupId : " + groupId); log.debug("ActorId : " + actorId); log.debug("OwnerId : " + ownerId); List<HTUser> receipients = null; // notification.setTargetUserId(targetUserId); if (actorId != null && !actorId.trim().isEmpty()) { receipients = new ArrayList<>(); receipients.add(LoginHelper.get().getUser(actorId)); } else if (groups != null) { receipients = LoginHelper.get().getUsersForGroups(groups); } // List<HTUser> owner = new ArrayList<>(); // owner.add(LoginHelper.get().getUser(ownerId)); String emailSubject = (doc.getType() == null ? "Work item" : doc.getType().getDisplayName()) + " " + doc.getCaseNo(); if (template != null) { emailSubject = parse(template.getSubject(), doc); } params.put("emailSubject", emailSubject); sendMail(html, doc, receipients, params); log.info("EMAILSUBJECT = " + emailSubject); log.info("EMAILRECIEPIENTS = " + receipients); }
/** * This method saves updates a document * * @param document * @return Document * @throws InvalidSubjectExeption */ public static Document save(Document document) throws InvalidSubjectExeption { DocumentDaoImpl dao = DB.getDocumentDao(); // save if (document.getId() == null) { if (exists(document.getCaseNo())) { throw new InvalidSubjectExeption( "Case '" + document.getCaseNo() + "' already exists, this number cannot be reused"); } if (document.getCaseNo() == null) { ADDocType type = dao.getDocumentTypeByName(document.getType().getName()); document.setCaseNo(dao.generateDocumentSubject(type)); Value value = document.getValues().get("caseNo"); if (value == null) { value = new StringValue(null, "caseNo", ""); } value.setValue(document.getCaseNo()); document.setValue("caseNo", value); } if (document.getDescription() == null) { document.setDescription(document.getCaseNo()); Value value = document.getValues().get("description"); if (value == null) { value = new StringValue(null, "description", ""); } value.setValue(document.getCaseNo()); document.getValues().put("description", value); } } DocumentModel model = getDoc(document); if (document.getId() != null) { model = dao.getById(document.getId()); model.setDescription(document.getDescription()); model.setDocumentDate(document.getDocumentDate()); model.setPartner(document.getPartner()); model.setPriority(document.getPriority()); model.setSubject(document.getCaseNo()); model.setType(getType(document.getType())); model.setValue(document.getValue()); model.setStatus(document.getStatus()); model.setProcessInstanceId(document.getProcessInstanceId()); model.setSessionId(document.getSessionId()); } model.getValues().clear(); Map<String, Value> vals = document.getValues(); Collection<Value> values = vals.values(); for (Value val : values) { if (val == null || (val instanceof GridValue)) { // Ignore continue; } ADValue previousValue = new ADValue(); if (val.getId() != null) { previousValue = DB.getFormDao().getValue(val.getId()); } ADValue adValue = getValue(previousValue, val); assert adValue != null; model.addValue(adValue); } // setDetails setDetails(model, document.getDetails()); model = dao.saveDocument(model); Document doc = getDoc(model); return doc; }