feat/mapping-partners-from-crm-to-erp

This commit is contained in:
zakaria.hachem
2026-03-08 12:24:31 +01:00
parent da686191fc
commit dbf51fcbc3
6 changed files with 196 additions and 0 deletions

View File

@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="base" package="com.axelor.apps.base.db" />
<entity name="Address" lang="java">
<many-to-one name="state" ref="com.axelor.apps.crm.db.StateAdministration" title="State" />
</entity>
</domain-models>

View File

@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="crm" package="com.axelor.apps.crm.db"/>
<entity name="Facility" lang="java">
<string name="name" title="Name"/>
<one-to-many name="partnerList" title="Partners" ref="com.axelor.apps.base.db.Partner" mappedBy="facility"/>
<many-to-one name="facilityType" title="Facility Type" ref="com.axelor.apps.crm.db.FacilityType"/>
<string name="description" title="Description"/>
<track>
<field name="name"/>
<field name="description"/>
</track>
</entity>
</domain-models>

View File

@@ -0,0 +1,24 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="crm" package="com.axelor.apps.crm.db"/>
<entity name="FacilityType" lang="java">
<string name="facilityTypeId" title="Id"/>
<string name="name" title="Name"/>
<one-to-many name="facilityList" title="Facility Type" ref="com.axelor.apps.crm.db.Facility" mappedBy="facilityType"/>
<string name="description" title="Description"/>
<track>
<field name="facilityTypeId"/>
<field name="name"/>
<field name="description"/>
</track>
</entity>
</domain-models>

View File

@@ -0,0 +1,30 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="base" package="com.axelor.apps.base.db"/>
<entity name="Partner" lang="java">
<!-- ICOP fields -->
<string name="accountNo" title="Account Number"/>
<integer name="speciality" title="Speciality" selection="crm.partner.speciality.selection" />
<integer name="function" title="Function" selection="crm.partner.function.selection" />
<integer name="structure" title="Structure" selection="crm.partner.structure.selection" />
<integer name="rating" title="Rating" selection="crm.partner.potentiality.selection" />
<many-to-one name="facility" title="Facility" ref="com.axelor.apps.crm.db.Facility"/>
<many-to-many name="stateAdministrationList" title="State Administration" ref="com.axelor.apps.crm.db.StateAdministration"/>
<track>
<field name="accountNo"/>
<field name="speciality"/>
<field name="function"/>
<field name="structure"/>
<field name="rating"/>
</track>
</entity>
</domain-models>

View File

@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://axelor.com/xml/ns/domain-models http://axelor.com/xml/ns/domain-models/domain-models_5.2.xsd">
<module name="crm" package="com.axelor.apps.crm.db"/>
<entity name="StateAdministration" lang="java">
<string name="name" title="Name" required="true"/>
<string name="typeSelect" title="Type" selection="state.administration.type.select" required="true"/>
<many-to-one name="parent" ref="com.axelor.apps.crm.db.StateAdministration"/>
<many-to-many name="partnerList" title="Partner" ref="com.axelor.apps.base.db.Partner" mappedBy="stateAdministrationList"/>
<string name="fullName" namecolumn="true" title="Full name">
<![CDATA[
String fullName = "";
com.axelor.apps.crm.db.StateAdministration current = this;
while (current != null && current.getName() != null) {
if (fullName.isEmpty()) {
fullName = current.getName();
} else {
fullName = current.getName() + " - " + fullName;
}
current = current.getParent();
}
return fullName;
]]>
</string>
<track>
<field name="name"/>
<field name="typeSelect"/>
<field name="parent"/>
<field name="fullName"/>
</track>
</entity>
</domain-models>

View File

@@ -143,4 +143,61 @@
<option value="1">Some user groups</option>
</selection>
<selection name="state.administration.type.select">
<option value="0">Region</option>
<option value="1">Sub Region</option>
<option value="2">Wilaya</option>
<option value="3">Commune</option>
</selection>
<selection name="crm.partner.function.selection">
<option value="1">doctor</option>
<option value="2">wholesaler</option>
<option value="3">pharmacy</option>
<option value="4">PCH/HOSPITAL</option>
</selection>
<selection name="crm.partner.orientation.selection">
<option value="1">CHU</option>
<option value="2">EPH</option>
<option value="3">EHS</option>
<option value="4">polyclinique</option>
<option value="5">treatment room</option>
<option value="6">office</option>
</selection>
<selection name="crm.partner.potentiality.selection">
<option value="1">A+</option>
<option value="2">B+</option>
<option value="3">C+</option>
<option value="4">D+</option>
<option value="5">E+</option>
<option value="6">A-</option>
<option value="7">B-</option>
<option value="8">C-</option>
<option value="9">D-</option>
<option value="10">E-</option>
</selection>
<selection name="crm.partner.region.selection">
<option value="1">center</option>
<option value="2">east</option>
<option value="3">west</option>
</selection>
<selection name="crm.partner.state.selection">
<option value="1">actif</option>
<option value="2">lapsed</option>
<option value="3">disbarred</option>
</selection>
<selection name="crm.partner.structure.selection">
<option value="1">public</option>
<option value="2">private</option>
</selection>
<selection name="crm.partner.sub.speciality.selection">
<option value="1">allergist</option>
</selection>
</object-views>