[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Fmsystem-commits] [11680] Merge 11676:11679 from trunk
From: |
Sigurd Nes |
Subject: |
[Fmsystem-commits] [11680] Merge 11676:11679 from trunk |
Date: |
Wed, 12 Feb 2014 21:46:52 +0000 |
Revision: 11680
http://svn.sv.gnu.org/viewvc/?view=rev&root=fmsystem&revision=11680
Author: sigurdne
Date: 2014-02-12 21:46:51 +0000 (Wed, 12 Feb 2014)
Log Message:
-----------
Merge 11676:11679 from trunk
Modified Paths:
--------------
branches/Version-1_0-branch/property/inc/class.soworkorder.inc.php
branches/Version-1_0-branch/property/inc/import/default/Import_fra_Service_EBF
Property Changed:
----------------
branches/Version-1_0-branch/
Property changes on: branches/Version-1_0-branch
___________________________________________________________________
Modified: svn:mergeinfo
-
/trunk:6439-6441,6443,6445-6447,6449-6464,6466-6468,6470-6474,6476-6477,6479-6480,6483-6488,6490-6491,6493-6494,6496-6501,6503-6504,6506,6508,6510-6511,6513,6515-6516,6518,6520-6524,6526-6528,6533-6534,6536-6541,6543-6565,6567,6569,6571-6576,6578,6580-6586,6588-6596,6598-6600,6602-6604,6606-6607,6609-6611,6613-6625,6629-6639,6641-6643,6645-6646,6648,6650-6654,6656-6659,6661-6663,6665-6666,6668-6669,6672-6673,6675,6677-6678,6680,6682-6686,6688-6717,6719,6721-6722,6724-6728,6730,6732-6734,6736-6739,6741,6743,6745-6746,6748-6756,6758-6762,6764,6766-6788,6790,6792-6798,6800-6814,6816-6819,6821-6822,6824-6826,6828-6837,6839,6841,6843-6849,6851,6853-6869,6871-6874,6876-6877,6879,6881,6883,6885-6886,6888-6893,6895-6897,6899-6901,6903,6905-6907,6909,6911-6929,6931-6936,6938-6947,6949,6951,6953,6955-6956,6958-6959,6961-6968,6970-6971,6973-6974,6976-6978,6980,6982-7017,7019-7025,7027-7035,7037-7039,7041-7045,7047-7055,7057,7059-7065,7067-7069,7071,7073,7075-7076,7078,7080-7081,7083,7085,7087,7089-7097,7099-7102,7104-7105,7107-7111,7113-7120,7122-7124,7126-7129,7131,7133-7141,7143,7145-7146,7148-7150,7152-7153,7155-7158,7160-7164,7166-7167,7169-7170,7172,7174,7176,7178,7180-7181,7183,7185,7187-7188,7190,7192-7196,7198-7199,7201-7203,7205,7207,7209-7210,7212,7214,7216-7217,7219-7222,7224-7226,7228-7229,7231,7233-7234,7236-7238,7240-7241,7243-7244,7246,7248,7250,7252-7256,7258-7259,7261-7264,7266-7273,7275-7279,7281-7332,7334-7338,7340-7348,7350,7352-7353,7355-7361,7363-7366,7368-7370,7372,7374,7376,7378,7380-7386,7388-7400,7402,7404-7433,7435-7439,7441-7446,7448-7458,7460-7469,7471-7483,7485-7487,7489-7490,7492,7494,7496-7497,7499,7501-7502,7504,7506-7507,7509-7511,7513-7517,7519-7521,7523,7525,7527-7529,7531,7533,7535-7538,7540-7542,7544-7549,7551-7552,7554-7561,7563,7565,7567-7573,7575-7578,7580-7584,7586-7591,7593-7624,7627-7636,7638-7656,7658-7718,7720-7732,7734,7736,7738-7750,7754-7759,7761-7767,7769-7780,7782,7784-7809,7811-7812,7814-7835,7837-7847,7849-7887,7889-7895,7897,7899,7901,7903-7905,7907-7921,7923-7925,7927-7933,7935,7937-7952,7954-7968,7970-7974,7976,7978-7979,7981-7982,7984-7988,7990-7992,7994-8041,8043-8066,8068-8087,8089,8091-8108,8110-8124,8126-8129,8131,8133-8150,8152-8154,8156-8162,8164-8167,8169-8170,8172-8179,8181,8183-8196,8198-8207,8209-8211,8213-8214,8216-8217,8219-8220,8222,8224-8225,8227-8247,8249,8251,8253-8282,8284-8352,8354-8368,8370-8396,8398-8430,8432,8434-8440,8442-8445,8447-8453,8455-8456,8458,8460,8462-8464,8466-8473,8475-8479,8481,8483-8501,8503-8523,8525,8527-8531,8533,8535-8536,8538-8550,8552-8554,8556-8557,8559-8579,8581-8587,8589,8591-8592,8594-8595,8597-8601,8603-8610,8612-8613,8615,8617,8619-8645,8647-8650,8652-8661,8663-8666,8668-8669,8671-8683,8685-8691,8693-8730,8732-8737,8739,8741-8767,8769,8771-8772,8774,8776-8797,8799-8812,8814-8819,8821,8823-8833,8835-8837,8839,8841,8843-8849,8852-8858,8860-8867,8869-8870,8872,8874-8877,8879,8881,8883-8888,8890,8892-8901,8903-8911,8913-8917,8920-8923,8925-8933,8935-8938,8940-8943,8945,8947-8948,8950,8952-8953,8955-8962,8964,8966,8968-8970,8972-8975,8977-8983,8985-8993,8995-9001,9003,9005,9007,9009,9011-9019,9021-9023,9025,9027-9028,9030-9044,9046-9047,9049-9050,9052-9056,9058-9059,9061,9063-9064,9066-9068,9071-9092,9094-9112,9114-9117,9119,9121-9160,9162-9166,9169-9207,9209-9211,9213-9215,9217,9219,9221-9253,9255,9257,9259-9260,9262,9264-9269,9271-9273,9275,9277-9278,9280,9282-9283,9285-9289,9291-9299,9301-9310,9312-9313,9315-9320,9322-9324,9326-9338,9340-9342,9344,9346-9348,9350-9358,9360-9362,9364-9366,9368-9374,9376-9382,9384,9386,9388-9390,9392-9396,9398-9402,9404-9410,9412,9414,9416-9417,9419-9425,9427,9429-9430,9432,9434-9463,9465-9502,9504-9506,9508-9521,9523-9526,9528,9530-9537,9539,9541-9551,9553,9555-9556,9558-9578,9580-9581,9583,9585,9587,9589,9591-9624,9626-9655,9657-9700,9702-9726,9728-9729,9731-9749,9751,9753-9754,9756-9832,9834-9836,9838-9839,9841-9846,9848-9850,9852-9858,9860-9863,9865,9867,9869-9871,9873-9893,9895,9897-9912,9914-9919,9921-9928,9930-9952,9954,9956,9958-9963,9965-9993,9995-9997,9999-10001,10003-10004,10006-10007,10009-10012,10014-10031,10033-10073,10075-10107,10109-10165,10167-10210,10222-10226,10228-10311,10313-10378,10380,10382,10384-10393,10395-10478,10480-10482,10484-10494,10496-10503,10505,10507,10509-10521,10523,10525-10528,10530-10540,10542-10543,10545-10568,10570-10584,10586-10590,10592-10594,10596,10598-10599,10601-10611,10613,10615,10617-10626,10628-10636,10638,10640-10654,10656-10658,10660,10662-10672,10674,10676-10682,10684,10686,10688-10690,10692-10694,10696-10697,10699-10701,10703,10705-10706,10708-10724,10726-10731,10734,10736-10748,10750-10796,10798-10939,10941,10943,10945,10947-10953,10955,10957-10961,10963,10965-10966,10968-11001,11003-11030,11032-11034,11036,11038,11040,11042-11053,11055-11059,11061-11062,11064-11068,11070-11073,11075-11077,11079-11083,11085,11087-11088,11090-11093,11095-11108,11110-11111,11113,11115-11116,11118-11120,11122,11124-11129,11131-11132,11134,11136,11138,11140-11151,11153-11161,11163-11185,11187-11189,11191-11229,11231,11233,11235-11264,11266-11267,11269-11278,11280-11282,11284-11291,11293-11295,11297,11299-11302,11304,11306,11309,11311,11313-11316,11318-11323,11325-11332,11334,11336-11344,11346,11348-11354,11356,11358-11360,11363-11386,11388-11389,11391-11392,11394,11396-11403,11405-11406,11408,11410,11412,11415,11417,11419-11420,11422,11424-11429,11431-11442,11444-11445,11447-11460,11462-11464,11466-11470,11472-11475,11477-11478,11480-11487,11489-11492,11494,11496,11498,11500-11502,11504-11506,11508,11510-11511,11513,11515,11517-11523,11525-11526,11528-11531,11533,11535-11538,11540-11546,11548-11560,11563-11572,11574,11576,11578,11580-11581,11583,11585,11587,11589-11592,11594-11595,11597,11599,11601,11603,11605-11607,11609-11611,11613,11615-11619,11621-11622,11624-11630,11632,11634-11635,11637,11639-11640,11642,11644-11655,11657-11659,11661-11675
+
/trunk:6439-6441,6443,6445-6447,6449-6464,6466-6468,6470-6474,6476-6477,6479-6480,6483-6488,6490-6491,6493-6494,6496-6501,6503-6504,6506,6508,6510-6511,6513,6515-6516,6518,6520-6524,6526-6528,6533-6534,6536-6541,6543-6565,6567,6569,6571-6576,6578,6580-6586,6588-6596,6598-6600,6602-6604,6606-6607,6609-6611,6613-6625,6629-6639,6641-6643,6645-6646,6648,6650-6654,6656-6659,6661-6663,6665-6666,6668-6669,6672-6673,6675,6677-6678,6680,6682-6686,6688-6717,6719,6721-6722,6724-6728,6730,6732-6734,6736-6739,6741,6743,6745-6746,6748-6756,6758-6762,6764,6766-6788,6790,6792-6798,6800-6814,6816-6819,6821-6822,6824-6826,6828-6837,6839,6841,6843-6849,6851,6853-6869,6871-6874,6876-6877,6879,6881,6883,6885-6886,6888-6893,6895-6897,6899-6901,6903,6905-6907,6909,6911-6929,6931-6936,6938-6947,6949,6951,6953,6955-6956,6958-6959,6961-6968,6970-6971,6973-6974,6976-6978,6980,6982-7017,7019-7025,7027-7035,7037-7039,7041-7045,7047-7055,7057,7059-7065,7067-7069,7071,7073,7075-7076,7078,7080-7081,7083,7085,7087,7089-7097,7099-7102,7104-7105,7107-7111,7113-7120,7122-7124,7126-7129,7131,7133-7141,7143,7145-7146,7148-7150,7152-7153,7155-7158,7160-7164,7166-7167,7169-7170,7172,7174,7176,7178,7180-7181,7183,7185,7187-7188,7190,7192-7196,7198-7199,7201-7203,7205,7207,7209-7210,7212,7214,7216-7217,7219-7222,7224-7226,7228-7229,7231,7233-7234,7236-7238,7240-7241,7243-7244,7246,7248,7250,7252-7256,7258-7259,7261-7264,7266-7273,7275-7279,7281-7332,7334-7338,7340-7348,7350,7352-7353,7355-7361,7363-7366,7368-7370,7372,7374,7376,7378,7380-7386,7388-7400,7402,7404-7433,7435-7439,7441-7446,7448-7458,7460-7469,7471-7483,7485-7487,7489-7490,7492,7494,7496-7497,7499,7501-7502,7504,7506-7507,7509-7511,7513-7517,7519-7521,7523,7525,7527-7529,7531,7533,7535-7538,7540-7542,7544-7549,7551-7552,7554-7561,7563,7565,7567-7573,7575-7578,7580-7584,7586-7591,7593-7624,7627-7636,7638-7656,7658-7718,7720-7732,7734,7736,7738-7750,7754-7759,7761-7767,7769-7780,7782,7784-7809,7811-7812,7814-7835,7837-7847,7849-7887,7889-7895,7897,7899,7901,7903-7905,7907-7921,7923-7925,7927-7933,7935,7937-7952,7954-7968,7970-7974,7976,7978-7979,7981-7982,7984-7988,7990-7992,7994-8041,8043-8066,8068-8087,8089,8091-8108,8110-8124,8126-8129,8131,8133-8150,8152-8154,8156-8162,8164-8167,8169-8170,8172-8179,8181,8183-8196,8198-8207,8209-8211,8213-8214,8216-8217,8219-8220,8222,8224-8225,8227-8247,8249,8251,8253-8282,8284-8352,8354-8368,8370-8396,8398-8430,8432,8434-8440,8442-8445,8447-8453,8455-8456,8458,8460,8462-8464,8466-8473,8475-8479,8481,8483-8501,8503-8523,8525,8527-8531,8533,8535-8536,8538-8550,8552-8554,8556-8557,8559-8579,8581-8587,8589,8591-8592,8594-8595,8597-8601,8603-8610,8612-8613,8615,8617,8619-8645,8647-8650,8652-8661,8663-8666,8668-8669,8671-8683,8685-8691,8693-8730,8732-8737,8739,8741-8767,8769,8771-8772,8774,8776-8797,8799-8812,8814-8819,8821,8823-8833,8835-8837,8839,8841,8843-8849,8852-8858,8860-8867,8869-8870,8872,8874-8877,8879,8881,8883-8888,8890,8892-8901,8903-8911,8913-8917,8920-8923,8925-8933,8935-8938,8940-8943,8945,8947-8948,8950,8952-8953,8955-8962,8964,8966,8968-8970,8972-8975,8977-8983,8985-8993,8995-9001,9003,9005,9007,9009,9011-9019,9021-9023,9025,9027-9028,9030-9044,9046-9047,9049-9050,9052-9056,9058-9059,9061,9063-9064,9066-9068,9071-9092,9094-9112,9114-9117,9119,9121-9160,9162-9166,9169-9207,9209-9211,9213-9215,9217,9219,9221-9253,9255,9257,9259-9260,9262,9264-9269,9271-9273,9275,9277-9278,9280,9282-9283,9285-9289,9291-9299,9301-9310,9312-9313,9315-9320,9322-9324,9326-9338,9340-9342,9344,9346-9348,9350-9358,9360-9362,9364-9366,9368-9374,9376-9382,9384,9386,9388-9390,9392-9396,9398-9402,9404-9410,9412,9414,9416-9417,9419-9425,9427,9429-9430,9432,9434-9463,9465-9502,9504-9506,9508-9521,9523-9526,9528,9530-9537,9539,9541-9551,9553,9555-9556,9558-9578,9580-9581,9583,9585,9587,9589,9591-9624,9626-9655,9657-9700,9702-9726,9728-9729,9731-9749,9751,9753-9754,9756-9832,9834-9836,9838-9839,9841-9846,9848-9850,9852-9858,9860-9863,9865,9867,9869-9871,9873-9893,9895,9897-9912,9914-9919,9921-9928,9930-9952,9954,9956,9958-9963,9965-9993,9995-9997,9999-10001,10003-10004,10006-10007,10009-10012,10014-10031,10033-10073,10075-10107,10109-10165,10167-10210,10222-10226,10228-10311,10313-10378,10380,10382,10384-10393,10395-10478,10480-10482,10484-10494,10496-10503,10505,10507,10509-10521,10523,10525-10528,10530-10540,10542-10543,10545-10568,10570-10584,10586-10590,10592-10594,10596,10598-10599,10601-10611,10613,10615,10617-10626,10628-10636,10638,10640-10654,10656-10658,10660,10662-10672,10674,10676-10682,10684,10686,10688-10690,10692-10694,10696-10697,10699-10701,10703,10705-10706,10708-10724,10726-10731,10734,10736-10748,10750-10796,10798-10939,10941,10943,10945,10947-10953,10955,10957-10961,10963,10965-10966,10968-11001,11003-11030,11032-11034,11036,11038,11040,11042-11053,11055-11059,11061-11062,11064-11068,11070-11073,11075-11077,11079-11083,11085,11087-11088,11090-11093,11095-11108,11110-11111,11113,11115-11116,11118-11120,11122,11124-11129,11131-11132,11134,11136,11138,11140-11151,11153-11161,11163-11185,11187-11189,11191-11229,11231,11233,11235-11264,11266-11267,11269-11278,11280-11282,11284-11291,11293-11295,11297,11299-11302,11304,11306,11309,11311,11313-11316,11318-11323,11325-11332,11334,11336-11344,11346,11348-11354,11356,11358-11360,11363-11386,11388-11389,11391-11392,11394,11396-11403,11405-11406,11408,11410,11412,11415,11417,11419-11420,11422,11424-11429,11431-11442,11444-11445,11447-11460,11462-11464,11466-11470,11472-11475,11477-11478,11480-11487,11489-11492,11494,11496,11498,11500-11502,11504-11506,11508,11510-11511,11513,11515,11517-11523,11525-11526,11528-11531,11533,11535-11538,11540-11546,11548-11560,11563-11572,11574,11576,11578,11580-11581,11583,11585,11587,11589-11592,11594-11595,11597,11599,11601,11603,11605-11607,11609-11611,11613,11615-11619,11621-11622,11624-11630,11632,11634-11635,11637,11639-11640,11642,11644-11655,11657-11659,11661-11675,11677-11679
Modified: branches/Version-1_0-branch/property/inc/class.soworkorder.inc.php
===================================================================
--- branches/Version-1_0-branch/property/inc/class.soworkorder.inc.php
2014-02-12 21:44:09 UTC (rev 11679)
+++ branches/Version-1_0-branch/property/inc/class.soworkorder.inc.php
2014-02-12 21:46:51 UTC (rev 11680)
@@ -808,7 +808,7 @@
$workorder['obligation'] += $entry['sum_oblications'];
}
}
- else
+ else
{
$workorder['actual_cost'] +=
$entry['actual_cost'];
@@ -1836,17 +1836,18 @@
/**
* Fiktiv periodisering over 12 mnd med startperiode for
inneværende mnd for løpende som ikke er periodisert
* Hopper over historiske år.
- * Start-periode blir måned for første betaling dersom
den er før inneværende måned
- * ellers: Start-periode blir måned for start-dato for
bestilling dersom den ligger frem i tid
+ * Start-periode blir måned for første betaling dersom
den er før inneværende måned
+ * ellers: Start-periode blir måned for start-dato for
bestilling dersom den ligger frem i tid
* ellers: Dersom start-dato for bestilling er passert -
blir start-periode inneværende måned.
**/
$fictive_period = array();
+ $exclude_from_fictive_period = array();
+ $exclude_year_from_fictive_period = array();
$order_budget = array();
if($continuous && $calculate_fictive_periods)
{
//First payment;
- $sql = "SELECT periode"
- . " FROM fm_workorder {$this->join}
fm_orders_paid_or_pending_view ON fm_workorder.id =
fm_orders_paid_or_pending_view.order_id"
+ $sql = "SELECT periode FROM
fm_orders_paid_or_pending_view"
. " WHERE order_id = '{$order_id}' AND periode
> " . date('Y') . '00'
. " ORDER BY periode ASC";
@@ -1855,9 +1856,8 @@
$current_paid_period =
(int)$this->db->f('periode');
/*
- //total payment;
- $sql = "SELECT sum(actual_cost) AS actual_cost"
- . " FROM fm_workorder {$this->join}
fm_orders_paid_or_pending_view ON fm_workorder.id =
fm_orders_paid_or_pending_view.order_id"
+ //FIXME total payment - if needed;
+ $sql = "SELECT sum(amount) AS actual_cost FROM
fm_orders_paid_or_pending_view"
. " WHERE order_id = '{$order_id}' AND periode
> " . date('Y') . '00';
$this->db->query($sql,__LINE__,__FILE__);
@@ -1888,18 +1888,6 @@
$_sum_year_combined_cost =
$sum_year_combined_cost[$_budget['year']];
-/*
- $_sum_year_combined_cost =
$sum_year_combined_cost[$_budget['year']] - $_actual_cost;
-
-
if($sum_year_combined_cost[$_budget['year']] > 0 )
- {
-
$_sum_year_combined_cost = $_sum_year_combined_cost < 0 ? 0 :
$_sum_year_combined_cost;
- }
- else
- {
-
$_sum_year_combined_cost = $_sum_year_combined_cost > 0 ? 0 :
$_sum_year_combined_cost;
- }
-*/
$distribution_key = 1/(13 -
$_current_month);
for ($i = $_current_month;
$i<13; $i++)
@@ -1921,6 +1909,10 @@
}
else
{
+ //FIXME
+
$exclude_from_fictive_period[$_period] = true;
+
$exclude_year_from_fictive_period[$_budget['year']] = true;
+
$order_budget[$_period] =
$_budget;
}
unset($_budget);
@@ -2024,6 +2016,8 @@
}
}
+ //FIXME
+ //else if
(!isset($exclude_from_fictive_period[$entry['periode']]))
else
{
$orders_paid_or_pending[] = $entry;
@@ -2031,6 +2025,61 @@
}
+ //FIXME - probably not usable
+/*
+ if($continuous && $calculate_fictive_periods)
+ {
+ $_remaining_actual_cost = $_actual_cost;
+
+ foreach ($order_budget as $period => $_budget)
+ {
+
+ if((int)$period >=
(int)$current_paid_period)
+ {
+
+ if($_actual_cost > 0)
+ {
+
if($_budget['combined_cost'] > $_remaining_actual_cost)
+ {
+
$partial_actual_cost = $_remaining_actual_cost;
+
$_remaining_actual_cost = 0;
+ }
+ else
+ {
+
$partial_actual_cost = $_budget['combined_cost'];
+
$_remaining_actual_cost -= $_budget['combined_cost'];
+ }
+ }
+ else
+ {
+
if($_budget['combined_cost'] < $_remaining_actual_cost)
+ {
+
$partial_actual_cost = $_remaining_actual_cost;
+
$_remaining_actual_cost = 0;
+ }
+ else
+ {
+
$partial_actual_cost = $_budget['combined_cost'];
+
$_remaining_actual_cost -= $_budget['combined_cost'];
+ }
+ }
+
+ $orders_paid_or_pending[] =
array
+ (
+ 'periode'
=> $period,
+ 'actual_cost'
=> $partial_actual_cost,
+ 'periodization'
=> false,
+ );
+ }
+
+ }
+
+ unset($period);
+ unset($_budget);
+ }
+*/
+
+
foreach ( $orders_paid_or_pending as
$_orders_paid_or_pending)
{
@@ -2046,7 +2095,7 @@
$_found = false;
-
if(isset($_orders_paid_or_pending['periodization']) &&
$_orders_paid_or_pending['periodization'])
+
if(isset($_orders_paid_or_pending['periodization']) &&
$_orders_paid_or_pending['periodization'] &&
!isset($exclude_year_from_fictive_period[$year]))
{
$order_budget[$periode]['actual_cost']
+= $_orders_paid_or_pending['actual_cost'];
$order_budget[$periode]['actual_period'] = $periode;
@@ -2147,7 +2196,7 @@
$values[] = array
(
'year'
=> $_budget['year'],
- 'month'
=> $_budget['month'] > 0 ? sprintf("%02s", $_budget['month']) : '',
+ 'month'
=> $_budget['month'] > 0 ? sprintf("%02s", $_budget['month']) : '00',
'period'
=> $period,
'budget'
=> $_budget['budget'],
'combined_cost' =>
$_budget['combined_cost'],
Modified:
branches/Version-1_0-branch/property/inc/import/default/Import_fra_Service_EBF
===================================================================
---
branches/Version-1_0-branch/property/inc/import/default/Import_fra_Service_EBF
2014-02-12 21:44:09 UTC (rev 11679)
+++
branches/Version-1_0-branch/property/inc/import/default/Import_fra_Service_EBF
2014-02-12 21:46:51 UTC (rev 11680)
@@ -1,77 +1,76 @@
<?php
+
/**
- * phpGroupWare - property: a Facilities Management System.
- *
- * @author Sigurd Nes <address@hidden>
- * @copyright Copyright (C) 2003,2004,2005,2006,2007 Free Software
Foundation, Inc. http://www.fsf.org/
- * This file is part of phpGroupWare.
- *
- * phpGroupWare is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2 of the License, or
- * (at your option) any later version.
- *
- * phpGroupWare is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with phpGroupWare; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301
USA
- *
- * @license http://www.gnu.org/licenses/gpl.html GNU General Public
License
- * @internal Development of this application was funded by
http://www.bergen.kommune.no/bbb_/ekstern/
- * @package property
- * @subpackage import
- * @version $Id: Import_fra_Service,v 1.19 2007/03/18 16:33:16 sigurdne
Exp $
- */
+ * phpGroupWare - property: a Facilities Management System.
+ *
+ * @author Sigurd Nes <address@hidden>
+ * @copyright Copyright (C) 2003,2004,2005,2006,2007 Free Software
Foundation, Inc. http://www.fsf.org/
+ * This file is part of phpGroupWare.
+ *
+ * phpGroupWare is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * phpGroupWare is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with phpGroupWare; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
02110-1301 USA
+ *
+ * @license http://www.gnu.org/licenses/gpl.html GNU General Public
License
+ * @internal Development of this application was funded by
http://www.bergen.kommune.no/bbb_/ekstern/
+ * @package property
+ * @subpackage import
+ * @version $Id: Import_fra_Service,v 1.19 2007/03/18 16:33:16 sigurdne
Exp $
+ */
/**
* Description
* @package property
*/
-
class import_conv
{
+
var $currentrecord = array(); //used for buffering to allow uid
lines to go first
var $id = -1;
- var $kildeid=1;
- var $splitt=0;
+ var $kildeid = 1;
+ var $splitt = 0;
var $type = 'csv';
var $header_count = 18;
var $soXport;
var $invoice;
-
var $import = array(
- 'Bestilling' => 'pmwrkord_code',
- 'Fakt. Nr' => 'fakturanr',
- 'Konto' => 'spbudact_code',
- 'Objekt' => 'dima',
- 'DIM 6' => 'dimd',//utgår fra import - kopieres fra
kategori
- 'MVA' => 'mvakode',
- 'Tjeneste'=> 'kostra_id',
+ 'Bestilling' => 'pmwrkord_code',
+ 'Fakt. Nr' => 'fakturanr',
+ 'Konto' => 'spbudact_code',
+ 'Objekt' => 'dima',
+ 'DIM 6' => 'dimd', //utgår fra import -
kopieres fra kategori
+ 'MVA' => 'mvakode',
+ 'Tjeneste' => 'kostra_id',
'Belop [kr]' => 'belop'
- );
+ );
+ var $header = array('Bestilling', 'Fakt. Nr', 'Konto',
'Objekt', 'DIM 6', 'MVA', 'Belop [kr]');
- var $header = array('Bestilling','Fakt.
Nr','Konto','Objekt','DIM 6','MVA','Belop [kr]');
-
function import_conv()
{
- $this->db =
clone($GLOBALS['phpgw']->db);
- $this->soXport =
CreateObject('property.soXport');
- $this->invoice =
CreateObject('property.boinvoice');
- $this->bocommon =
CreateObject('property.bocommon');
- $this->dateformat =
$GLOBALS['phpgw']->db->date_format();
- $this->datetimeformat =
$GLOBALS['phpgw']->db->datetime_format();
- $this->next_bilagsnr =
$this->invoice->next_bilagsnr();
+ $this->db = clone($GLOBALS['phpgw']->db);
+ $this->soXport = CreateObject('property.soXport');
+ $this->invoice = CreateObject('property.boinvoice');
+ $this->bocommon = CreateObject('property.bocommon');
+ $this->dateformat =
$GLOBALS['phpgw']->db->date_format();
+ $this->datetimeformat =
$GLOBALS['phpgw']->db->datetime_format();
+ $this->next_bilagsnr = $this->invoice->next_bilagsnr();
}
- function import($invoice_common,$download)
+ function import($invoice_common, $download)
{
- $tsvfile = $invoice_common['tsvfile'];
+ $tsvfile = $invoice_common['tsvfile'];
- $conv_type = $invoice_common['conv_type'];
+ $conv_type = $invoice_common['conv_type'];
$buffer = array();
//-----------
@@ -80,25 +79,25 @@
$objPHPExcel = PHPExcel_IOFactory::load($tsvfile);
- $data =
$objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
+ $data = $objPHPExcel->getActiveSheet()->toArray(null,
true, true, true);
$result = array();
- $rows = count($data)+1;
+ $rows = count($data) + 1;
- for ($row = $this->header_count; $row < $rows; $row++ )
+ for($row = $this->header_count; $row < $rows; $row++)
{
$this->currentrecord = array();
- $j=0;
+ $j = 0;
foreach($data[$row] as $key => $_dummy)
{
- $value =
$objPHPExcel->getActiveSheet()->getCellByColumnAndRow($j,$row)->getCalculatedValue();
+ $value =
$objPHPExcel->getActiveSheet()->getCellByColumnAndRow($j,
$row)->getCalculatedValue();
- if ($name =
$this->import[$this->header[$j]])
+ if($name =
$this->import[$this->header[$j]])
{
-
- $value =
str_replace(array('\n','\r'),array('<BR>',''),$value);
+
+ $value =
str_replace(array('\n', '\r'), array('<BR>', ''), $value);
$this->currentrecord +=
array($name => $value);
}
$j++;
@@ -107,7 +106,7 @@
if($this->currentrecord['fakturanr'] &&
$this->currentrecord['belop']) // fakturanr og beløp
{
++$this->id;
- $buffer =
$this->import_end_record($buffer,$invoice_common);
+ $buffer =
$this->import_end_record($buffer, $invoice_common);
}
}
@@ -115,81 +114,78 @@
if(!$download)
{
- $buffer =
$this->import_end_file($buffer,$invoice_common['bilagsnr']);
+ $buffer = $this->import_end_file($buffer,
$invoice_common['bilagsnr']);
}
return $buffer;
}
-
- function import_end_record($buffer,$invoice_common)
+ function import_end_record($buffer, $invoice_common)
{
static $workorders = array();
$buffer[$this->id] = array();
- foreach ($this->currentrecord as $name => $value)
+ foreach($this->currentrecord as $name => $value)
{
- if($name=='belop')
+ if($name == 'belop')
{
- $value = str_replace('kr','',$value);
- $value = str_replace(' ','',$value);
- $value = str_replace(',','.',$value);
-
- if( $invoice_common['art'] == 2 ) //
kreditnota
+ $value = str_replace('kr', '', $value);
+ $value = str_replace(' ', '', $value);
+ $value = str_replace(',', '.', $value);
+
+ if($invoice_common['art'] == 2) //
kreditnota
{
$value = -1 * abs($value);
}
-
+
$buffer[$this->id]['godkjentbelop'] =
$value;
}
- if($name=='pmwrkord_code')
+ if($name == 'pmwrkord_code')
{
- if(!$workorder =
$workorders[(int)$value]['order'])
+ if(!$workorder = $workorders[(int)
$value]['order'])
{
-
if(!$this->soXport->check_order((int)$value))
+
if(!$this->soXport->check_order((int) $value))
{
-
$workorders[(int)$value]['order']['cat_id'] = '';
-
$workorders[(int)$value]['order']['ecodimb'] = '';
-
$workorders[(int)$value]['project_id'] = '';
+ $workorders[(int)
$value]['order']['cat_id'] = '';
+ $workorders[(int)
$value]['order']['ecodimb'] = '';
+ $workorders[(int)
$value]['project_id'] = '';
}
else
{
-
$workorders[(int)$value]['order'] =
execMethod('property.soworkorder.read_single', (int)$value);
-
$workorders[(int)$value]['project_id'] =
$this->soXport->get_project((int)$value);//Agresso prosjekt
+ $workorder =
execMethod('property.soworkorder.read_single', (int) $value);
+ $workorders[(int)
$value]['order'] = $workorder;
+ $workorders[(int)
$value]['project_id'] = $this->soXport->get_project((int) $value);//Agresso
prosjekt
}
}
-
- $buffer[$this->id]['project_id'] =
$workorders[(int)$value]['project_id'];//Agresso prosjekt
- $buffer[$this->id]['dime'] =
$workorders[(int)$value]['order']['cat_id']; // Dim 6
- $buffer[$this->id]['dimb'] =
$workorders[(int)$value]['order']['ecodimb']; // Ansvarssted
-
+ $buffer[$this->id]['project_id'] =
$workorders[(int) $value]['project_id'];//Agresso prosjekt
+ $buffer[$this->id]['dimb'] =
$workorders[(int) $value]['order']['ecodimb']; // Ansvarssted
}
- if($name=='spbudact_code')
+ if($name == 'spbudact_code')
{
continue;
}
- if($name=='dima')
+ if($name == 'dima')
{
$value = $this->check_dima($value);
- $buffer[$this->id]['loc1'] =
$loc1=substr($value,0,4);
+ $buffer[$this->id]['loc1'] = $loc1 =
substr($value, 0, 4);
}
- if($name=='mvakode')
+ if($name == 'mvakode')
{
- if( $invoice_common['auto_tax'])
+ if($invoice_common['auto_tax'])
{
- $value =
(int)$this->soXport->auto_tax($buffer[$this->id]['loc1']);
+ $value = (int)
$this->soXport->auto_tax($buffer[$this->id]['loc1']);
}
else
{
$value = (int) $value;
}
}
-
+
$buffer[$this->id][$name] = $value;
}
@@ -198,25 +194,24 @@
$buffer[$this->id]['kildeid'] = $this->kildeid;
$buffer[$this->id]['kidnr'] = $invoice_common['kid_nr'];
$buffer[$this->id]['typeid'] = $invoice_common['type'];
- $buffer[$this->id]['periode'] =
$invoice_common['syear'] . sprintf("%02d",$invoice_common['smonth']);
+ $buffer[$this->id]['periode'] =
$invoice_common['syear'] . sprintf("%02d", $invoice_common['smonth']);
$buffer[$this->id]['regtid'] =
date($this->datetimeformat);
$buffer[$this->id]['artid'] = $invoice_common['art'];
$buffer[$this->id]['spvend_code'] =
$invoice_common['vendor_id'];
$buffer[$this->id]['oppsynsmannid'] =
$invoice_common['janitor'];
$buffer[$this->id]['saksbehandlerid'] =
$invoice_common['supervisor'];
$buffer[$this->id]['budsjettansvarligid'] =
$invoice_common['budget_responsible'];
-
- $buffer[$this->id]['dimd'] = $buffer[$this->id]['dime'];
- $invoice_date =
date($this->dateformat,mktime(2,0,0,$invoice_common['smonth'],$invoice_common['sday'],$invoice_common['syear']));
+ $invoice_date = date($this->dateformat, mktime(2, 0, 0,
$invoice_common['smonth'], $invoice_common['sday'], $invoice_common['syear']));
+
if($invoice_common['num_days'])
{
- $payment_date =
date($this->dateformat,mktime(2,0,0,$invoice_common['smonth'],$invoice_common['sday'],$invoice_common['syear'])+(86400*$invoice_common['num_days']));
+ $payment_date = date($this->dateformat,
mktime(2, 0, 0, $invoice_common['smonth'], $invoice_common['sday'],
$invoice_common['syear']) + (86400 * $invoice_common['num_days']));
}
else
{
- $payment_date =
date($this->dateformat,mktime(2,0,0,$invoice_common['emonth'],$invoice_common['eday'],$invoice_common['eyear']));
+ $payment_date = date($this->dateformat,
mktime(2, 0, 0, $invoice_common['emonth'], $invoice_common['eday'],
$invoice_common['eyear']));
}
$buffer[$this->id]['fakturadato'] = $invoice_date;
@@ -224,25 +219,99 @@
if($workorder)
{
-
if($this->check_old_spbudact_code($workorder['b_account_id'])
+
if($this->check_old_spbudact_code($workorder['b_account_id']))
{
- $buffer[$this->id]['spbudact_code'] =
'123014';
- $buffer[$this->id]['dime'] =
(int)substr($workorder['b_account_id'],-4); // Dim 6
+ $_accout_class =
substr(substr($workorder['b_account_id'], -4), 0, 2);
+ switch($_accout_class)
+ {
+ case '41':
+
$buffer[$this->id]['spbudact_code'] = '123013';
+ break;
+ case '42':
+
$buffer[$this->id]['spbudact_code'] = '123014';
+ break;
+ case '44':
+
$buffer[$this->id]['spbudact_code'] = '123015';
+ break;
+ case '45':
+
$buffer[$this->id]['spbudact_code'] = '123016';
+ break;
+ case '46':
+
$buffer[$this->id]['spbudact_code'] = '123016';
+ break;
+ case '47':
+
$buffer[$this->id]['spbudact_code'] = '123017';
+ break;
+ case '48':
+
$buffer[$this->id]['spbudact_code'] = '123018';
+ break;
+ case '49':
+
$buffer[$this->id]['spbudact_code'] = '123019';
+ break;
+ default:
+
$buffer[$this->id]['spbudact_code'] = '123014';
+ break;
+ }
+
+ $buffer[$this->id]['dime'] = (int)
substr($workorder['b_account_id'], -4); // Dim 6
}
else
{
+ $buffer[$this->id]['dime'] =
$workorder['cat_id']; // Dim 6
$buffer[$this->id]['spbudact_code'] =
$workorder['b_account_id'];
}
}
else
{
- $buffer[$this->id]['spbudact_code'] = '123014';
+ $_spbudact_code =
$this->currentrecord['spbudact_code'];
+
if($this->check_old_spbudact_code($_spbudact_code))
+ {
+ $_accout_class =
substr(substr($_spbudact_code, -4), 0, 2);
+ switch($_accout_class)
+ {
+ case '41':
+
$buffer[$this->id]['spbudact_code'] = '123013';
+ break;
+ case '42':
+
$buffer[$this->id]['spbudact_code'] = '123014';
+ break;
+ case '44':
+
$buffer[$this->id]['spbudact_code'] = '123015';
+ break;
+ case '45':
+
$buffer[$this->id]['spbudact_code'] = '123016';
+ break;
+ case '46':
+
$buffer[$this->id]['spbudact_code'] = '123016';
+ break;
+ case '47':
+
$buffer[$this->id]['spbudact_code'] = '123017';
+ break;
+ case '48':
+
$buffer[$this->id]['spbudact_code'] = '123018';
+ break;
+ case '49':
+
$buffer[$this->id]['spbudact_code'] = '123019';
+ break;
+ default:
+
$buffer[$this->id]['spbudact_code'] = '123014';
+ break;
+ }
+
+ $buffer[$this->id]['dime'] = (int)
substr($_spbudact_code, -4); // Dim 6
+ }
+ else
+ {
+ $buffer[$this->id]['spbudact_code'] =
$_spbudact_code ? $_spbudact_code : '123014';
+ }
}
+ $buffer[$this->id]['dimd'] = $buffer[$this->id]['dime'];
+
if($invoice_common['auto_tax'])
{
- $buffer[$this->id]['mvakode'] =
$this->soXport->tax_b_account_override($buffer[$this->id]['mvakode']
,$buffer[$this->id]['spbudact_code']);
- $buffer[$this->id]['mvakode'] =
$this->soXport->tax_vendor_override($buffer[$this->id]['mvakode']
,$buffer[$this->id]['spvend_code']);
+ $buffer[$this->id]['mvakode'] =
$this->soXport->tax_b_account_override($buffer[$this->id]['mvakode'],
$buffer[$this->id]['spbudact_code']);
+ $buffer[$this->id]['mvakode'] =
$this->soXport->tax_vendor_override($buffer[$this->id]['mvakode'],
$buffer[$this->id]['spvend_code']);
}
$buffer[$this->id]['kostra_id'] =
$this->soXport->get_kostra_id($buffer[$this->id]['loc1']);
@@ -256,48 +325,46 @@
{
$buffer[$this->id]['dimb'] =
$invoice_common['dim_b'];
}
-
return $buffer;
}
-
+
function check_old_spbudact_code($id)
{
- $b_account='';
- $this->db->query("select id from fm_b_account where
id='$id'");
+ $this->db->query("SELECT id FROM fm_b_account_convert
WHERE id='{$id}'");
$this->db->next_record();
- if ($this->db->f('id'))
- {
- $b_account = $this->db->f('id');
+ if($this->db->f('id'))
+ {
+ return true;
}
else
{
- $this->db->query("select id from
fm_b_account_convert where old_id='$id'");
+ $this->db->query("SELECT id FROM
fm_b_account_convert WHERE old_id='{$id}'");
$this->db->next_record();
- $b_account = $this->db->f('id');
+ return !!$this->db->f('id');
}
-
- return $b_account;
+
+ return false;
}
function check_dima($id)
{
- $loc1=substr($id,0,4);
- $loc2=substr($id,4,2);
-
+ $loc1 = substr($id, 0, 4);
+ $loc2 = substr($id, 4, 2);
+
$this->db->query("select loc1 from fm_location1 where
loc1='$loc1' AND ((fm_location1.category <> 99) OR (fm_location1.category IS
NULL))");
$this->db->next_record();
- if ($this->db->f('loc1'))
- {
+ if($this->db->f('loc1'))
+ {
$dima = $this->db->f('loc1');
-
- if ($loc2)
+
+ if($loc2)
{
$this->db->query("select location_code
from fm_location2 where loc1='$loc1' AND loc2='$loc2' AND
((fm_location2.category <> 99) OR (fm_location2.category IS NULL))");
$this->db->next_record();
- if ($this->db->f('location_code'))
- {
- $dima =
str_replace('-','',$this->db->f('location_code'));
+ if($this->db->f('location_code'))
+ {
+ $dima = str_replace('-', '',
$this->db->f('location_code'));
}
else
{
@@ -305,14 +372,16 @@
}
}
}
-
+
return $dima;
}
- function import_end_file($buffer,$bilagsnr)
+ function import_end_file($buffer, $bilagsnr)
{
- $num = $this->soXport->add($buffer);
- $receipt['message'][]= array('msg' =>
lang('Successfully imported %1 records into your invoice register.',$num).'
'.lang('ID').': '. $bilagsnr);
+ $receipt = array();
+ $num = $this->soXport->add($buffer);
+ $receipt['message'][] = array('msg' =>
lang('Successfully imported %1 records into your invoice register.', $num) . '
' . lang('ID') . ': ' . $bilagsnr);
return $receipt;
}
- }
+
+ }
\ No newline at end of file
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Fmsystem-commits] [11680] Merge 11676:11679 from trunk,
Sigurd Nes <=