Skip to content
Snippets Groups Projects
Commit 5f38c7fe authored by Maximilian Schröger's avatar Maximilian Schröger
Browse files

Entity & Kontext Vertriebsprojekt

parent a42c95ca
No related branches found
No related tags found
No related merge requests found
Showing
with 372 additions and 2 deletions
......@@ -545,6 +545,84 @@
<entry>
<key>Quantity</key>
</entry>
<entry>
<key>Current purchase/sales price</key>
</entry>
<entry>
<key>Salesproject</key>
</entry>
<entry>
<key>Rollout</key>
</entry>
<entry>
<key>Estimation</key>
</entry>
<entry>
<key>Phase</key>
</entry>
<entry>
<key>Product number</key>
</entry>
<entry>
<key>Project number</key>
</entry>
<entry>
<key>Project title</key>
</entry>
<entry>
<key>Project start</key>
</entry>
<entry>
<key>Volume</key>
</entry>
<entry>
<key>The project number already exists!</key>
</entry>
<entry>
<key>Partial order</key>
</entry>
<entry>
<key>Open</key>
</entry>
<entry>
<key>Lost</key>
</entry>
<entry>
<key>Order</key>
</entry>
<entry>
<key>Postponed</key>
</entry>
<entry>
<key>Aborted</key>
</entry>
<entry>
<key>Negotiation</key>
</entry>
<entry>
<key>Workshop</key>
</entry>
<entry>
<key>Presentation preparation</key>
</entry>
<entry>
<key>Waiting for request</key>
</entry>
<entry>
<key>Specifications in progress</key>
</entry>
<entry>
<key>Project decision</key>
</entry>
<entry>
<key>Lead</key>
</entry>
<entry>
<key>Presentation postprocessing</key>
</entry>
<entry>
<key>Statement given</key>
</entry>
</keyValueMap>
<font name="Dialog" style="0" size="11" />
</language>
<?xml version="1.0" encoding="UTF-8"?>
<neonContext xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonContext/1.0.0">
<name>Salesproject_context</name>
<title>Salesproject</title>
<majorModelMode>DISTRIBUTED</majorModelMode>
<mainview>SalesprojectMain_view</mainview>
<filterview>SalesprojectFilter_view</filterview>
<editview>SalesprojectEdit_view</editview>
<preview>SalesprojectPreview_view</preview>
<entity>Salesproject_entity</entity>
<references>
<neonViewReference>
<name>a791a80d-ecec-43e3-b168-633e411835c2</name>
<view>SalesprojectPreview_view</view>
</neonViewReference>
<neonViewReference>
<name>0d053d4a-a946-417f-a6f7-95e22b9a7cae</name>
<view>SalesprojectMain_view</view>
</neonViewReference>
<neonViewReference>
<name>fe6fb9fc-4e7c-49d6-a452-e022b55cbc55</name>
<view>SalesprojectFilter_view</view>
</neonViewReference>
<neonViewReference>
<name>c35cc718-94a8-43cf-afe4-f02d251d4e9f</name>
<view>SalesprojectEdit_view</view>
</neonViewReference>
</references>
</neonContext>
<?xml version="1.0" encoding="UTF-8"?>
<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.0">
<name>SalesprojectEdit_view</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<layout>
<boxLayout>
<name>layout</name>
</boxLayout>
</layout>
<children>
<genericViewTemplate>
<name>SalesprojectEdit_generic</name>
<editMode v="true" />
<entityField>#ENTITY</entityField>
<fields>
<entityFieldLink>
<name>2bc931ef-03f4-4812-b75f-70070c3dc849</name>
<entityField>PROJECTTITLE</entityField>
</entityFieldLink>
<entityFieldLink>
<name>a68c2b51-4b0d-46b0-b97e-dc87d168cf0a</name>
<entityField>PROJECTCODE</entityField>
</entityFieldLink>
<entityFieldLink>
<name>d0a2027b-1796-4c5c-82f5-6fdb8f178ab5</name>
<entityField>RELATION_ID</entityField>
</entityFieldLink>
<entityFieldLink>
<name>ceaa6824-a100-4552-a3a7-50a84faadaf9</name>
<entityField>INFO</entityField>
</entityFieldLink>
<entityFieldLink>
<name>218a0751-9a53-4639-9d79-f9463f399b93</name>
<entityField>STATUS</entityField>
</entityFieldLink>
<entityFieldLink>
<name>c00b2121-c44d-41a1-8c32-e2339b4dd234</name>
<entityField>PHASE</entityField>
</entityFieldLink>
<entityFieldLink>
<name>13ad6d3f-3a5d-4385-aae6-c454ab7531f4</name>
<entityField>STARTDATE</entityField>
</entityFieldLink>
<entityFieldLink>
<name>ed4308b5-dd5a-49a1-b748-9a2980291d56</name>
<entityField>ENDDATE</entityField>
</entityFieldLink>
<entityFieldLink>
<name>5b3c3dc2-4ca5-45c5-96e5-7196a99dcdce</name>
<entityField>VOLUME</entityField>
</entityFieldLink>
<entityFieldLink>
<name>f9332d9d-184b-4044-afaf-5d377fe59072</name>
<entityField>ESTIMATION</entityField>
</entityFieldLink>
</fields>
</genericViewTemplate>
</children>
</neonView>
<?xml version="1.0" encoding="UTF-8"?>
<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.0">
<name>SalesprojectFilter_view</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<layout>
<boxLayout>
<name>layout</name>
</boxLayout>
</layout>
<children>
<tableViewTemplate>
<name>SalesprojectFilter_table</name>
<entityField>#ENTITY</entityField>
<columns>
<neonTableColumn>
<name>91a153d4-4ede-4ba1-b11e-713e476e77c9</name>
<entityField>PROJECTCODE</entityField>
</neonTableColumn>
<neonTableColumn>
<name>9f6b967e-5140-420f-84ca-2273920221bd</name>
<entityField>PROJECTTITLE</entityField>
</neonTableColumn>
<neonTableColumn>
<name>fec843c3-f7c0-42c7-8295-50386651edb2</name>
<entityField>STARTDATE</entityField>
</neonTableColumn>
<neonTableColumn>
<name>4cc3c3f1-6f86-434d-8d1d-32a965aa76b2</name>
<entityField>ENDDATE</entityField>
</neonTableColumn>
<neonTableColumn>
<name>92699fdb-4eea-4ce2-98d2-6cc3f3b7581e</name>
<entityField>VOLUME</entityField>
</neonTableColumn>
<neonTableColumn>
<name>2689fee8-bebb-4d7c-b11e-4a7310664977</name>
<entityField>PHASE</entityField>
</neonTableColumn>
<neonTableColumn>
<name>52a851b0-9059-4d57-8ff5-335c819359e8</name>
<entityField>STATUS</entityField>
</neonTableColumn>
</columns>
</tableViewTemplate>
</children>
</neonView>
<?xml version="1.0" encoding="UTF-8"?>
<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.0">
<name>SalesprojectMain_view</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<layout>
<masterSlaveLayout>
<name>layout</name>
</masterSlaveLayout>
</layout>
</neonView>
<?xml version="1.0" encoding="UTF-8"?>
<neonView xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.0.0" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/neonView/1.0.0">
<name>SalesprojectPreview_view</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<layout>
<boxLayout>
<name>layout</name>
</boxLayout>
</layout>
</neonView>
......@@ -13,6 +13,7 @@
<include file="struct/create_prod2prod.xml"/>
<include file="struct/create_productprice.xml"/>
<include file="struct/create_stock.xml"/>
<include file="struct/create_salesproject.xml"/>
<include file="struct/contractChanges.xml"/>
<include file="struct/productChanges.xml"/>
<include file="misc/1535533490181_persChanges.xml"/>
......
<?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.schroeger" id="52da4775-e669-4633-ac22-3c5a74e44be9">
<createTable tableName="SALESPROJECT">
<column name="PROJECTCODE" type="INTEGER">
<constraints nullable="false" unique="true" uniqueConstraintName="UNIQUE_SALESPROJECT_PROJECTCODE" />
</column>
<column name="PROJECTTITLE" type="VARCHAR(30)"/>
<column name="RELATION_ID" type="CHAR(36)">
<constraints nullable="false"/>
</column>
<column name="INFO" type="CLOB"/>
<column name="STATUS" type="INTEGER"/>
<column name="PHASE" type="INTEGER"/>
<column name="VOLUME" type="NUMERIC(14,2)"/>
<column name="STARTDATE" type="TIMESTAMP"/>
<column name="ENDDATE" type="TIMESTAMP"/>
<column name="ESTIMATION" type="VARCHAR(50)"/>
<column name="ESTIMATIONVALUE" type="INTEGER"/>
<column name="SALESPROJECTID" type="CHAR(36)">
<constraints primaryKey="true" primaryKeyName="PK_SALESPROJECT_SALESPROJECTID"/>
</column>
<column name="USER_EDIT" type="VARCHAR(50)"/>
<column name="USER_NEW" type="VARCHAR(50)">
<constraints nullable="false"/>
</column>
<column name="DATE_NEW" type="TIMESTAMP">
<constraints nullable="false"/>
</column>
<column name="DATE_EDIT" type="TIMESTAMP"/>
</createTable>
</changeSet>
</databaseChangeLog>
\ No newline at end of file
import("system.translate");
import("system.datetime");
/**
* provides methods for interactions with dates
*/
function DateUtils(){
var that = this;
/**
* Validates two date inputs (beginning should always be before the end!)
*
......@@ -13,11 +16,34 @@ function DateUtils(){
* @result {Boolean|null} Boolean if it was able to check smth or null if the input values were not valid
*/
this.validateBeginnBeforeEnd = function(pStart, pEnd) {
if (pStart == "" || pStart == null || pEnd == "" || pEnd == null) return null
if (pStart == "" || pStart == null || pEnd == "" || pEnd == null) return null;
return pStart <= pEnd;
}
this.getValidationFailString = function(){
return translate.text("The expiry date must be after the start date!");
}
/**
* Delivers the current date at midnight in UTC
*
* @result {Number}
*/
this.getTodayUTC = function(){
return datetime.today("UTC");
}
/**
* Delivers the passed date incremented by passed years
*
* @param pDate {Number}
* @param pYears {Number}
*
* @result {Number} date incremented by years
*/
this.getDateIncrementedByYears = function(pDate, pYears){
var dateObj = new Date(pDate);
return dateObj.setFullYear(dateObj.getFullYear() + pYears);
}
}
\ No newline at end of file
......@@ -185,6 +185,29 @@ function KeywordUtils(){
,createKeywordEntry("3", translate.text("Warehouse 3"))
]);
break;
case "SALESPROJECT.STATUS":
valueContainer = createKeywordEntriesContainer([
createKeywordEntry("1", translate.text("Open"))
,createKeywordEntry("2", translate.text("Postponed"))
,createKeywordEntry("3", translate.text("Aborted"))
,createKeywordEntry("4", translate.text("Partial order"))
,createKeywordEntry("5", translate.text("Order"))
,createKeywordEntry("6", translate.text("Lost"))
]);
break;
case "SALESPROJECT.PHASE":
valueContainer = createKeywordEntriesContainer([
createKeywordEntry("1", translate.text("Project decision"))
,createKeywordEntry("2", translate.text("Negotiation"))
,createKeywordEntry("3", translate.text("Workshop"))
,createKeywordEntry("4", translate.text("Presentation postprocessing"))
,createKeywordEntry("5", translate.text("Presentation preparation"))
,createKeywordEntry("6", translate.text("Statement given"))
,createKeywordEntry("7", translate.text("Specifications in progress"))
,createKeywordEntry("8", translate.text("Waiting for request"))
,createKeywordEntry("9", translate.text("Lead"))
]);
break;
default:
throw new Error(translate.withArguments("[%0]the given keyword \"%1\" has no match with the possible keywordlist", [
arguments.callee.name, keywordType
......
<?xml version="1.0" encoding="UTF-8"?>
<process xmlns="http://www.adito.de/2018/ao/Model" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" VERSION="1.1.7" xsi:schemaLocation="http://www.adito.de/2018/ao/Model adito://models/xsd/process/1.1.7">
<name>Salesproject_lib</name>
<majorModelMode>DISTRIBUTED</majorModelMode>
<process>%aditoprj%/process/Salesproject_lib/process.js</process>
</process>
import("system.translate");
import("system.db");
import("system.eMath");
function SalesprojectUtils(){
var that = this;
/**
* Delivers the next valid project number (has to be unique)
*
* @result {String} next valid project number
*/
this.getNextProjectNumber = function(){
var maxNum = that.getMaxProjectNumber();
if(maxNum == "0") return 1000; //start number
return eMath.addInt(maxNum, "1");//increment currently highest number
}
/**
* Checks if the passed project number is valid (has to be unique)
*
* @result {boolean} passed projectnumber is valid
*/
this.validateProjectNumber = function(pProjectNumber){
var maxNum = that.getMaxProjectNumber();
return Number(pProjectNumber) > Number(maxNum);
}
this.getProjectNumberValidationFailString = function(){
return translate.text("The project number already exists!");
}
/**
* Delivers the hightest project number currently stored in database
*
* @result {String} hightest project number
*/
this.getMaxProjectNumber = function(){
var maxNum = db.cell("select max(PROJECTCODE) from SALESPROJECT");
return maxNum == "" ? "0" : maxNum;
}
}
\ No newline at end of file
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