[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [16256] Stable: Merge 16252:16255 from trunk
From: |
sigurdne |
Subject: |
[Fmsystem-commits] [16256] Stable: Merge 16252:16255 from trunk |
Date: |
Mon, 6 Feb 2017 08:22:11 -0500 (EST) |
Revision: 16256
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=16256
Author: sigurdne
Date: 2017-02-06 08:22:10 -0500 (Mon, 06 Feb 2017)
Log Message:
-----------
Stable: Merge 16252:16255 from trunk
Modified Paths:
--------------
branches/Version-2_0-branch/property/inc/cron/default/Import_fra_agresso_X205_BK.php
branches/Version-2_0-branch/property/inc/cron/default/Import_fra_agresso_X205_BK_vedlegg.php
branches/Version-2_0-branch/rental/inc/class.socomposite.inc.php
branches/Version-2_0-branch/rental/inc/class.uicontract.inc.php
Property Changed:
----------------
branches/Version-2_0-branch/
Index: branches/Version-2_0-branch
===================================================================
--- branches/Version-2_0-branch 2017-02-06 13:19:56 UTC (rev 16255)
+++ branches/Version-2_0-branch 2017-02-06 13:22:10 UTC (rev 16256)
Property changes on: branches/Version-2_0-branch
___________________________________________________________________
Modified: svn:mergeinfo
## -1,4 +1,4 ##
/branches/dev-syncromind:13653
/branches/dev-syncromind-2:14933-16188
/branches/stavangerkommune:12743-12875,12986
-/trunk:14721-14732,14734-14735,14737,14739,14741,14743-14744,14746-14749,14751,14753,14755-14757,14759,14761-14764,14766-14768,14770-14783,14785-14792,14794-14813,14815-14816,14818,14820-14822,14824-14825,14827-14829,14831-14834,14836,14838,14840-14842,14844-14845,14847,14849-14866,14868-14869,14871,14873-14875,14877-14878,14880-14884,14886-14896,14898,14900-14902,14904,14906-14909,14911-14915,14917-14919,14921-14922,14924-14978,14980-15258,15260-15261,15263-15264,15266-15285,15287-15288,15290-15291,15293,15295,15297,15299-15305,15307-15310,15312-15335,15337-15352,15354,15356,15358,15360-15541,15543-15566,15568-15569,15571,15573-15581,15583,15585-15617,15619,15621-15630,15632-15635,15637-15639,15641-15643,15645,15647-15665,15667-15668,15670-15671,15673-15693,15695-15712,15714-15764,15766-15767,15769-15787,15789-15802,15804-15811,15813-15814,15816-15818,15820-15849,15851-15887,15889-15900,15902-16046,16048-16051,16053,16055,16057-16063,16065-16071,16073-16077,16079-16081,16083-16099,16101-16130,16132-16140,16142,16144-16212,16214-16219,16221,16223-16224,16226,16228-16229,16231,16233,16235,16237,16239-16240,16242,16244-16246,16248,16250-16251
\ No newline at end of property
+/trunk:14721-14732,14734-14735,14737,14739,14741,14743-14744,14746-14749,14751,14753,14755-14757,14759,14761-14764,14766-14768,14770-14783,14785-14792,14794-14813,14815-14816,14818,14820-14822,14824-14825,14827-14829,14831-14834,14836,14838,14840-14842,14844-14845,14847,14849-14866,14868-14869,14871,14873-14875,14877-14878,14880-14884,14886-14896,14898,14900-14902,14904,14906-14909,14911-14915,14917-14919,14921-14922,14924-14978,14980-15258,15260-15261,15263-15264,15266-15285,15287-15288,15290-15291,15293,15295,15297,15299-15305,15307-15310,15312-15335,15337-15352,15354,15356,15358,15360-15541,15543-15566,15568-15569,15571,15573-15581,15583,15585-15617,15619,15621-15630,15632-15635,15637-15639,15641-15643,15645,15647-15665,15667-15668,15670-15671,15673-15693,15695-15712,15714-15764,15766-15767,15769-15787,15789-15802,15804-15811,15813-15814,15816-15818,15820-15849,15851-15887,15889-15900,15902-16046,16048-16051,16053,16055,16057-16063,16065-16071,16073-16077,16079-16081,16083-16099,16101-16130,16132-16140,16142,16144-16212,16214-16219,16221,16223-16224,16226,16228-16229,16231,16233,16235,16237,16239-16240,16242,16244-16246,16248,16250-16251,16253-16255
\ No newline at end of property
Modified:
branches/Version-2_0-branch/property/inc/cron/default/Import_fra_agresso_X205_BK.php
===================================================================
---
branches/Version-2_0-branch/property/inc/cron/default/Import_fra_agresso_X205_BK.php
2017-02-06 13:19:56 UTC (rev 16255)
+++
branches/Version-2_0-branch/property/inc/cron/default/Import_fra_agresso_X205_BK.php
2017-02-06 13:22:10 UTC (rev 16256)
@@ -105,7 +105,10 @@
continue;
}
- $file_list[] =
(string)"{$dirname}/{$file}";
+ if(preg_match('/^X205/i', (string)$file
))
+ {
+ $file_list[] =
(string)"{$dirname}/{$file}";
+ }
}
}
@@ -352,7 +355,7 @@
{
foreach ($files as $file_name)
{
- if (stripos($file_name,
'Px205') === 0)
+
if(preg_match('/^X205/i', (string)$file_name ))
{
//
_debug_array($file_name);
$file_remote =
"{$directory_remote}/{$file_name}";
Modified:
branches/Version-2_0-branch/property/inc/cron/default/Import_fra_agresso_X205_BK_vedlegg.php
===================================================================
---
branches/Version-2_0-branch/property/inc/cron/default/Import_fra_agresso_X205_BK_vedlegg.php
2017-02-06 13:19:56 UTC (rev 16255)
+++
branches/Version-2_0-branch/property/inc/cron/default/Import_fra_agresso_X205_BK_vedlegg.php
2017-02-06 13:22:10 UTC (rev 16256)
@@ -27,8 +27,7 @@
* @version $Id: Import_fra_agresso_X205.php 14726 2016-02-11 20:07:07Z
sigurdne $
*/
/**
- * Filteret benytter format X205 for integrasjon mellom Contempus
Invoice og ClockWork Logistics.
- * Formatet sender innskannede fakturaer fra Contempus til ClockWork -
og Portico Estate
+ *
* @package property
*/
include_class('property', 'cron_parent', 'inc/cron/');
@@ -35,16 +34,7 @@
class Import_fra_agresso_X205_BK_vedlegg extends property_cron_parent
{
-
- protected $kildeid = 1;
- protected $splitt = 0;
- protected $invoice;
- protected $default_kostra_id = 9999; //dummy
protected $debug = false;
- protected $skip_import = false;
- protected $skip_email = false;
- protected $export;
- protected $skip_update_voucher_id = false;
function __construct()
{
@@ -54,34 +44,11 @@
$this->sub_location = lang('invoice');
$this->function_msg = 'Importer tillegsvedlegg til
faktura fra Agresso';
- $this->invoice = CreateObject('property.soinvoice');
- $this->responsible =
CreateObject('property.soresponsible');
- $this->bocommon = CreateObject('property.bocommon');
-
- $this->dateformat = $this->db->date_format();
- $this->datetimeformat = $this->db->datetime_format();
$this->config = CreateObject('admin.soconfig',
$GLOBALS['phpgw']->locations->get_id('property', '.invoice'));
- $this->send = CreateObject('phpgwapi.send');
-
- $now = time() +
(int)$GLOBALS['phpgw_info']['user']['preferences']['common']['tz_offset'] *
3600;
-
- $now_hour = date('G', $now);
- $now_day = date('N', $now);
-
- if (($now_hour < 6 || $now_hour > 17) || $now_day > 5)
- {
-
- $this->skip_email = true;
- }
}
public function execute()
{
- if
(isset($this->config->config_data['import']['check_archive']) &&
$this->config->config_data['import']['check_archive'])
- {
- $this->check_archive();
- }
-
$this->get_files();
$dirname =
$this->config->config_data['import']['local_path'];
// prevent path traversal
@@ -101,7 +68,10 @@
continue;
}
- $file_list[] =
(string)"{$dirname}/{$file}";
+ if(preg_match('/^Portico/i',
(string)$file ))
+ {
+ $file_list[] =
(string)"{$dirname}/{$file}";
+ }
}
}
@@ -109,13 +79,10 @@
{
foreach ($file_list as $file)
{
- $this->skip_update_voucher_id = false;
- $this->db->transaction_begin();
$bilagsnr = $this->import($file);
if ($this->debug)
{
_debug_array("Behandler fil:
{$file}");
- _debug_array("Bilagsnr:
{$bilagsnr}");
}
if ($bilagsnr)
@@ -133,17 +100,12 @@
$ok = @rename($movefrom,
$moveto);
if (!$ok) // Should never
happen.
{
-
$this->db->transaction_abort();
-
$this->receipt['error'][] = array('msg' => "Kunne ikke flytte importfil til
arkiv, Bilag {$bilagsnr} er slettet");
+
$this->receipt['error'][] = array('msg' => "Kunne ikke flytte importfil {$file}
til arkiv");
}
- else
- {
-
$this->db->transaction_commit();
- }
}
else
{
- $this->db->transaction_abort();
+ $this->receipt['error'][] =
array('msg' => "Refererer ikke til et gyldig bilag: {$file}");
}
}
}
@@ -154,58 +116,7 @@
}
- protected function check_archive()
- {
- $dirname =
$this->config->config_data['import']['local_path'];
- if (preg_match('/\./', $dirname) || !is_dir($dirname))
- {
- return array();
- }
-
- $archive = "{$dirname}/archive";
- $file_list = array();
- $dir = new DirectoryIterator($archive);
- if (is_object($dir))
- {
- foreach ($dir as $file)
- {
- if ($file->isDot() || !$file->isFile()
|| !$file->isReadable() || strcasecmp(end(explode(".", $file->getPathname())),
'xml') != 0)
- {
- continue;
- }
-
- $file_list[] = (string)$file;
- }
- }
-
- foreach ($file_list as $file)
- {
- $file_parts = explode('_', basename($file,
'.xml'));
- $external_voucher_id = $file_parts[2];
-
- $found_voucher = false;
- $sql = "SELECT bilagsnr FROM fm_ecobilag WHERE
external_voucher_id = '{$external_voucher_id}'";
- $this->db->query($sql, __LINE__, __FILE__);
- if ($this->db->next_record())
- {
- $found_voucher = true;
- }
-
- $sql = "SELECT bilagsnr FROM fm_ecobilagoverf
WHERE external_voucher_id = '{$external_voucher_id}'";
- $this->db->query($sql, __LINE__, __FILE__);
- if ($this->db->next_record())
- {
- $found_voucher = true;
- }
-
- if ($found_voucher)
- {
- $this->receipt['message'][] =
array('msg' => "Faktura funnet: {$external_voucher_id}");
- }
- }
- }
-
protected function get_files()
{
$method =
$this->config->config_data['common']['method'];
@@ -279,7 +190,7 @@
{
foreach ($files as $file_name)
{
- if (stripos($file_name,
'Px205') === 0)
+
if(preg_match('/^Portico/i', (string)$file_name ))
{
//
_debug_array($file_name);
$file_remote =
"{$directory_remote}/{$file_name}";
@@ -342,7 +253,6 @@
protected function import( $file )
{
- $buffer = array();
$bilagsnr = false;
$xmlparse = CreateObject('property.XmlToArray');
@@ -353,12 +263,8 @@
if (isset($var_result['INVOICES']) &&
is_array($var_result['INVOICES']))
{
- $regtid = date($this->datetimeformat);
-
- $i = 0;
$_data =
$var_result['INVOICES'][0]['INVOICE'][0]['INVOICEHEADER'][0];
-
if(!empty($_data['ATTACHMENT']))
{
$attachment =
base64_decode($_data['ATTACHMENT']);
@@ -390,112 +296,14 @@
unlink($tmpfname);
}
- $_data['ARRIVAL']; // => 2009.05.28
- $_data['CLIENT.CODE']; // => 14
- $_data['EXCHANGERATE']; // => 1
- $_data['LOCALAMOUNT']; // => 312500
- $_data['LOCALVATAMOUNT']; // => 62500
- $_data['PAYAMOUNT']; // => 0
- $_data['POSTATUSUPDATED']; // => 0
- $_data['PURCHASEORDERSTATUS.CODE']; // =>
WaitForMatch
- $_data['SUPPLIER.BANKGIRO']; // => 70580621110
- $_data['VATAMOUNT']; // => 62500
-
- $bilagsnr_ut = isset($_data['VOUCHERID']) ?
$_data['VOUCHERID'] : ''; // FIXME: innkommende bilagsnummer?
-
- $fakturanr = $_data['SUPPLIERREF'];
- $fakturadato = date($this->dateformat,
strtotime(str_replace('.', '-', $_data['INVOICEDATE'])));
- $forfallsdato = date($this->dateformat,
strtotime(str_replace('.', '-', $_data['MATURITY'])));
- $periode = '';
- $belop = $_data['AMOUNT'] / 100;
-
- if (!abs($belop) > 0)
- {
- $this->receipt['message'][] =
array('msg' => "Beløpet er 0 for Skanningreferanse: {$_data['SCANNINGNO']},
FakturaNr: {$fakturanr}, fil: {$file}");
- $belop = (float)0.0001; // imported as
0.00
- }
-
- if ($belop < 0)
- {
- $buffer[$i]['artid'] = 2;
- }
- else
- {
- $buffer[$i]['artid'] = 1;
- }
-
- $kidnr = $_data['KIDNO'];
- $_order_id = $_data['PURCHASEORDERNO'];
- $merknad = '';
- $line_text = '';
- $order_id = '';
- $buffer[$i]['project_id'] = '';
-
- $order_info =
$this->get_order_info($_order_id); // henter default verdier selv om
$_order_id ikke er gyldig.
-
- if (!$_order_id)
- {
- $merknad = 'Mangler bestillingsnummer';
- $this->receipt['error'][] = array('msg'
=> $merknad);
- }
- else if (!ctype_digit($_order_id))
- {
- $merknad = "bestillingsnummeret er på
feil format: {$_order_id}";
- $this->receipt['error'][] = array('msg'
=> $merknad);
- }
- else if (!$order_info['order_exist'])
- {
- $merknad = 'bestillingsnummeret ikke
gyldig: ' . $_order_id;
- $this->receipt['error'][] = array('msg'
=> "{$merknad}, fil: {$file}");
- }
- else
- {
- $buffer[$i]['project_id'] =
$this->soXport->get_project($_order_id);
- $order_id = $_order_id;
- }
-
- $buffer[$i]['external_voucher_id'] =
$_data['KEY']; // => 1400050146
- $buffer[$i]['pmwrkord_code'] = $order_id;
- $buffer[$i]['fakturanr'] = $fakturanr;
- $buffer[$i]['periode'] = $periode;
- $buffer[$i]['forfallsdato'] = $forfallsdato;
- $buffer[$i]['fakturadato'] = $fakturadato;
- $buffer[$i]['belop'] = $belop;
- $buffer[$i]['currency'] =
$_data['CURRENCY.CURRENCYID'];
- $buffer[$i]['godkjentbelop'] = $belop;
-
- $buffer[$i]['kidnr'] = $kidnr;
- $buffer[$i]['bilagsnr_ut'] = $bilagsnr_ut;
- $buffer[$i]['referanse'] = "ordre: {$order_id}";
-
- $buffer[$i]['dima'] = $order_info['dima'];
- $buffer[$i]['dimb'] = $order_info['dimb'];
- $buffer[$i]['dime'] = $order_info['dime'];
- $buffer[$i]['loc1'] = $order_info['loc1'];
- $buffer[$i]['line_text'] = $order_info['title'];
-
- $buffer[$i]['mvakode'] = $this->mvakode;
-
- if ($buffer[$i]['loc1'] && $this->auto_tax)
- {
- $mvakode =
$this->soXport->auto_tax($buffer[$i]['loc1']);
-
- if ($mvakode)
- {
- $buffer[$i]['mvakode'] =
$mvakode;
- }
- }
-
$update_voucher = false;
$sql = "SELECT bilagsnr, bilagsnr_ut FROM
fm_ecobilag WHERE external_voucher_id = '{$_data['KEY']}'";
$this->db->query($sql, __LINE__, __FILE__);
if ($this->db->next_record())
{
- $this->skip_update_voucher_id = true;
$update_voucher = true;
$bilagsnr = $this->db->f('bilagsnr');
- $buffer[$i]['bilagsnr'] = $bilagsnr;
- $this->receipt['message'][] =
array('msg' => "Oppdatert med nye data i arbeidsregister: {$_data['KEY']}");
+ $this->receipt['message'][] =
array('msg' => "Oppdatert med nye filer, key: {$_data['KEY']}, bestilling:
{$_data['PURCHASEORDERNO']}");
}
$sql = "SELECT bilagsnr FROM fm_ecobilagoverf
WHERE external_voucher_id = '{$_data['KEY']}'";
@@ -502,472 +310,9 @@
$this->db->query($sql, __LINE__, __FILE__);
if ($this->db->next_record())
{
- $this->skip_update_voucher_id = true;
- $update_voucher = true;
- $bilagsnr = $this->db->f('bilagsnr');
-
- $buffer[$i]['bilagsnr'] = $bilagsnr;
-
- $receipt = $this->rollback($bilagsnr);
-
- if (isset($receipt['message']))
- {
- $this->receipt['message'][] =
array('msg' => "Bilag rullet tilbake fra historikk : {$bilagsnr}");
- }
- else
- {
- $this->receipt['error'][] =
array('msg' => "Bilag ikke rullet tilbake fra historikk : {$bilagsnr},
Skanningreferanse: {$_data['KEY']}, FakturaNr: {$fakturanr}");
- }
+ $this->receipt['message'][] =
array('msg' => "Oppdatert med nye filer, key: {$_data['KEY']}, bestilling:
{$_data['PURCHASEORDERNO']}");
}
-
- $vendor_id = $_data['SUPPLIER.CODE'];
-
- $sql = 'SELECT id FROM fm_vendor WHERE id = ' .
(int)$vendor_id;
- $this->db->query($sql, __LINE__, __FILE__);
-
- if (!$_data['SUPPLIER.CODE'])
- {
- $this->receipt['error'][] = array('msg'
=> "LeverandørId ikke angitt for faktura: {$_data['SCANNINGNO']}");
- $this->skip_import = true;
- }
- else if (!$this->db->next_record())
- {
- $this->receipt['error'][] = array('msg'
=> "Importeres ikke: Ikke gyldig LeverandørId: {$_data['SUPPLIER.CODE']},
Skanningreferanse: {$_data['SCANNINGNO']}, FakturaNr: {$fakturanr}, fil:
{$file}");
- $this->skip_import = true;
-
- $to =
isset($this->config->config_data['import']['email_on_error']) &&
$this->config->config_data['import']['email_on_error'] ?
$this->config->config_data['import']['email_on_error'] : '';
-
- if ($to && !$this->skip_email)
- {
- $from = "Ikke
svar<address@hidden>";
- $body = "Ikke gyldig
leverandør, id: {$_data['SUPPLIER.CODE']}</br>";
- $body .= '<a href ="' .
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'property.uigeneric.edit',
- 'appname' =>
'property', 'type' => 'vendor'), false, true) . '">Link til å legge inn ny
leverandør</a>';
-
- try
- {
- $rc =
$this->send->msg('email', $to, 'Ikke gyldig leverandør ved import av faktura
til Portico', $body, '', '', '', $from, '', 'html');
- if ($rc)
- {
-
$this->receipt['message'][] = array('msg' => "epost sendt til {$to}");
- }
- }
- catch (phpmailerException $e)
- {
-
$this->receipt['error'][] = array('msg' => $e->getMessage());
- }
- }
- }
- else if ($order_info['vendor_id'] != $vendor_id)
- {
- $this->receipt['message'][] =
array('msg' => 'Ikke samsvar med leverandør på bestilling og mottatt faktura');
- }
-
- if ($this->auto_tax)
- {
- $buffer[$i]['mvakode'] =
$this->soXport->tax_b_account_override($buffer[$i]['mvakode'],
$order_info['spbudact_code']);
- $buffer[$i]['mvakode'] =
$this->soXport->tax_vendor_override($buffer[$i]['mvakode'], $vendor_id);
- }
-
- $buffer[$i]['kostra_id'] =
$this->default_kostra_id;//$this->soXport->get_kostra_id($buffer[$i]['loc1']);
-
- $buffer[$i]['merknad'] = $merknad;
- $buffer[$i]['splitt'] = $this->splitt;
- $buffer[$i]['kildeid'] = $this->kildeid;
- $buffer[$i]['spbudact_code'] =
$order_info['spbudact_code'];
- $buffer[$i]['typeid'] =
isset($invoice_common['type']) && $invoice_common['type'] ?
$invoice_common['type'] : 1;
- $buffer[$i]['regtid'] = $regtid;
-
- $buffer[$i]['spvend_code'] = $vendor_id;
-
- if (isset($order_info['janitor']) &&
$order_info['janitor'])
- {
- $buffer[$i]['oppsynsmannid'] =
$order_info['janitor'];
- }
-
- if (isset($order_info['supervisor']) &&
$order_info['supervisor'])
- {
- $buffer[$i]['saksbehandlerid'] =
$order_info['supervisor'];
- }
-
- if (isset($order_info['budget_responsible']) &&
$order_info['budget_responsible'])
- {
- $buffer[$i]['budsjettansvarligid'] =
$order_info['budget_responsible'];
- }
}
-
-//_debug_array($buffer);
-//_debug_array($this->receipt);
-//_debug_array($order_info['toarray']);
- if ($this->debug && $this->skip_import)
- {
- _debug_array("Skip import - file: {$file}");
- }
-
- if ($this->skip_import)
- {
- $this->skip_import = false;
- return false;
- }
- else
- {
- if ($update_voucher && $bilagsnr)
- {
- $this->db->query("DELETE FROM
fm_ecobilag WHERE external_voucher_id = '{$_data['KEY']}'", __LINE__, __FILE__);
- }
-
- if (!$bilagsnr)
- {
- $bilagsnr =
$this->invoice->next_bilagsnr();
-
- foreach ($buffer as &$entry)
- {
- $entry['bilagsnr'] = $bilagsnr;
- }
- }
-
- if ($order_info['toarray'] &&
(!$this->skip_email || !$this->debug))
- {
-
- $from = "Ikke svar<address@hidden>";
-
- $to = implode(';',
$order_info['toarray']);
-
- if
(isset($GLOBALS['phpgw_info']['server']['smtp_server']) &&
$GLOBALS['phpgw_info']['server']['smtp_server'])
- {
- $subject = 'Ny faktura venter
på behandling';
- $body = '<a href ="' .
$GLOBALS['phpgw']->link('/index.php', array('menuaction' =>
'property.uiinvoice2.index',
- 'voucher_id' =>
$bilagsnr, 'query' => $bilagsnr, 'user_lid' => 'all'), false, true) . '">Link
til fakturabehandling</a>';
-
- try
- {
- $rc =
$this->send->msg('email', $to, $subject, stripslashes($body), '', $cc, $bcc,
$from, '', 'html');
- }
- catch (phpmailerException $e)
- {
-
$this->receipt['error'][] = array('msg' => $e->getMessage());
- }
- }
- else
- {
- $this->receipt['error'][] =
array('msg' => lang('SMTP server is not set! (admin section)'));
- }
- }
-
- $GLOBALS['phpgw']->db->Exception_On_Error =
true;
-
- try
- {
- $bilagsnr =
$this->import_end_file($buffer);
-
- $received_amount =
$this->get_total_received((int)$order_id);
- $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)
- {
- if ($e)
- {
-
$GLOBALS['phpgw']->log->error(array(
- 'text' =>
'import_fra_agresso_X205::import() : error when trying to execute
import_end_file(): %1',
- 'p1' =>
$e->getMessage(),
- 'p2' => '',
- 'line' => __LINE__,
- 'file' => __FILE__
- ));
- $this->receipt['error'][] =
array('msg' => $e->getMessage());
- }
- return false;
- }
-
- $GLOBALS['phpgw']->db->Exception_On_Error =
false;
- return $bilagsnr;
- }
+ return $bilagsnr;
}
-
- function get_total_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;
-
- $this->db->query("SELECT type FROM fm_orders WHERE id =
$order_id", __LINE__, __FILE__);
- $this->db->next_record();
- $order_type = $this->db->f('type');
-
- $order_info = array();
- $toarray = array();
-
- switch ($order_type)
- {
- case 'ticket':
- $sql = "SELECT
fm_tts_tickets.location_code,"
- . " fm_tts_tickets.vendor_id,"
- . " fm_tts_tickets.b_account_id
as account_id,"
- . " fm_tts_tickets.ecodimb,"
- . " fm_tts_tickets.cat_id as
category,"
- . " fm_tts_tickets.ordered_by
as user_id,"
- . " fm_tts_tickets.subject as
title"
- . " FROM fm_tts_tickets"
- . " WHERE
fm_tts_tickets.order_id = {$order_id}";
-
- break;
- case 'workorder':
- $sql = "SELECT
fm_workorder.location_code,"
- . " fm_workorder.vendor_id,"
- . " fm_workorder.account_id,"
- . " fm_project.ecodimb as
project_ecodimb,"
- . " fm_workorder.ecodimb,"
- . " fm_workorder.category,"
- . " fm_workorder.user_id,"
- . " fm_workorder.title"
- . " FROM fm_workorder
{$this->join} fm_project ON fm_workorder.project_id = fm_project.id"
- . " WHERE fm_workorder.id =
{$order_id}";
- break;
-
- default:
- throw new Exception("{$order_type} not
supported");
- break;
- }
-
- $this->db->query($sql, __LINE__, __FILE__);
- if ($this->db->next_record())
- {
- $order_info['order_exist'] = true;
- }
- if ($this->db->f('location_code'))
- {
- $parts = explode('-',
$this->db->f('location_code'));
- $order_info['dima'] = implode('', $parts);
- $order_info['loc1'] = $parts[0];
- }
-
- $order_info['vendor_id'] = $this->db->f('vendor_id');
- $order_info['spbudact_code'] =
$this->db->f('account_id');
- $ecodimb = $this->db->f('ecodimb');
- $order_info['dimb'] = $ecodimb ? $ecodimb :
$this->db->f('project_ecodimb');
- $order_info['dime'] = $this->db->f('category');
- $order_info['title'] = $this->db->f('title', true);
-
- $janitor_user_id = $this->db->f('user_id');
- $order_info['janitor'] =
$GLOBALS['phpgw']->accounts->get($janitor_user_id)->lid;
- $supervisor_user_id =
$this->invoice->get_default_dimb_role_user(2, $order_info['dimb']);
- if ($supervisor_user_id)
- {
- $order_info['supervisor'] =
$GLOBALS['phpgw']->accounts->get($supervisor_user_id)->lid;
- }
-
- $budget_responsible_user_id =
$this->invoice->get_default_dimb_role_user(3, $order_info['dimb']);
- if ($budget_responsible_user_id)
- {
- $order_info['budget_responsible'] =
$GLOBALS['phpgw']->accounts->get($budget_responsible_user_id)->lid;
- }
-
- if (!$order_info['budget_responsible'])
- {
- $order_info['budget_responsible'] =
isset($this->config->config_data['import']['budget_responsible']) &&
$this->config->config_data['import']['budget_responsible'] ?
$this->config->config_data['import']['budget_responsible'] : 'karhal';
- }
-
- $order_info['toarray'] = $toarray;
- return $order_info;
- }
-
- function import_end_file( $buffer )
- {
- try
- {
- $num = $this->soXport->add($buffer,
$this->skip_update_voucher_id);
- }
- catch (Exception $e)
- {
- throw $e;
- }
-
- if ($this->debug)
- {
- _debug_array("import_end_file() ");
- echo 'buffer: ';
- _debug_array($buffer);
- _debug_array("num: {$num}");
- }
-
- if ($num > 0)
- {
- $this->receipt['message'][] = array('msg' =>
"Importert {$num} poster til bilag {$buffer[0]['bilagsnr']}, KEY:
{$buffer[0]['external_voucher_id']}");
- return $buffer[0]['bilagsnr'];
- }
- return false;
- }
- /**
- * rollback er initiert fra import-filteret
- * @param integer $rollback_internal_voucher
- * @return array Receipt
- */
- public function rollback( $rollback_internal_voucher )
- {
- $voucher =
$this->select_invoice_rollback($rollback_internal_voucher);
-
- if ($this->db->get_transaction())
- {
- $this->global_lock = true;
- }
- else
- {
- $this->global_lock = false;
- $this->db->transaction_begin();
- }
-
- foreach ($voucher as $line)
- {
- $this->bilag_update_overf($line);
-
- if ($line['pmwrkord_code'])
- {
-
$orders_affected[$line['pmwrkord_code']] = true;
-
- $Belop = sprintf("%01.2f",
$line['ordrebelop']) * 100;
-
- if ($line['dimd'] % 2 == 0)
- {
- $actual_cost_field =
'act_mtrl_cost';
- }
- else
- {
- $actual_cost_field =
'act_vendor_cost';
- }
-
- $operator = '-';
-
-
$this->soXport->correct_actual_cost($line['pmwrkord_code'], $Belop,
$actual_cost_field, $operator);
- }
-
- //Slett fra avviks tabell
- //
$this->soXport->delete_avvik($line['bilagsnr']);
- //Slett fra arkiv
-
$this->soXport->delete_invoice($line['bilagsnr']);
- }
-
- $antall = count($voucher);
- if ($antall > 0)
- {
- if ( $rollback_internal_voucher)
- {
- if (!$this->global_lock)
- {
- $this->db->transaction_commit();
- }
-
- $receipt['message'][] = array('msg' =>
$antall . ' ' . lang('bilag/underbilag rullet tilbake'));
- }
- else
- {
- $this->db->transaction_abort();
- $receipt['error'][] = array('msg' =>
'Noe gikk galt!');
- }
- }
- else
- {
- if (!$this->global_lock)
- {
- $this->db->transaction_commit();
- }
-
- $receipt['error'][] = array('msg' =>
lang('Sorry - No hits'));
- }
- return $receipt;
- }
-
- protected function select_invoice_rollback(
$rollback_internal_voucher )
- {
- if ($rollback_internal_voucher)
- {
- $rollback_internal_voucher =
(int)$rollback_internal_voucher;
- $sql = "SELECT * FROM fm_ecobilagoverf WHERE
bilagsnr = {$rollback_internal_voucher} AND manual_record IS NULL";
- }
- else
- {
- return array();
- }
- $this->db->query($sql, __LINE__, __FILE__);
-
- $invoice_rollback = array();
- while ($this->db->next_record())
- {
- $invoice_rollback[] = array (
- 'id' => $this->db->f('id'),
- 'bilagsnr' => $this->db->f('bilagsnr'),
- 'bilagsnr_ut' =>
$this->db->f('bilagsnr_ut'),
- 'kidnr' => $this->db->f('kidnr'),
- 'typeid' => $this->db->f('typeid'),
- 'kildeid' => $this->db->f('kildeid'),
- 'pmwrkord_code' =>
$this->db->f('pmwrkord_code'),
- 'belop' => $this->db->f('belop'),
- 'fakturadato' =>
$this->db->f('fakturadato'),
- 'periode' => $this->db->f('periode'),
- 'periodization' =>
$this->db->f('periodization'),
- 'periodization_start' =>
$this->db->f('periodization_start'),
- 'forfallsdato' =>
$this->db->f('forfallsdato'),
- 'fakturanr' =>
$this->db->f('fakturanr'),
- 'spbudact_code' =>
$this->db->f('spbudact_code'),
- 'regtid' => $this->db->f('regtid'),
- 'artid' => $this->db->f('artid'),
- 'godkjentbelop' =>
(int)$this->db->f('godkjentbelop') == 0 ? $this->db->f('belop') :
$this->db->f('godkjentbelop'), //restore original amount
- 'spvend_code' =>
$this->db->f('spvend_code'),
- 'dima' => $this->db->f('dima'),
- 'loc1' => $this->db->f('loc1'),
- 'dimb' => $this->db->f('dimb'),
- 'mvakode' => $this->db->f('mvakode'),
- 'dimd' => $this->db->f('dimd'),
- 'dime' => $this->db->f('dime'),
- 'project_id' =>
$this->db->f('project_id'),
- 'kostra_id' =>
$this->db->f('kostra_id'),
- 'item_type' =>
$this->db->f('item_type'),
- 'item_id' => $this->db->f('item_id'),
- 'oppsynsmannid' =>
$this->db->f('oppsynsmannid'),
- 'saksbehandlerid' =>
$this->db->f('saksbehandlerid'),
- 'budsjettansvarligid' =>
$this->db->f('budsjettansvarligid'),
- 'oppsynsigndato' =>
$this->db->f('oppsynsigndato'),
- 'saksigndato' =>
$this->db->f('saksigndato'),
- // 'budsjettsigndato' =>
$this->db->f('budsjettsigndato'), // må anvises på nytt etter tilbakerulling
- 'merknad' => $this->db->f('merknad',
true),
- 'line_text' =>
$this->db->f('line_text', true),
- 'splitt' => $this->db->f('splitt'),
- 'ordrebelop' =>
$this->db->f('ordrebelop'),
- // 'utbetalingid' =>
$this->db->f('utbetalingid'),
- // 'utbetalingsigndato' =>
$this->db->f('utbetalingsigndato'),
- 'external_ref' =>
$this->db->f('external_ref'),
- 'external_voucher_id' =>
$this->db->f('external_voucher_id'),
- 'currency' => $this->db->f('currency'),
- 'process_log' =>
$this->db->f('process_log', true),
- 'process_code' =>
$this->db->f('process_code'),
- );
- }
-
- return $invoice_rollback;
- }
-
}
\ No newline at end of file
Modified: branches/Version-2_0-branch/rental/inc/class.socomposite.inc.php
===================================================================
--- branches/Version-2_0-branch/rental/inc/class.socomposite.inc.php
2017-02-06 13:19:56 UTC (rev 16255)
+++ branches/Version-2_0-branch/rental/inc/class.socomposite.inc.php
2017-02-06 13:22:10 UTC (rev 16256)
@@ -80,14 +80,14 @@
if (isset($filters['availability_date_from']) &&
$filters['availability_date_from'] != '')
{
- $availability_date_from =
strtotime($filters['availability_date_from']);
-// $availability_date_from =
phpgwapi_datetime::date_to_timestamp($filters['availability_date_from']);
+// $availability_date_from =
strtotime($filters['availability_date_from']);
+ $availability_date_from =
phpgwapi_datetime::date_to_timestamp($filters['availability_date_from']);
}
if (isset($filters['availability_date_to']) &&
$filters['availability_date_to'] != '')
{
- $availability_date_to =
strtotime($filters['availability_date_to']);
-// $availability_date_to =
phpgwapi_datetime::date_to_timestamp($filters['availability_date_to']);
+// $availability_date_to =
strtotime($filters['availability_date_to']);
+ $availability_date_to =
phpgwapi_datetime::date_to_timestamp($filters['availability_date_to']);
}
switch ($filters['has_contract'])
Modified: branches/Version-2_0-branch/rental/inc/class.uicontract.inc.php
===================================================================
--- branches/Version-2_0-branch/rental/inc/class.uicontract.inc.php
2017-02-06 13:19:56 UTC (rev 16255)
+++ branches/Version-2_0-branch/rental/inc/class.uicontract.inc.php
2017-02-06 13:22:10 UTC (rev 16256)
@@ -1265,7 +1265,7 @@
);
$temlate_counter++;
}
-
+/*
$access = $this->acl->check('.', PHPGW_ACL_READ,
'catch');
if ($access)
{
@@ -1310,7 +1310,7 @@
);
}
}
-
+*/
$code = <<<JS
var thousandsSeparator = '$this->thousandsSeparator';
var decimalSeparator = '$this->decimalSeparator';
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [16256] Stable: Merge 16252:16255 from trunk,
sigurdne <=