Skip to content
Snippets Groups Projects
Commit 9ba860df authored by Maximilian Hofmann's avatar Maximilian Hofmann Committed by Johannes Hörmann
Browse files

1034886 1034887 1034888 vertriebsprojekt state

parent 1224b29c
No related branches found
No related tags found
No related merge requests found
Showing
with 207 additions and 13 deletions
......@@ -2163,6 +2163,20 @@
<title></title>
<description></description>
</entityFieldDb>
<entityFieldDb>
<name>REASONS</name>
<dbName></dbName>
<primaryKey v="false" />
<columnType v="12" />
<size v="498" />
<scale v="0" />
<notNull v="false" />
<isUnique v="false" />
<index v="false" />
<documentation></documentation>
<title></title>
<description></description>
</entityFieldDb>
</entityFields>
</entityDb>
<entityDb>
......
......@@ -222,12 +222,6 @@
<fieldName>KeywordStates</fieldName>
<isConsumer v="false" />
</entityDependency>
<entityDependency>
<name>59546343-9f48-4437-a829-e7715e860a7d</name>
<entityName>SalesprojectCompetition_entity</entityName>
<fieldName>KeywordWonLost</fieldName>
<isConsumer v="false" />
</entityDependency>
<entityDependency>
<name>e2041dea-8647-49e9-aacf-4481b75b76ff</name>
<entityName>Stock_entity</entityName>
......@@ -342,6 +336,12 @@
<fieldName>KeywordStates</fieldName>
<isConsumer v="false" />
</entityDependency>
<entityDependency>
<name>ef8b9397-6292-42de-806e-5aaf3e3db5f3</name>
<entityName>Salesproject_entity</entityName>
<fieldName>KeywordWonLost</fieldName>
<isConsumer v="false" />
</entityDependency>
<entityDependency>
<name>5d9e0e48-ece8-4b8e-ab72-beef77b5dcc3</name>
<entityName>Task_entity</entityName>
......@@ -367,6 +367,10 @@
<valueProcess>%aditoprj%/entity/KeywordEntry_entity/entityfields/specificcontainerkeywords/children/onlyactives_param/valueProcess.js</valueProcess>
<triggerRecalculation v="false" />
</entityParameter>
<entityParameter>
<name>ContainerName_param</name>
<expose v="true" />
</entityParameter>
</children>
</entityProvider>
<entityField>
......
......@@ -3,7 +3,7 @@ import("system.db");
import("system.result");
import("Sql_lib");
var cond = SqlCondition.begin().andPrepareVars("AB_KEYWORD_ENTRY.CONTAINER", "$param.containerName_param");
var cond = SqlCondition.begin().andPrepareVars("AB_KEYWORD_ENTRY.CONTAINER", "$param.ContainerName_param");
if (vars.get("$param.OnlyActives_param") == "true")
{
......
......@@ -23,6 +23,7 @@
<name>REASON</name>
<title>Reason</title>
<consumer>KeywordWonLost</consumer>
<selectionMode>SINGLE</selectionMode>
<onValidation>%aditoprj%/entity/SalesprojectCompetition_entity/entityfields/reason/onValidation.js</onValidation>
</entityField>
<entityField>
......@@ -112,6 +113,7 @@
<entityConsumer>
<name>KeywordWonLost</name>
<fieldType>DEPENDENCY_OUT</fieldType>
<selectionMode>MULTI</selectionMode>
<dependency>
<name>dependency</name>
<entityName>KeywordEntry_entity</entityName>
......
......@@ -157,6 +157,7 @@
<name>SalesprojectCompetitions</name>
<title>Competition</title>
<fieldType>DEPENDENCY_OUT</fieldType>
<selectionMode>MULTI</selectionMode>
<dependency>
<name>dependency</name>
<entityName>SalesprojectCompetition_entity</entityName>
......@@ -419,6 +420,34 @@
<state>READONLY</state>
<valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/days_notactive/valueProcess.js</valueProcess>
</entityField>
<entityConsumer>
<name>KeywordWonLost</name>
<fieldType>DEPENDENCY_OUT</fieldType>
<selectionMode>MULTI</selectionMode>
<dependency>
<name>dependency</name>
<entityName>KeywordEntry_entity</entityName>
<fieldName>SpecificContainerKeywords</fieldName>
</dependency>
<children>
<entityParameter>
<name>ContainerName_param</name>
<valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/keywordwonlost/children/containername_param/valueProcess.js</valueProcess>
</entityParameter>
</children>
</entityConsumer>
<entityField>
<name>REASONS</name>
<title>Reason</title>
<consumer>KeywordWonLost</consumer>
<mandatoryProcess>%aditoprj%/entity/Salesproject_entity/entityfields/reasons/mandatoryProcess.js</mandatoryProcess>
<possibleItemsProcess>%aditoprj%/entity/Salesproject_entity/entityfields/reasons/possibleItemsProcess.js</possibleItemsProcess>
<searchable v="true" />
<selectionMode>MULTI</selectionMode>
<stateProcess>%aditoprj%/entity/Salesproject_entity/entityfields/reasons/stateProcess.js</stateProcess>
<valueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/reasons/valueProcess.js</valueProcess>
<displayValueProcess>%aditoprj%/entity/Salesproject_entity/entityfields/reasons/displayValueProcess.js</displayValueProcess>
</entityField>
<entityProvider>
<name>Salesprojects</name>
<fieldType>DEPENDENCY_IN</fieldType>
......@@ -456,14 +485,14 @@
<onDBUpdate>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/onDBUpdate.js</onDBUpdate>
<linkInformation>
<linkInformation>
<name>4c96cc1e-fe7f-4f7f-93c8-5ceeb9e0a56b</name>
<name>02eb2f4c-3b85-409f-ac13-c8b26804da44</name>
<tableName>SALESPROJECT</tableName>
<primaryKey>SALESPROJECTID</primaryKey>
<isUIDTable v="true" />
<readonly v="false" />
</linkInformation>
<linkInformation>
<name>701d5159-3b17-4ba9-879f-fce34375411e</name>
<name>485af2f8-d91d-442f-89c7-c44915dda990</name>
<tableName>ORGANISATION</tableName>
<primaryKey>ORGANISATIONID</primaryKey>
<isUIDTable v="false" />
......@@ -531,6 +560,14 @@
<name>PHASE.displayValue</name>
<expression>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/phase.displayvalue/expression.js</expression>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>REASONS.displayValue</name>
<expression>%aditoprj%/entity/Salesproject_entity/recordcontainers/db/recordfieldmappings/reasons.displayvalue/expression.js</expression>
</dbRecordFieldMapping>
<dbRecordFieldMapping>
<name>REASONS.value</name>
<recordfield>SALESPROJECT.REASONS</recordfield>
</dbRecordFieldMapping>
</recordFieldMappings>
</dbRecordContainer>
</recordContainers>
......
import("system.result");
import("Keyword_lib");
import("KeywordRegistry_basic");
result.string($KeywordRegistry.salesprojectWonLost());
\ No newline at end of file
import("system.result");
import("KeywordRegistry_basic");
result.string($KeywordRegistry.salesprojectWonLost());
\ No newline at end of file
import("system.vars");
import("system.result");
import("Keyword_lib");
import("KeywordRegistry_basic");
value = KeywordUtils.getViewValue($KeywordRegistry.salesprojectWonLost(), vars.get("$field.REASONS"));
result.string(value);
\ No newline at end of file
import("system.result");
import("system.vars");
// IDs: SalesprojectState Order and Lost
var res = vars.get("$field.STATE") && (vars.get("$field.STATE") == 'd8a60f60-a4e6-46ee-88ec-bac53e1afedd' || vars.get("$field.STATE") == '130bb53a-a97e-455e-8f34-8d445e985474');
result.string(res);
\ No newline at end of file
/*import("system.vars");
import("system.result");
import("system.db");
var res = db.table("select KEYID, TITLE from AB_KEYWORD_ENTRY where CONTAINER = 'SalesprojectWonLost'");
result.object(res);
*/
// TODO: multiple select
\ No newline at end of file
import("system.result");
import("system.vars");
// IDs: SalesprojectState Order and Lost
if(vars.get("$field.STATE") && (vars.get("$field.STATE") == 'd8a60f60-a4e6-46ee-88ec-bac53e1afedd' || vars.get("$field.STATE") == '130bb53a-a97e-455e-8f34-8d445e985474'))
result.string("EDITABLE");
else
result.string("READONLY");
import("system.result");
import("system.vars");
// IDs: SalesprojectState Order and Lost
var state = vars.get("$field.STATE");
if(state && (state != 'd8a60f60-a4e6-46ee-88ec-bac53e1afedd' && state != '130bb53a-a97e-455e-8f34-8d445e985474'))
result.string("");
\ No newline at end of file
import("system.vars");
import("Salesproject_lib");
Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), 1, vars.get("$field.PHASE"), false);
Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), 2, vars.get("$field.STATE"), true);
\ No newline at end of file
// TODO Milestone Value is still an Integer but has to be a String (varchar)
// Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), 1, vars.get("$field.PHASE"), false);
// Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), 2, vars.get("$field.STATE"), true);
\ No newline at end of file
import("system.neon");
import("system.translate");
import("system.vars");
import("Salesproject_lib");
import("Sql_lib");
import("system.db");
var typeValue, fieldVar
......@@ -11,12 +15,57 @@ vars.get("$local.changed").forEach(function(fieldName) {
fieldVar = "$field.PHASE";
break;
case "SALESPROJECT.STATE":
// Milestone
typeValue = 2;
fieldVar = "$field.STATE";
// set COMPETITION / OFFER to Lost
// Lost
if ( vars.get("$field.STATE") == 'd8a60f60-a4e6-46ee-88ec-bac53e1afedd')
{
_updateDataToLost("OFFER", $KeywordRegistry.offerStatus());
_updateReasons();
}
// Order
else if(vars.get("$field.STATE") == '130bb53a-a97e-455e-8f34-8d445e985474')
{
_updateDataToLost("SALESPROJECT_COMPETITION", $KeywordRegistry.salesprojectCompetitionState());
_updateReasons();
}
else
_updateReasons("del");
break;
}
if (typeValue) {
Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), typeValue, vars.getString(fieldVar), true);
// TODO Milestone Value is still an Integer but has to be a String (varchar)
// Salesproject.insertMilestone(vars.getString("$field.SALESPROJECTID"), typeValue, vars.getString(fieldVar), true);
}
});
\ No newline at end of file
});
neon.refresh()
function _updateReasons(pDelete)
{
var reasons = "";
if(!pDelete)
vars.getString("field.REASONS");
if(reasons != null)
db.updateData("SALESPROJECT", ["REASONS"], null, [reasons], SqlCondition.equals("SALESPROJECT.SALESPROJECTID", vars.getString("$field.SALESPROJECTID"), "1=2"));
}
/**
* when project is state offer sets competitors to lost, when project is state lost sets offer to lost
* @param pTable {String}
* @param pContainer {String}
*/
function _updateDataToLost(pTable, pContainer )
{
var statusLost = db.table(SqlCondition.begin()
.andPrepare("AB_KEYWORD_ENTRY.CONTAINER", pContainer)
.andPrepare("AB_KEYWORD_ENTRY.TITLE", "Lost")
.buildSql("select KEYID from AB_KEYWORD_ENTRY", "1=2"));
db.updateData(pTable, ["STATUS"], null, statusLost, SqlCondition.equals(pTable + ".SALESPROJECT_ID", vars.getString("$field.SALESPROJECTID"), "1=2"));
}
import("system.result");
import("Keyword_lib");
import("KeywordRegistry_basic");
import("Sql_lib");
var value = KeywordUtils.getResolvedTitleSqlPart($KeywordRegistry.salesprojectWonLost(), "SALESPROJECT.REASONS");
result.string(value);
......@@ -1779,6 +1779,7 @@
</entry>
<entry>
<key>Product_technic</key>
<value>Produkt_Technik</value>
</entry>
<entry>
<key>Moldova (Republic of)</key>
......@@ -1810,9 +1811,11 @@
</entry>
<entry>
<key>Project_duration</key>
<value>Projekt_Dauer</value>
</entry>
<entry>
<key>Company_internationality</key>
<value>Unternehmen_Internationalität</value>
</entry>
<entry>
<key>Eritrea</key>
......@@ -1848,6 +1851,7 @@
</entry>
<entry>
<key>Product_functionality</key>
<value>Produkt_Funktionalität</value>
</entry>
<entry>
<key>Bulgaria</key>
......@@ -2027,6 +2031,7 @@
</entry>
<entry>
<key>Other_existing Customer</key>
<value>Sonstiges_Bestandskunde</value>
</entry>
<entry>
<key>Uzbekistan</key>
......@@ -2166,6 +2171,7 @@
</entry>
<entry>
<key>Product_mobile use</key>
<value>Produkt_Mobiler Einsatz</value>
</entry>
<entry>
<key>Samoa</key>
......@@ -2229,6 +2235,7 @@
</entry>
<entry>
<key>Company_size</key>
<value>Unternehmen_Größe</value>
</entry>
<entry>
<key>Republic of Kosovo</key>
......@@ -2264,6 +2271,7 @@
</entry>
<entry>
<key>Product_industry knowhow</key>
<value>Produkt_Branchen KnowHow</value>
</entry>
<entry>
<key>Progress</key>
......@@ -2287,6 +2295,7 @@
</entry>
<entry>
<key>Project_volume</key>
<value>Projekt_Volumen</value>
</entry>
<entry>
<key>Ireland</key>
......@@ -2538,6 +2547,7 @@
</entry>
<entry>
<key>Project_reference</key>
<value>Projekt_Referenz</value>
</entry>
<entry>
<key>Vanuatu</key>
......@@ -2593,6 +2603,7 @@
</entry>
<entry>
<key>Product_flexibility</key>
<value>Produkt_Flexibilität</value>
</entry>
<entry>
<key>China</key>
......@@ -2712,6 +2723,7 @@
</entry>
<entry>
<key>Other_unknown</key>
<value>Sonstiges_Unbekannt</value>
</entry>
<entry>
<key>Isle of Man</key>
......@@ -2735,6 +2747,7 @@
</entry>
<entry>
<key>Product_GUI</key>
<value>Produkt_GUI</value>
</entry>
<entry>
<key>${GENDER_OTHER}</key>
......@@ -2866,6 +2879,7 @@
</entry>
<entry>
<key>Company_industry knowhow</key>
<value>Unternehmen_Branchen KnowHow</value>
</entry>
<entry>
<key>Monaco</key>
......
......@@ -36,6 +36,10 @@
<name>426a20c1-5d79-417b-bab1-d3100fabb25b</name>
<entityField>STATE</entityField>
</entityFieldLink>
<entityFieldLink>
<name>373ba27b-5f27-4c5d-865e-da50447124fa</name>
<entityField>REASONS</entityField>
</entityFieldLink>
<entityFieldLink>
<name>c00b2121-c44d-41a1-8c32-e2339b4dd234</name>
<entityField>PHASE</entityField>
......
......@@ -30,6 +30,10 @@
<name>4e3d7a37-f55b-4c18-9ba1-ab4ab0bbb442</name>
<entityField>STATE</entityField>
</entityFieldLink>
<entityFieldLink>
<name>2867e662-b824-4bbf-8eaf-bbd34f44598e</name>
<entityField>REASONS</entityField>
</entityFieldLink>
<entityFieldLink>
<name>ff0dcd67-56ec-4db1-8c53-531f22fda716</name>
<entityField>PHASE</entityField>
......
<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<databaseChangeLog xmlns="http://www.liquibase.org/xml/ns/dbchangelog" xmlns:ext="http://www.liquibase.org/xml/ns/dbchangelog-ext" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog-ext http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-ext.xsd http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.6.xsd">
<changeSet author="m.hofmann" id="e148d42d-ba3c-4cb7-a414-f2da9a9f2ae0">
<addColumn tableName="SALESPROJECT">
<!-- space for 13 entries as Multistring encoded -->
<column name="REASONS" type="VARCHAR(498)"/>
</addColumn>
</changeSet>
</databaseChangeLog>
\ No newline at end of file
......@@ -99,4 +99,6 @@
<include relativeToChangelogFile="true" file="add_ObjectRelation_type.xml"/>
<include relativeToChangelogFile="true" file="data/AditoBasic/ObjectRelation_exampleData.xml" context="example"/>
<include relativeToChangelogFile="true" file="Salesproject_add_column.xml"/>
</databaseChangeLog>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment