18 package org.turro.financials.model.contract;
21 import org.turro.string.Strings;
22 import org.turro.action.Plugins;
23 import org.turro.elephant.db.WhereClause;
24 import org.turro.financials.db.FinancialsPU;
25 import org.turro.financials.entity.*;
26 import org.turro.financials.model.AccountFormat;
27 import org.turro.financials.model.document.DocumentWrapper;
28 import org.turro.financials.model.register.ViewWrapper;
29 import org.turro.jpa.Dao;
30 import org.turro.jpa.entity.DaoEntity;
31 import org.turro.plugin.contacts.IContact;
32 import org.turro.plugin.dossier.ICategory;
33 import org.turro.plugin.dossier.IDossier;
51 if(
entity ==
null || source ==
null)
return Collections.EMPTY_LIST;
52 ArrayList<DocumentDefinition> list =
new ArrayList<>();
54 if(dw.getAncestor().getId() == source.
getId() && dw.isAllowNewDescendants()) {
55 list.add(dw.getDescendant());
63 if(!super.canDelete())
return false;
65 "select count(*) from Document " +
70 "select count(*) from DocumentLine " +
89 return getDao().getResultList(
90 "select doc from Document as doc " +
91 "where doc.contract = ? " +
92 "and doc.documentDefinition = ? " +
93 "and year(doc.receiptDate) = ? " +
94 "order by doc.documentDate",
95 new Object[] {
entity, docDef, year });
99 transient Double advance;
102 String acc =
entity.getContractDefinition().getAsCash();
103 if(!Strings.isBlank(acc) && (acc.startsWith(
"560") ||
104 acc.startsWith(
"561") || acc.startsWith(
"565") || acc.startsWith(
"566"))) {
106 wc.
addClause(
"select sum(re.debit-re.credit) from RegisterEntry as re");
107 wc.
addClause(
"where re.account.id = :idacc");
109 wc.
addClause(
"and re.register.view = :view");
116 if(
"566".
equals(
entity.getContractDefinition().getAsCash())) {
117 advance = advance !=
null ? -advance : 0.0d;
119 advance = advance !=
null ? advance : 0.0d;
129 Iterator<Contract> it = contracts.iterator();
130 while(it.hasNext()) {
142 return dao.getResultList(
143 "select ctc from Contract as ctc " +
144 "where ctc.contractDefinition = ? " +
145 "and ctc.active = TRUE " +
147 new Object[] { contractDefinition });
150 public static Collection<Contract>
getContracts(Long contractDefinitionId) {
152 return dao.getResultList(
153 "select ctc from Contract as ctc " +
154 "where ctc.contractDefinition.id = ? " +
155 "and ctc.active = TRUE " +
157 new Object[] { contractDefinitionId });
161 Date now =
new Date();
162 Iterator<Contract> it = contracts.iterator();
163 while(it.hasNext()) {
171 Date now =
new Date();
172 Iterator<Contract> it = contracts.iterator();
173 while(it.hasNext()) {
192 cat.
setId(9500 +
entity.getContractDefinition().getId());
210 if(contact ==
null)
return null;
213 return dao.getResultList(
214 "select ctc from Contract as ctc " +
215 "left outer join ctc.participants participant " +
216 "where ctc.contractor = ? or (participant.idContact = ? and participant.interventionType = ?) " +
222 ArrayList<DocumentDefinition> list =
new ArrayList<DocumentDefinition>();
224 if(dw.getAncestor().getId() == documentDefinition.
getId() && dw.isAllowNewDescendants()) {
225 list.add(dw.getDescendant());
static< T > T loadImplementation(Class< T > jclass)
void addClause(String clause)
void addNamedValue(String name, Object value)
static String getObjectPath(Object object)
Set< DocumentWorkflow > getDocumentWorkflows()
static boolean isActive(Date now, Contract contract)
static Collection< Contract > getContracts(IContact contact)
void addAdvanceIfNeeded(RegisterView view, Collection< Contract > contracts)
static Collection< Contract > getContracts(Long contractDefinitionId)
Collection< Document > getDocuments(DocumentDefinition docDef, int year)
void generateRegisters(DocumentDefinition docDef, int year)
static Collection< Contract > getContracts(ContractDefinition contractDefinition)
static void clearActives(Collection< Contract > contracts)
static void clearInactives(Collection< Contract > contracts)
ContractWrapper(Contract entity)
double getAdvance(RegisterView view)
static Collection< DocumentDefinition > getExpiryDefinitions(ContractDefinition contractDefinition, DocumentDefinition documentDefinition)
Collection< DocumentDefinition > getExpiryDefinitions(DocumentDefinition source)
static RegisterView getFormalView()
Object getSingleResult(WhereClause wc)
Object getSingleResultOrNull(SqlClause sc)
boolean equals(Object obj)
void setParentId(long id)
void setDescription(String description)
void setSubject(IContact subject)
void setIdCategory(Long idCategory)
void setPath(String path)
void setDescription(String description)