fmsystem-commits
[Top][All Lists]
Advanced

[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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]