[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [16069] more on integration
From: |
sigurdne |
Subject: |
[Fmsystem-commits] [16069] more on integration |
Date: |
Sun, 11 Dec 2016 18:04:58 +0000 (UTC) |
Revision: 16069
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=16069
Author: sigurdne
Date: 2016-12-11 18:04:57 +0000 (Sun, 11 Dec 2016)
Log Message:
-----------
more on integration
Modified Paths:
--------------
trunk/property/inc/class.uiwo_hour.inc.php
trunk/property/inc/cron/default/Import_fra_agresso_X205_BK.php
trunk/property/inc/custom/default/BkBygg_lag_Agresso_ordre_fra_workorder.php
Modified: trunk/property/inc/class.uiwo_hour.inc.php
===================================================================
--- trunk/property/inc/class.uiwo_hour.inc.php 2016-12-10 15:18:02 UTC (rev
16068)
+++ trunk/property/inc/class.uiwo_hour.inc.php 2016-12-11 18:04:57 UTC (rev
16069)
@@ -1910,7 +1910,7 @@
{
try
{
- $_validated =
$this->_validate_purchase_grant($workorder_id, $project['ecodimb'] ?
$project['ecodimb'] : $workorder['ecodimb']);
+ $_validated =
$this->_validate_purchase_grant($workorder_id, $project['ecodimb'] ?
$project['ecodimb'] : $workorder['ecodimb'], $project['id']);
}
catch (Exception $ex)
{
@@ -3457,10 +3457,21 @@
}
- private function _validate_purchase_grant( $id, $ecodimb )
+ private function _validate_purchase_grant( $id, $ecodimb,
$project_id )
{
- $_budget_amount =
$this->boworkorder->get_budget_amount($id);
+ $approval_level =
!empty($this->config->config_data['approval_level']) ?
$this->config->config_data['approval_level'] : 'order';
+
+ $_accumulated_budget_amount = 0;
+ if($approval_level == 'project')
+ {
+ $_budget_amount =
$this->boworkorder->get_accumulated_budget_amount($project_id);
+ }
+ else
+ {
+ $_budget_amount =
$this->boworkorder->get_budget_amount($id);
+ }
+
try
{
$purchase_grant_ok =
CreateObject('property.botts')->validate_purchase_grant( $ecodimb,
$_budget_amount, $id);
Modified: trunk/property/inc/cron/default/Import_fra_agresso_X205_BK.php
===================================================================
--- trunk/property/inc/cron/default/Import_fra_agresso_X205_BK.php
2016-12-10 15:18:02 UTC (rev 16068)
+++ trunk/property/inc/cron/default/Import_fra_agresso_X205_BK.php
2016-12-11 18:04:57 UTC (rev 16069)
@@ -732,6 +732,23 @@
try
{
$bilagsnr =
$this->import_end_file($buffer);
+
+ $previous_received =
$this->get_previous_received((int)$order_id);
+ $received_amount = (float)
$previous_received + (float) $belop;
+ $order_type =
$this->bocommon->socommon->get_order_type($order_id);
+
+ switch ($order_type)
+ {
+ case 'workorder':
+ $received =
createObject('property.boworkorder')->receive_order( (int)$order_id,
$received_amount );
+ break;
+ case 'ticket':
+ $received =
createObject('property.botts')->receive_order( (int)$order_id, $received_amount
);
+ break;
+ default:
+ throw new
Exception('Order type not supported');
+ }
+
}
catch (Exception $e)
{
@@ -754,6 +771,20 @@
}
}
+ function get_previous_received( $order_id )
+ {
+ $amount = 0;
+ $sql = "SELECT sum(godkjentbelop) AS amount FROM
fm_ecobilag WHERE pmwrkord_code = {$order_id}";
+ $this->db->query($sql, __LINE__, __FILE__);
+ $this->db->next_record();
+ $amount += (float)$this->db->f('amount');
+ $sql = "SELECT sum(godkjentbelop) AS amount FROM
fm_ecobilagoverf WHERE pmwrkord_code = {$order_id}";
+ $this->db->query($sql, __LINE__, __FILE__);
+ $this->db->next_record();
+ $amount += (float)$this->db->f('amount');
+ return $amount;
+ }
+
function get_order_info( $order_id = 0 )
{
$order_id = (int)$order_id;
@@ -839,7 +870,15 @@
function import_end_file( $buffer )
{
- $num = $this->soXport->add($buffer,
$this->skip_update_voucher_id);
+ try
+ {
+ $num = $this->soXport->add($buffer,
$this->skip_update_voucher_id);
+ }
+ catch (Exception $e)
+ {
+ throw $e;
+ }
+
if ($this->debug)
{
_debug_array("import_end_file() ");
Modified:
trunk/property/inc/custom/default/BkBygg_lag_Agresso_ordre_fra_workorder.php
===================================================================
---
trunk/property/inc/custom/default/BkBygg_lag_Agresso_ordre_fra_workorder.php
2016-12-10 15:18:02 UTC (rev 16068)
+++
trunk/property/inc/custom/default/BkBygg_lag_Agresso_ordre_fra_workorder.php
2016-12-11 18:04:57 UTC (rev 16069)
@@ -55,8 +55,20 @@
return 2;
}
- $price =
ExecMethod('property.boworkorder.get_budget_amount',$workorder['id']);
+ $config = CreateObject('phpgwapi.config', 'property');
+ $config->read();
+ $approval_level =
!empty($config->config_data['approval_level']) ?
$config->config_data['approval_level'] : 'order';
+ $price = 0;
+ if($approval_level == 'project')
+ {
+ $price =
ExecMethod('property.boworkorder.get_accumulated_budget_amount',
$workorder['project_id']);
+ }
+ else
+ {
+ $price =
ExecMethod('property.boworkorder.get_budget_amount', $workorder['id']);
+ }
+
try
{
$purchase_grant_ok =
CreateObject('property.botts')->validate_purchase_grant( $workorder['ecodimb'],
$price, $workorder['id']);
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [16069] more on integration,
sigurdne <=