[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Phpgroupware-cvs] property/class.sowo_hour.php, 1.1.1.3
From: |
nomail |
Subject: |
[Phpgroupware-cvs] property/class.sowo_hour.php, 1.1.1.3 |
Date: |
Fri, 21 May 2004 16:00:14 -0000 |
Update of /property
Modified Files:
Branch:
class.sowo_hour.php
date: 2004/04/23 21:26:33; author: sigurdne; state: Exp; lines: +703 -703
Log Message:
no message
=====================================================================
Index: property/class.sowo_hour.php
diff -u property/class.sowo_hour.php:1.1.1.2
property/class.sowo_hour.php:1.1.1.3
--- property/class.sowo_hour.php:1.1.1.2 Fri Apr 23 20:26:09 2004
+++ property/class.sowo_hour.php Fri Apr 23 21:26:33 2004
@@ -1,703 +1,703 @@
-<?php
-
/**************************************************************************\
- * phpGroupWare - property
*
- * http://www.phpgroupware.org
*
- *
*
- * Facilities Management
*
- * Written by Sigurd Nes [sigurdne at online.no]
*
- *
------------------------------------------------------------------------ *
- * Copyright 2000 - 2003 Free Software Foundation, Inc
*
- * This program is part of the GNU project, see http://www.gnu.org/
*
- *
------------------------------------------------------------------------ *
- * This program 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.
*
-
\**************************************************************************/
-
- class property_sowo_hour
- {
-
- function property_sowo_hour()
- {
- $this->currentapp = 'property';
//$GLOBALS['phpgw_info']['flags']['currentapp'];
- $this->db =
$GLOBALS['phpgw']->db;
- $this->db2 = $this->db;
- $this->account =
$GLOBALS['phpgw_data']['user']['id'];
- $this->bocommon =
CreateObject($this->currentapp.'_bocommon');
-
- $this->join = $this->bocommon->join;
- }
-
- function get_chapter_list()
- {
- $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT id,
descr FROM fm_chapter ORDER BY id ");
-
- $i = 0;
- while (!$dbresult->EOF)
- {
- $chapter_entries[$i]['id']
= $dbresult->fields['id'];
- $chapter_entries[$i]['name']
= stripslashes($dbresult->fields['descr']);
- $i++;
- $dbresult->MoveNext();
- }
- return $chapter_entries;
- }
-
- function get_grouping_list($workorder_id='')
- {
- $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT
grouping_id, grouping_descr FROM fm_wo_hours where workorder_id='$workorder_id'
and grouping_id >0 group by grouping_id, grouping_descr");
-
- $i = 0;
- while (!$dbresult->EOF)
- {
- $grouping_entries[$i]['id']
= $dbresult->fields['grouping_id'];
- $grouping_entries[$i]['name']
= stripslashes($dbresult->fields['grouping_descr']);
- $i++;
- $dbresult->MoveNext();
- }
- return $grouping_entries;
- }
-
- function get_building_part_list()
- {
- $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT id,
descr FROM fm_building_part ORDER BY id ");
-
- $i = 0;
- while (!$dbresult->EOF)
- {
- $building_part_entries[$i]['id']
= $dbresult->fields['id'];
- $building_part_entries[$i]['name']
= stripslashes($dbresult->fields['descr']);
- $i++;
- $dbresult->MoveNext();
- }
- return $building_part_entries;
- }
-
-
- function select_branch_list()
- {
- $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT id,
descr FROM fm_branch ORDER BY id ");
-
- $i = 0;
- while (!$dbresult->EOF)
- {
- $branch_entries[$i]['id']
= $dbresult->fields['id'];
- $branch_entries[$i]['name']
= stripslashes($dbresult->fields['descr']);
- $i++;
- $dbresult->MoveNext();
- }
- return $branch_entries;
- }
-
-
- function read($data)
- {
- if(is_array($data))
- {
- $workorder_id =
(isset($data['workorder_id'])?$data['workorder_id']:0);
- }
-
-
- $ordermethod = ' order by grouping_id, record , id asc
';
-
- $sql = "SELECT * FROM fm_wo_hours WHERE
workorder_id='$workorder_id' ";
-
- $dbresult = $GLOBALS['phpgw']->db->Execute($sql .
$ordermethod);
- $this->total_records = $dbresult->_numOfRows;
-
- while (!$dbresult->EOF)
- {
- $hour_list[] = array
- (
- 'hour_id' =>
$dbresult->fields['id'],
- 'activity_num' =>
$dbresult->fields['activity_num'],
- 'hours_descr' =>
stripslashes($dbresult->fields['hours_descr']),
- 'owner' =>
$dbresult->fields['owner'],
- 'quantity' =>
$dbresult->fields['quantity'],
- 'grouping_id' =>
$dbresult->fields['grouping_id'],
- 'grouping_descr' =>
$dbresult->fields['grouping_descr'],
- 'ns3420_id' =>
$dbresult->fields['ns3420_id'],
- 'tolerance' =>
$dbresult->fields['tolerance'],
- 'activity_id' =>
$dbresult->fields['activity_id'],
- 'unit' =>
$dbresult->fields['unit'],
- 'record' =>
$dbresult->fields['record'],
- 'cost' =>
$dbresult->fields['cost'],
- 'billperae' =>
$dbresult->fields['billperae'],
- 'remark' =>
$dbresult->fields['remark'],
- 'building_part' =>
$dbresult->fields['building_part'],
- 'dim_d' =>
$dbresult->fields['dim_d']
- );
- $dbresult->MoveNext();
- }
-
- for ($i=0; $i<count($hour_list); $i++)
- {
- $sql = "SELECT sum(amount) as deviation,
count(amount) as count_deviation FROM fm_wo_h_deviation WHERE
workorder_id=$workorder_id and hour_id=". $hour_list[$i]['hour_id'];
- $dbresult =
$GLOBALS['phpgw']->db->Execute($sql);
-
-
$hour_list[$i]['deviation']=$dbresult->fields['deviation'];
-
$hour_list[$i]['count_deviation']=$dbresult->fields['count_deviation'];
- }
-
- return $hour_list;
- }
-
-
- function read_deviation($data)
- {
- if(is_array($data))
- {
- $workorder_id =
(isset($data['workorder_id'])?$data['workorder_id']:0);
- $hour_id =
(isset($data['hour_id'])?$data['hour_id']:0);
- }
-
- $ordermethod = ' order by id asc';
-
- $sql = "SELECT * FROM fm_wo_h_deviation WHERE
workorder_id=$workorder_id AND hour_id=$hour_id ";
-
-
- $dbresult = $GLOBALS['phpgw']->db->Execute($sql .
$ordermethod);
- $this->total_records = $dbresult->_numOfRows;
-
- while (!$dbresult->EOF)
- {
- $deviation[] = array
- (
- 'entry_date' =>
$dbresult->fields['entry_date'],
- 'workorder_id' =>
$workorder_id,
- 'hour_id' =>
$hour_id,
- 'id' =>
$dbresult->fields['id'],
- 'amount' =>
$dbresult->fields['amount'],
- 'descr' =>
stripslashes($dbresult->fields['descr'])
- );
- $dbresult->MoveNext();
- }
-//html_print_r($deviation);
- return $deviation;
-
-
- }
-
-
- function read_single_deviation($data)
- {
- if(is_array($data))
- {
- $workorder_id =
(isset($data['workorder_id'])?$data['workorder_id']:0);
- $hour_id =
(isset($data['hour_id'])?$data['hour_id']:0);
- $id = (isset($data['id'])?$data['id']:0);
- }
-
- $sql = "SELECT * FROM fm_wo_h_deviation WHERE
workorder_id=$workorder_id AND hour_id=$hour_id AND id = $id";
- $dbresult = $GLOBALS['phpgw']->db->Execute($sql);
-
- $deviation = array
- (
- 'entry_date' =>
$dbresult->fields['entry_date'],
- 'workorder_id' => $workorder_id,
- 'hour_id' => $hour_id,
- 'id' =>
$dbresult->fields['id'],
- 'amount' =>
$dbresult->fields['amount'],
- 'descr' =>
stripslashes($dbresult->fields['descr'])
- );
- return $deviation;
- }
-
- function add_deviation($values)
- {
- $sql = "SELECT max(id) as current_id FROM
fm_wo_h_deviation WHERE workorder_id=" . $values['workorder_id'] . " AND
hour_id=" . $values['hour_id'];
- $dbresult = $GLOBALS['phpgw']->db->Execute($sql);
-
- $id=$dbresult->fields['current_id']+1;
-
- $values['descr'] =
$this->db->db_addslashes($values['descr']);
-
- $values_insert= array(
- $values['workorder_id'],
- $values['hour_id'],
- $id,
- $values['amount'],
- $values['descr'],
- time()
- );
-
- $values_insert =
$this->bocommon->validate_db_insert($values_insert);
-
- $GLOBALS['phpgw']->db->Execute("INSERT INTO
fm_wo_h_deviation (workorder_id,hour_id,id,amount,descr,entry_date) VALUES
($values_insert)");
-
- $receipt['id']= $id;
-
- $receipt['message'][] = array('msg'=> lang('deviation
has been added'));
- return $receipt;
- }
-
- function edit_deviation($values)
- {
- $values['descr'] =
$this->db->db_addslashes($values['descr']);
-
- $value_set=array(
- 'amount' =>
$values['amount'],
- 'descr' =>
$this->db->db_addslashes($values['descr'])
- );
-
- $value_set =
$this->bocommon->validate_db_update($value_set);
-
- $GLOBALS['phpgw']->db->Execute("UPDATE
fm_wo_h_deviation set $value_set WHERE workorder_id=" . $values['workorder_id']
. " AND hour_id=" . $values['hour_id'] . " AND id=" . $values['id']);
-
- $receipt['message'][] = array('msg'=> lang('deviation
has been edited'));
-
- return $receipt;
- }
-
- function update_deviation($data)
- {
- if(is_array($data))
- {
- $id =
(isset($data['workorder_id'])?$data['workorder_id']:0);
- $deviation =
(isset($data['sum_deviation'])?$data['sum_deviation']:0);
- }
- $GLOBALS['phpgw']->db->Execute("UPDATE fm_workorder set
deviation = $deviation WHERE id=$id");
- return $receipt;
- }
-
-
- function next_record($workorder_id)
- {
-
- $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT
max(record) as record FROM fm_wo_hours where workorder_id='$workorder_id'");
-
- $record = $dbresult->fields['record']+1;
- return $record;
-
- }
-
- function add_template($values,$workorder_id)
- {
-
- $values['name'] =
$this->db->db_addslashes($values['name']);
- $soworkorder =
CreateObject($this->currentapp.'_soworkorder');
- $workorder =
$soworkorder->read_single($workorder_id);
-//html_print_r($workorder);
-
- $GLOBALS['phpgw']->db->begintrans();
-
- $GLOBALS['phpgw']->db->Execute("INSERT into fm_template
(owner,name,descr,chapter_id,entry_date) "
- . " values ('" .
- $this->account . "','" .
- $values['name'] . "','" .
- $values['descr'] . "','" .
- $workorder['chapter_id'] . "','" .
- time() . "')");
-
- $template_id =
$this->db->get_last_insert_id('fm_template','id');
-
- $hour = $this->read(array('workorder_id' =>
$workorder_id));
-
- $record = $this->next_record($hour[0]['workorder_id']);
-
- for ($i=0; $i<count($hour); $i++)
- {
-
- $values= array(
- $hour[$i]['activity_id'],
- $hour[$i]['activity_num'],
- $this->account,
- $hour[$i]['hours_descr'],
- $hour[$i]['unit'],
- $hour[$i]['cost'],
- $hour[$i]['quantity'],
- $hour[$i]['billperae'],
- $hour[$i]['ns3420_id'],
- $hour[$i]['dim_d'],
- $hour[$i]['grouping_id'],
- $hour[$i]['grouping_descr'],
- $hour[$i]['remark'],
- $hour[$i]['tolerance'],
- $hour[$i]['building_part'],
- $record,
- $template_id );
-
- $values =
$this->bocommon->validate_db_insert($values);
-
- $GLOBALS['phpgw']->db->Execute("INSERT into
fm_template_hours (activity_id,activity_num,owner,hours_descr,unit,"
- .
"cost,quantity,billperae,ns3420_id,dim_d,grouping_id,grouping_descr,remark,tolerance,building_part,record,template_id)
"
- . " values ($values)");
-
- $record++;
- }
-
- $GLOBALS['phpgw']->db->committrans();
-
- $receipt['message'][] = array('msg'=>lang('template %1
is added',$values['name']));
- return $receipt;
- }
-
-
- function add_hour($hour)
- {
-
- $record = $this->next_record($hour[0]['workorder_id']);
-
- for ($i=0; $i<count($hour); $i++)
- {
-
- $values= array(
- $hour[$i]['activity_id'],
- $hour[$i]['activity_num'],
- $this->account,
- $hour[$i]['hours_descr'],
- $hour[$i]['unit'],
- $hour[$i]['cost'],
- $hour[$i]['quantity'],
- $hour[$i]['billperae'],
- $hour[$i]['ns3420_id'],
- $hour[$i]['dim_d'],
- $record,
- time(),
- $hour[$i]['workorder_id']);
-
- $values =
$this->bocommon->validate_db_insert($values);
-
- $GLOBALS['phpgw']->db->Execute("INSERT into
fm_wo_hours
(activity_id,activity_num,owner,hours_descr,unit,cost,quantity,billperae,ns3420_id,dim_d,record,entry_date,workorder_id)
"
- . " values ($values)");
-
- $record++;
- }
-
- $receipt['message'][] = array('msg'=>lang('%1 entries
is added!',count($hour)));
-
- $receipt['hour_id'] =
$this->db->get_last_insert_id('fm_wo_hours','id');
-
- return $receipt;
-
- }
-
- function add_hour_from_template($hour,$workorder_id)
- {
-//html_print_r($hour);
-
- $record = $this->next_record($workorder_id);
-
- $GLOBALS['phpgw']->db->Execute("UPDATE fm_workorder set
- chapter_id ='" . $hour[0]['chapter_id'] .
"' WHERE id= '$workorder_id'");
-
-
- for ($i=0; $i<count($hour); $i++)
- {
-
- if($hour[$i]['new_grouping'])
- {
- $dbresult =
$GLOBALS['phpgw']->db->Execute("SELECT grouping_id FROM fm_wo_hours where
grouping_descr ='" .$hour[$i]['new_grouping'] . "' and workorder_id=
'$workorder_id'");
-
- if ( $dbresult->fields['grouping_id'])
- {
- $grouping_id =
$dbresult->fields['grouping_id'];
- }
- else
- {
- $dbresult =
$GLOBALS['phpgw']->db->Execute("SELECT max(grouping_id) as grouping_id FROM
fm_wo_hours where workorder_id= '$workorder_id'");
-
- $grouping_id =
$dbresult->fields['grouping_id']+1;
- }
-
- $grouping_descr =
$hour[$i]['new_grouping'];
- }
-
- $values= array(
- $this->account,
- $hour[$i]['activity_id'],
- $hour[$i]['activity_num'],
- $hour[$i]['hours_descr'],
- $hour[$i]['unit'],
- $hour[$i]['cost'],
- $hour[$i]['quantity'],
- $hour[$i]['billperae'],
- $hour[$i]['ns3420_id'],
- $hour[$i]['dim_d'],
- $grouping_id,
- $grouping_descr,
- $record,
- $hour[$i]['building_part_id'],
- $hour[$i]['tolerance_id'],
- $hour[$i]['remark'],
- time(),
- $workorder_id );
-
- $values =
$this->bocommon->validate_db_insert($values);
-
- $GLOBALS['phpgw']->db->Execute("INSERT into
fm_wo_hours
(owner,activity_id,activity_num,hours_descr,unit,cost,quantity,billperae,ns3420_id,dim_d,"
- . "
grouping_id,grouping_descr,record,building_part,tolerance,remark,entry_date,workorder_id)
"
- . " values ($values )");
-
- $record++;
- }
-
- $receipt['message'][] = array('msg'=>lang('the number
of %1 hour is added!',$i));
-
- return $receipt;
- }
-
- function add_custom_hour($hour,$workorder_id)
- {
-
- $hour['record'] = $this->next_record($workorder_id);
-
- if($hour['chapter_id'])
- {
- $GLOBALS['phpgw']->db->Execute("UPDATE
fm_workorder set
- chapter_id ='" . $hour['chapter_id'] . "'
WHERE id= '$workorder_id'");
- }
-
- if($hour['grouping_id'])
- {
- $dbresult =
$GLOBALS['phpgw']->db->Execute("SELECT grouping_descr , max(record) as record
FROM fm_wo_hours where grouping_id='" .$hour['grouping_id'] . "' and
workorder_id= '$workorder_id' GROUP by grouping_descr");
-
- $hour['grouping_descr'] =
$dbresult->fields['grouping_descr'];
-// $hour['record'] = $dbresult->fields['record']+1;
- }
-
- if($hour['new_grouping'])
- {
- $dbresult =
$GLOBALS['phpgw']->db->Execute("SELECT grouping_id FROM fm_wo_hours where
grouping_descr ='" .$hour['new_grouping'] . "' and workorder_id=
'$workorder_id'");
-
- if ( $dbresult->fields['grouping_id'])
- {
- $hour['grouping_id'] =
$dbresult->fields['grouping_id'];
- }
- else
- {
- $dbresult =
$GLOBALS['phpgw']->db->Execute("SELECT max(grouping_id) as grouping_id FROM
fm_wo_hours where workorder_id= '$workorder_id'");
-
- $hour['grouping_id'] =
$dbresult->fields['grouping_id']+1;
-// $hour['record'] = 1;
- }
-
- $hour['grouping_descr'] = $hour['new_grouping'];
- }
-
- $values= array(
- $this->account,
- $hour['descr'],
- $hour['unit'],
- $hour['cost'],
- $hour['quantity'],
- $hour['billperae'],
- $hour['ns3420_id'],
- $hour['dim_d'],
- $hour['grouping_id'],
- $hour['grouping_descr'],
- $hour['record'],
- $hour['building_part_id'],
- $hour['tolerance_id'],
- $hour['remark'],
- time(),
- $workorder_id
- );
-
- $values = $this->bocommon->validate_db_insert($values);
-
- $GLOBALS['phpgw']->db->Execute("INSERT into fm_wo_hours
(owner,hours_descr,unit,cost,quantity,billperae,ns3420_id,dim_d,"
- . "
grouping_id,grouping_descr,record,building_part,tolerance,remark,entry_date,workorder_id)
"
- . "VALUES ( $values )");
-
- $receipt['hour_id'] =
$this->db->get_last_insert_id('fm_wo_hours','id');
-
- $receipt['message'][] = array('msg'=>lang('hour %1 is
added!',$receipt['hour_id']));
-
- return $receipt;
-
- }
-
- function read_single_hour($hour_id)
- {
- $sql = "SELECT * from fm_wo_hours where id='$hour_id'";
-
- $dbresult = $GLOBALS['phpgw']->db->Execute($sql);
-
- if (!$dbresult->EOF)
- {
- $hour['hour_id']
= $dbresult->fields['id'];
- $hour['record']
= $dbresult->fields['record'];
- $hour['activity_id'] =
$dbresult->fields['activity_id'];
- $hour['activity_num'] =
$dbresult->fields['activity_num'];
- $hour['grouping_id'] =
$dbresult->fields['grouping_id'];
- $hour['hours_descr'] =
$dbresult->fields['hours_descr'];
- $hour['remark']
= $dbresult->fields['remark'];
- $hour['billperae']
= $dbresult->fields['billperae'];
- $hour['unit']
= $dbresult->fields['unit'];
- $hour['ns3420_id']
= $dbresult->fields['ns3420_id'];
- $hour['tolerance_id'] =
(int)$dbresult->fields['tolerance'];
- $hour['building_part_id'] =
(int)$dbresult->fields['building_part'];
- $hour['quantity']
= $dbresult->fields['quantity'];
- $hour['cost']
= $dbresult->fields['cost'];
- $hour['dim_d']
= $dbresult->fields['dim_d'];
- }
-
- return $hour;
- }
-
- function edit($hour,$workorder_id)
- {
-
- $hour['descr'] =
$this->db->db_addslashes($hour['descr']);
- $hour['remark'] =
$this->db->db_addslashes($hour['remark']);
-//html_print_r($hour);
-
-
- if($hour['chapter_id'])
- {
- $GLOBALS['phpgw']->db->Execute("UPDATE
fm_workorder set
- chapter_id ='" . $hour['chapter_id'] . "'
WHERE id= '$workorder_id'");
- }
-
- if($hour['new_grouping'])
- {
- $dbresult =
$GLOBALS['phpgw']->db->Execute("SELECT grouping_id FROM fm_wo_hours where
grouping_descr ='" .$hour['new_grouping'] . "' and workorder_id=
'$workorder_id'");
-
- if ( $dbresult->fields['grouping_id'])
- {
- $hour['grouping_id'] =
$dbresult->fields['grouping_id'];
- }
- else
- {
-
- $GLOBALS['phpgw']->db->Execute("UPDATE
fm_wo_hours set grouping_id = NULL WHERE id ='" .$hour['hour_id'] . "'");
- $dbresult =
$GLOBALS['phpgw']->db->Execute("SELECT count(grouping_id) as num_grouping FROM
fm_wo_hours where workorder_id= '$workorder_id' and grouping_id >0 ");
-
- if
($dbresult->fields['num_grouping']==1)
- {
- $hour['grouping_id']=1;
- }
- else
- {
- $dbresult =
$GLOBALS['phpgw']->db->Execute("SELECT max(grouping_id) as grouping_id FROM
fm_wo_hours where workorder_id= '$workorder_id'");
-
- $hour['grouping_id'] =
$dbresult->fields['grouping_id']+1;
- }
- }
- $hour['grouping_descr'] = $hour['new_grouping'];
- }
- else
- {
- $dbresult =
$GLOBALS['phpgw']->db->Execute("SELECT grouping_id,grouping_descr FROM
fm_wo_hours where id ='" .$hour['hour_id'] . "'");
-
- $old_grouping_id =
$dbresult->fields['grouping_id'];
-
- if ( $old_grouping_id == $hour['grouping_id'])
- {
-
- $hour['grouping_descr'] =
$dbresult->fields['grouping_descr'];
- }
- else
- {
- $dbresult =
$GLOBALS['phpgw']->db->Execute("SELECT grouping_descr , max(record) as record
FROM fm_wo_hours where grouping_id='" .$hour['grouping_id'] . "' and
workorder_id= '$workorder_id' GROUP by grouping_descr");
-
- if($dbresult->fields['grouping_descr'])
- {
- $hour['grouping_descr'] =
$dbresult->fields['grouping_descr'];
- }
- else
- {
- $hour['grouping_id']='';
- $hour['grouping_descr']='';
- }
-
-/* if($old_record>1)
- {
-
$GLOBALS['phpgw']->db->Execute("UPDATE fm_wo_hours set
- record = record - 1
where grouping_id='" .$hour['grouping_id'] . "' and workorder_id=
'$workorder_id' and record > $old_record ");
-
- }
-
-*/
- }
- }
-
- $value_set=array(
- 'hours_descr' => $hour['descr'],
- 'remark' =>
$hour['remark'],
- 'billperae' =>
$hour['billperae'],
- 'unit' =>
$hour['unit'],
- 'quantity' =>
$hour['quantity'],
- 'cost' =>
$hour['cost'],
- 'ns3420_id' =>
$hour['ns3420_id'],
- 'tolerance' =>
$hour['tolerance_id'],
- 'building_part' =>
$hour['building_part_id'],
- 'dim_d' =>
$hour['dim_d'],
- 'grouping_id' => $hour['grouping_id'],
- 'grouping_descr' =>
$hour['grouping_descr']
- );
-
- $value_set =
$this->bocommon->validate_db_update($value_set);
-
- $GLOBALS['phpgw']->db->Execute("UPDATE fm_wo_hours set
$value_set WHERE id= '" . $hour['hour_id'] ."'");
-
- $receipt['hour_id'] = $hour['hour_id'];
- $receipt['message'][] = array('msg'=>lang('hour %1 has
been edited',$hour['hour_id']));
- return $receipt;
-
- }
-
- function update_email($to_email,$workorder_id)
- {
- $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT
vendor_id FROM fm_workorder where id ='$workorder_id'");
-
- $vendor_id = $dbresult->fields['vendor_id'];
-
- $GLOBALS['phpgw']->db->Execute("UPDATE
phpgw_addressbook set email ='$to_email' where id= '$vendor_id'");
- }
-
- function get_extra_email($vendor_id)
- {
- $vendor_id=(int)$vendor_id;
- $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT
contact_value from phpgw_addressbook_extra where contact_id='$vendor_id' and
contact_value like 'address@hidden'");
- while (!$dbresult->EOF)
- {
- $email_list[] = array('email' =>
$dbresult->fields['contact_value']);
- $dbresult->MoveNext();
- }
- return $email_list;
- }
-
- function delete($hour_id,$workorder_id )
- {
- $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT
record FROM fm_wo_hours where id ='$hour_id'");
-
- $old_record = $dbresult->fields['record'];
-
- $GLOBALS['phpgw']->db->begintrans();
-
- $GLOBALS['phpgw']->db->Execute("DELETE FROM fm_wo_hours
WHERE id='" . $hour_id . "'");
- $GLOBALS['phpgw']->db->Execute("DELETE FROM
fm_wo_h_deviation WHERE workorder_id=$workorder_id AND hour_id=$hour_id");
- if($old_record)
- {
- $GLOBALS['phpgw']->db->Execute("UPDATE
fm_wo_hours set record = record - 1 where workorder_id= '$workorder_id' and
record > $old_record ");
- }
-
- $GLOBALS['phpgw']->db->committrans();
-
- $receipt['message'][] = array('msg'=>lang('hour %1 has
been deleted',$hour_id));
- return $receipt;
-
- }
-
- function delete_deviation($workorder_id,$hour_id,$id )
- {
- $GLOBALS['phpgw']->db->Execute("DELETE FROM
fm_wo_h_deviation WHERE workorder_id=$workorder_id AND hour_id=$hour_id AND
id=$id");
- $receipt['message'][] = array('msg'=>lang('deviation %1
has been deleted',$id));
- return $receipt;
- }
-
- function update_calculation($data)
- {
- if(is_array($data))
- {
- $id =
(isset($data['workorder_id'])?$data['workorder_id']:0);
- $calculation =
(isset($data['calculation'])?$data['calculation']:0);
- }
- $GLOBALS['phpgw']->db->Execute("UPDATE fm_workorder set
calculation = $calculation WHERE id=$id");
- return $receipt;
- }
- }
-?>
+<?php
+
/**************************************************************************\
+ * phpGroupWare - property
*
+ * http://www.phpgroupware.org
*
+ *
*
+ * Facilities Management
*
+ * Written by Sigurd Nes [sigurdne at online.no]
*
+ *
------------------------------------------------------------------------ *
+ * Copyright 2000 - 2003 Free Software Foundation, Inc
*
+ * This program is part of the GNU project, see http://www.gnu.org/
*
+ *
------------------------------------------------------------------------ *
+ * This program 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.
*
+
\**************************************************************************/
+
+ class property_sowo_hour
+ {
+
+ function property_sowo_hour()
+ {
+ $this->currentapp = 'property';
//$GLOBALS['phpgw_info']['flags']['currentapp'];
+ $this->db =
$GLOBALS['phpgw']->db;
+ $this->db2 = $this->db;
+ $this->account =
$GLOBALS['phpgw_data']['user']['id'];
+ $this->bocommon =
CreateObject($this->currentapp.'_bocommon');
+
+ $this->join = $this->bocommon->join;
+ }
+
+ function get_chapter_list()
+ {
+ $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT id,
descr FROM fm_chapter ORDER BY id ");
+
+ $i = 0;
+ while (!$dbresult->EOF)
+ {
+ $chapter_entries[$i]['id']
= $dbresult->fields['id'];
+ $chapter_entries[$i]['name']
= stripslashes($dbresult->fields['descr']);
+ $i++;
+ $dbresult->MoveNext();
+ }
+ return $chapter_entries;
+ }
+
+ function get_grouping_list($workorder_id='')
+ {
+ $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT
grouping_id, grouping_descr FROM fm_wo_hours where workorder_id='$workorder_id'
and grouping_id >0 group by grouping_id, grouping_descr");
+
+ $i = 0;
+ while (!$dbresult->EOF)
+ {
+ $grouping_entries[$i]['id']
= $dbresult->fields['grouping_id'];
+ $grouping_entries[$i]['name']
= stripslashes($dbresult->fields['grouping_descr']);
+ $i++;
+ $dbresult->MoveNext();
+ }
+ return $grouping_entries;
+ }
+
+ function get_building_part_list()
+ {
+ $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT id,
descr FROM fm_building_part ORDER BY id ");
+
+ $i = 0;
+ while (!$dbresult->EOF)
+ {
+ $building_part_entries[$i]['id']
= $dbresult->fields['id'];
+ $building_part_entries[$i]['name']
= stripslashes($dbresult->fields['descr']);
+ $i++;
+ $dbresult->MoveNext();
+ }
+ return $building_part_entries;
+ }
+
+
+ function select_branch_list()
+ {
+ $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT id,
descr FROM fm_branch ORDER BY id ");
+
+ $i = 0;
+ while (!$dbresult->EOF)
+ {
+ $branch_entries[$i]['id']
= $dbresult->fields['id'];
+ $branch_entries[$i]['name']
= stripslashes($dbresult->fields['descr']);
+ $i++;
+ $dbresult->MoveNext();
+ }
+ return $branch_entries;
+ }
+
+
+ function read($data)
+ {
+ if(is_array($data))
+ {
+ $workorder_id =
(isset($data['workorder_id'])?$data['workorder_id']:0);
+ }
+
+
+ $ordermethod = ' order by grouping_id, record , id asc
';
+
+ $sql = "SELECT * FROM fm_wo_hours WHERE
workorder_id='$workorder_id' ";
+
+ $dbresult = $GLOBALS['phpgw']->db->Execute($sql .
$ordermethod);
+ $this->total_records = $dbresult->_numOfRows;
+
+ while (!$dbresult->EOF)
+ {
+ $hour_list[] = array
+ (
+ 'hour_id' =>
$dbresult->fields['id'],
+ 'activity_num' =>
$dbresult->fields['activity_num'],
+ 'hours_descr' =>
stripslashes($dbresult->fields['hours_descr']),
+ 'owner' =>
$dbresult->fields['owner'],
+ 'quantity' =>
$dbresult->fields['quantity'],
+ 'grouping_id' =>
$dbresult->fields['grouping_id'],
+ 'grouping_descr' =>
$dbresult->fields['grouping_descr'],
+ 'ns3420_id' =>
$dbresult->fields['ns3420_id'],
+ 'tolerance' =>
$dbresult->fields['tolerance'],
+ 'activity_id' =>
$dbresult->fields['activity_id'],
+ 'unit' =>
$dbresult->fields['unit'],
+ 'record' =>
$dbresult->fields['record'],
+ 'cost' =>
$dbresult->fields['cost'],
+ 'billperae' =>
$dbresult->fields['billperae'],
+ 'remark' =>
$dbresult->fields['remark'],
+ 'building_part' =>
$dbresult->fields['building_part'],
+ 'dim_d' =>
$dbresult->fields['dim_d']
+ );
+ $dbresult->MoveNext();
+ }
+
+ for ($i=0; $i<count($hour_list); $i++)
+ {
+ $sql = "SELECT sum(amount) as deviation,
count(amount) as count_deviation FROM fm_wo_h_deviation WHERE
workorder_id=$workorder_id and hour_id=". $hour_list[$i]['hour_id'];
+ $dbresult =
$GLOBALS['phpgw']->db->Execute($sql);
+
+
$hour_list[$i]['deviation']=$dbresult->fields['deviation'];
+
$hour_list[$i]['count_deviation']=$dbresult->fields['count_deviation'];
+ }
+
+ return $hour_list;
+ }
+
+
+ function read_deviation($data)
+ {
+ if(is_array($data))
+ {
+ $workorder_id =
(isset($data['workorder_id'])?$data['workorder_id']:0);
+ $hour_id =
(isset($data['hour_id'])?$data['hour_id']:0);
+ }
+
+ $ordermethod = ' order by id asc';
+
+ $sql = "SELECT * FROM fm_wo_h_deviation WHERE
workorder_id=$workorder_id AND hour_id=$hour_id ";
+
+
+ $dbresult = $GLOBALS['phpgw']->db->Execute($sql .
$ordermethod);
+ $this->total_records = $dbresult->_numOfRows;
+
+ while (!$dbresult->EOF)
+ {
+ $deviation[] = array
+ (
+ 'entry_date' =>
$dbresult->fields['entry_date'],
+ 'workorder_id' =>
$workorder_id,
+ 'hour_id' =>
$hour_id,
+ 'id' =>
$dbresult->fields['id'],
+ 'amount' =>
$dbresult->fields['amount'],
+ 'descr' =>
stripslashes($dbresult->fields['descr'])
+ );
+ $dbresult->MoveNext();
+ }
+//html_print_r($deviation);
+ return $deviation;
+
+
+ }
+
+
+ function read_single_deviation($data)
+ {
+ if(is_array($data))
+ {
+ $workorder_id =
(isset($data['workorder_id'])?$data['workorder_id']:0);
+ $hour_id =
(isset($data['hour_id'])?$data['hour_id']:0);
+ $id = (isset($data['id'])?$data['id']:0);
+ }
+
+ $sql = "SELECT * FROM fm_wo_h_deviation WHERE
workorder_id=$workorder_id AND hour_id=$hour_id AND id = $id";
+ $dbresult = $GLOBALS['phpgw']->db->Execute($sql);
+
+ $deviation = array
+ (
+ 'entry_date' =>
$dbresult->fields['entry_date'],
+ 'workorder_id' => $workorder_id,
+ 'hour_id' => $hour_id,
+ 'id' =>
$dbresult->fields['id'],
+ 'amount' =>
$dbresult->fields['amount'],
+ 'descr' =>
stripslashes($dbresult->fields['descr'])
+ );
+ return $deviation;
+ }
+
+ function add_deviation($values)
+ {
+ $sql = "SELECT max(id) as current_id FROM
fm_wo_h_deviation WHERE workorder_id=" . $values['workorder_id'] . " AND
hour_id=" . $values['hour_id'];
+ $dbresult = $GLOBALS['phpgw']->db->Execute($sql);
+
+ $id=$dbresult->fields['current_id']+1;
+
+ $values['descr'] =
$this->db->db_addslashes($values['descr']);
+
+ $values_insert= array(
+ $values['workorder_id'],
+ $values['hour_id'],
+ $id,
+ $values['amount'],
+ $values['descr'],
+ time()
+ );
+
+ $values_insert =
$this->bocommon->validate_db_insert($values_insert);
+
+ $GLOBALS['phpgw']->db->Execute("INSERT INTO
fm_wo_h_deviation (workorder_id,hour_id,id,amount,descr,entry_date) VALUES
($values_insert)");
+
+ $receipt['id']= $id;
+
+ $receipt['message'][] = array('msg'=> lang('deviation
has been added'));
+ return $receipt;
+ }
+
+ function edit_deviation($values)
+ {
+ $values['descr'] =
$this->db->db_addslashes($values['descr']);
+
+ $value_set=array(
+ 'amount' =>
$values['amount'],
+ 'descr' =>
$this->db->db_addslashes($values['descr'])
+ );
+
+ $value_set =
$this->bocommon->validate_db_update($value_set);
+
+ $GLOBALS['phpgw']->db->Execute("UPDATE
fm_wo_h_deviation set $value_set WHERE workorder_id=" . $values['workorder_id']
. " AND hour_id=" . $values['hour_id'] . " AND id=" . $values['id']);
+
+ $receipt['message'][] = array('msg'=> lang('deviation
has been edited'));
+
+ return $receipt;
+ }
+
+ function update_deviation($data)
+ {
+ if(is_array($data))
+ {
+ $id =
(isset($data['workorder_id'])?$data['workorder_id']:0);
+ $deviation =
(isset($data['sum_deviation'])?$data['sum_deviation']:0);
+ }
+ $GLOBALS['phpgw']->db->Execute("UPDATE fm_workorder set
deviation = $deviation WHERE id=$id");
+ return $receipt;
+ }
+
+
+ function next_record($workorder_id)
+ {
+
+ $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT
max(record) as record FROM fm_wo_hours where workorder_id='$workorder_id'");
+
+ $record = $dbresult->fields['record']+1;
+ return $record;
+
+ }
+
+ function add_template($values,$workorder_id)
+ {
+
+ $values['name'] =
$this->db->db_addslashes($values['name']);
+ $soworkorder =
CreateObject($this->currentapp.'_soworkorder');
+ $workorder =
$soworkorder->read_single($workorder_id);
+//html_print_r($workorder);
+
+ $GLOBALS['phpgw']->db->begintrans();
+
+ $GLOBALS['phpgw']->db->Execute("INSERT into fm_template
(owner,name,descr,chapter_id,entry_date) "
+ . " values ('" .
+ $this->account . "','" .
+ $values['name'] . "','" .
+ $values['descr'] . "','" .
+ $workorder['chapter_id'] . "','" .
+ time() . "')");
+
+ $template_id =
$this->db->get_last_insert_id('fm_template','id');
+
+ $hour = $this->read(array('workorder_id' =>
$workorder_id));
+
+ $record = $this->next_record($hour[0]['workorder_id']);
+
+ for ($i=0; $i<count($hour); $i++)
+ {
+
+ $values= array(
+ $hour[$i]['activity_id'],
+ $hour[$i]['activity_num'],
+ $this->account,
+ $hour[$i]['hours_descr'],
+ $hour[$i]['unit'],
+ $hour[$i]['cost'],
+ $hour[$i]['quantity'],
+ $hour[$i]['billperae'],
+ $hour[$i]['ns3420_id'],
+ $hour[$i]['dim_d'],
+ $hour[$i]['grouping_id'],
+ $hour[$i]['grouping_descr'],
+ $hour[$i]['remark'],
+ $hour[$i]['tolerance'],
+ $hour[$i]['building_part'],
+ $record,
+ $template_id );
+
+ $values =
$this->bocommon->validate_db_insert($values);
+
+ $GLOBALS['phpgw']->db->Execute("INSERT into
fm_template_hours (activity_id,activity_num,owner,hours_descr,unit,"
+ .
"cost,quantity,billperae,ns3420_id,dim_d,grouping_id,grouping_descr,remark,tolerance,building_part,record,template_id)
"
+ . " values ($values)");
+
+ $record++;
+ }
+
+ $GLOBALS['phpgw']->db->committrans();
+
+ $receipt['message'][] = array('msg'=>lang('template %1
is added',$values['name']));
+ return $receipt;
+ }
+
+
+ function add_hour($hour)
+ {
+
+ $record = $this->next_record($hour[0]['workorder_id']);
+
+ for ($i=0; $i<count($hour); $i++)
+ {
+
+ $values= array(
+ $hour[$i]['activity_id'],
+ $hour[$i]['activity_num'],
+ $this->account,
+ $hour[$i]['hours_descr'],
+ $hour[$i]['unit'],
+ $hour[$i]['cost'],
+ $hour[$i]['quantity'],
+ $hour[$i]['billperae'],
+ $hour[$i]['ns3420_id'],
+ $hour[$i]['dim_d'],
+ $record,
+ time(),
+ $hour[$i]['workorder_id']);
+
+ $values =
$this->bocommon->validate_db_insert($values);
+
+ $GLOBALS['phpgw']->db->Execute("INSERT into
fm_wo_hours
(activity_id,activity_num,owner,hours_descr,unit,cost,quantity,billperae,ns3420_id,dim_d,record,entry_date,workorder_id)
"
+ . " values ($values)");
+
+ $record++;
+ }
+
+ $receipt['message'][] = array('msg'=>lang('%1 entries
is added!',count($hour)));
+
+ $receipt['hour_id'] =
$this->db->get_last_insert_id('fm_wo_hours','id');
+
+ return $receipt;
+
+ }
+
+ function add_hour_from_template($hour,$workorder_id)
+ {
+//html_print_r($hour);
+
+ $record = $this->next_record($workorder_id);
+
+ $GLOBALS['phpgw']->db->Execute("UPDATE fm_workorder set
+ chapter_id ='" . $hour[0]['chapter_id'] .
"' WHERE id= '$workorder_id'");
+
+
+ for ($i=0; $i<count($hour); $i++)
+ {
+
+ if($hour[$i]['new_grouping'])
+ {
+ $dbresult =
$GLOBALS['phpgw']->db->Execute("SELECT grouping_id FROM fm_wo_hours where
grouping_descr ='" .$hour[$i]['new_grouping'] . "' and workorder_id=
'$workorder_id'");
+
+ if ( $dbresult->fields['grouping_id'])
+ {
+ $grouping_id =
$dbresult->fields['grouping_id'];
+ }
+ else
+ {
+ $dbresult =
$GLOBALS['phpgw']->db->Execute("SELECT max(grouping_id) as grouping_id FROM
fm_wo_hours where workorder_id= '$workorder_id'");
+
+ $grouping_id =
$dbresult->fields['grouping_id']+1;
+ }
+
+ $grouping_descr =
$hour[$i]['new_grouping'];
+ }
+
+ $values= array(
+ $this->account,
+ $hour[$i]['activity_id'],
+ $hour[$i]['activity_num'],
+ $hour[$i]['hours_descr'],
+ $hour[$i]['unit'],
+ $hour[$i]['cost'],
+ $hour[$i]['quantity'],
+ $hour[$i]['billperae'],
+ $hour[$i]['ns3420_id'],
+ $hour[$i]['dim_d'],
+ $grouping_id,
+ $grouping_descr,
+ $record,
+ $hour[$i]['building_part_id'],
+ $hour[$i]['tolerance_id'],
+ $hour[$i]['remark'],
+ time(),
+ $workorder_id );
+
+ $values =
$this->bocommon->validate_db_insert($values);
+
+ $GLOBALS['phpgw']->db->Execute("INSERT into
fm_wo_hours
(owner,activity_id,activity_num,hours_descr,unit,cost,quantity,billperae,ns3420_id,dim_d,"
+ . "
grouping_id,grouping_descr,record,building_part,tolerance,remark,entry_date,workorder_id)
"
+ . " values ($values )");
+
+ $record++;
+ }
+
+ $receipt['message'][] = array('msg'=>lang('the number
of %1 hour is added!',$i));
+
+ return $receipt;
+ }
+
+ function add_custom_hour($hour,$workorder_id)
+ {
+
+ $hour['record'] = $this->next_record($workorder_id);
+
+ if($hour['chapter_id'])
+ {
+ $GLOBALS['phpgw']->db->Execute("UPDATE
fm_workorder set
+ chapter_id ='" . $hour['chapter_id'] . "'
WHERE id= '$workorder_id'");
+ }
+
+ if($hour['grouping_id'])
+ {
+ $dbresult =
$GLOBALS['phpgw']->db->Execute("SELECT grouping_descr , max(record) as record
FROM fm_wo_hours where grouping_id='" .$hour['grouping_id'] . "' and
workorder_id= '$workorder_id' GROUP by grouping_descr");
+
+ $hour['grouping_descr'] =
$dbresult->fields['grouping_descr'];
+// $hour['record'] = $dbresult->fields['record']+1;
+ }
+
+ if($hour['new_grouping'])
+ {
+ $dbresult =
$GLOBALS['phpgw']->db->Execute("SELECT grouping_id FROM fm_wo_hours where
grouping_descr ='" .$hour['new_grouping'] . "' and workorder_id=
'$workorder_id'");
+
+ if ( $dbresult->fields['grouping_id'])
+ {
+ $hour['grouping_id'] =
$dbresult->fields['grouping_id'];
+ }
+ else
+ {
+ $dbresult =
$GLOBALS['phpgw']->db->Execute("SELECT max(grouping_id) as grouping_id FROM
fm_wo_hours where workorder_id= '$workorder_id'");
+
+ $hour['grouping_id'] =
$dbresult->fields['grouping_id']+1;
+// $hour['record'] = 1;
+ }
+
+ $hour['grouping_descr'] = $hour['new_grouping'];
+ }
+
+ $values= array(
+ $this->account,
+ $hour['descr'],
+ $hour['unit'],
+ $hour['cost'],
+ $hour['quantity'],
+ $hour['billperae'],
+ $hour['ns3420_id'],
+ $hour['dim_d'],
+ $hour['grouping_id'],
+ $hour['grouping_descr'],
+ $hour['record'],
+ $hour['building_part_id'],
+ $hour['tolerance_id'],
+ $hour['remark'],
+ time(),
+ $workorder_id
+ );
+
+ $values = $this->bocommon->validate_db_insert($values);
+
+ $GLOBALS['phpgw']->db->Execute("INSERT into fm_wo_hours
(owner,hours_descr,unit,cost,quantity,billperae,ns3420_id,dim_d,"
+ . "
grouping_id,grouping_descr,record,building_part,tolerance,remark,entry_date,workorder_id)
"
+ . "VALUES ( $values )");
+
+ $receipt['hour_id'] =
$this->db->get_last_insert_id('fm_wo_hours','id');
+
+ $receipt['message'][] = array('msg'=>lang('hour %1 is
added!',$receipt['hour_id']));
+
+ return $receipt;
+
+ }
+
+ function read_single_hour($hour_id)
+ {
+ $sql = "SELECT * from fm_wo_hours where id='$hour_id'";
+
+ $dbresult = $GLOBALS['phpgw']->db->Execute($sql);
+
+ if (!$dbresult->EOF)
+ {
+ $hour['hour_id']
= $dbresult->fields['id'];
+ $hour['record']
= $dbresult->fields['record'];
+ $hour['activity_id'] =
$dbresult->fields['activity_id'];
+ $hour['activity_num'] =
$dbresult->fields['activity_num'];
+ $hour['grouping_id'] =
$dbresult->fields['grouping_id'];
+ $hour['hours_descr'] =
$dbresult->fields['hours_descr'];
+ $hour['remark']
= $dbresult->fields['remark'];
+ $hour['billperae']
= $dbresult->fields['billperae'];
+ $hour['unit']
= $dbresult->fields['unit'];
+ $hour['ns3420_id']
= $dbresult->fields['ns3420_id'];
+ $hour['tolerance_id'] =
(int)$dbresult->fields['tolerance'];
+ $hour['building_part_id'] =
(int)$dbresult->fields['building_part'];
+ $hour['quantity']
= $dbresult->fields['quantity'];
+ $hour['cost']
= $dbresult->fields['cost'];
+ $hour['dim_d']
= $dbresult->fields['dim_d'];
+ }
+
+ return $hour;
+ }
+
+ function edit($hour,$workorder_id)
+ {
+
+ $hour['descr'] =
$this->db->db_addslashes($hour['descr']);
+ $hour['remark'] =
$this->db->db_addslashes($hour['remark']);
+//html_print_r($hour);
+
+
+ if($hour['chapter_id'])
+ {
+ $GLOBALS['phpgw']->db->Execute("UPDATE
fm_workorder set
+ chapter_id ='" . $hour['chapter_id'] . "'
WHERE id= '$workorder_id'");
+ }
+
+ if($hour['new_grouping'])
+ {
+ $dbresult =
$GLOBALS['phpgw']->db->Execute("SELECT grouping_id FROM fm_wo_hours where
grouping_descr ='" .$hour['new_grouping'] . "' and workorder_id=
'$workorder_id'");
+
+ if ( $dbresult->fields['grouping_id'])
+ {
+ $hour['grouping_id'] =
$dbresult->fields['grouping_id'];
+ }
+ else
+ {
+
+ $GLOBALS['phpgw']->db->Execute("UPDATE
fm_wo_hours set grouping_id = NULL WHERE id ='" .$hour['hour_id'] . "'");
+ $dbresult =
$GLOBALS['phpgw']->db->Execute("SELECT count(grouping_id) as num_grouping FROM
fm_wo_hours where workorder_id= '$workorder_id' and grouping_id >0 ");
+
+ if
($dbresult->fields['num_grouping']==1)
+ {
+ $hour['grouping_id']=1;
+ }
+ else
+ {
+ $dbresult =
$GLOBALS['phpgw']->db->Execute("SELECT max(grouping_id) as grouping_id FROM
fm_wo_hours where workorder_id= '$workorder_id'");
+
+ $hour['grouping_id'] =
$dbresult->fields['grouping_id']+1;
+ }
+ }
+ $hour['grouping_descr'] = $hour['new_grouping'];
+ }
+ else
+ {
+ $dbresult =
$GLOBALS['phpgw']->db->Execute("SELECT grouping_id,grouping_descr FROM
fm_wo_hours where id ='" .$hour['hour_id'] . "'");
+
+ $old_grouping_id =
$dbresult->fields['grouping_id'];
+
+ if ( $old_grouping_id == $hour['grouping_id'])
+ {
+
+ $hour['grouping_descr'] =
$dbresult->fields['grouping_descr'];
+ }
+ else
+ {
+ $dbresult =
$GLOBALS['phpgw']->db->Execute("SELECT grouping_descr , max(record) as record
FROM fm_wo_hours where grouping_id='" .$hour['grouping_id'] . "' and
workorder_id= '$workorder_id' GROUP by grouping_descr");
+
+ if($dbresult->fields['grouping_descr'])
+ {
+ $hour['grouping_descr'] =
$dbresult->fields['grouping_descr'];
+ }
+ else
+ {
+ $hour['grouping_id']='';
+ $hour['grouping_descr']='';
+ }
+
+/* if($old_record>1)
+ {
+
$GLOBALS['phpgw']->db->Execute("UPDATE fm_wo_hours set
+ record = record - 1
where grouping_id='" .$hour['grouping_id'] . "' and workorder_id=
'$workorder_id' and record > $old_record ");
+
+ }
+
+*/
+ }
+ }
+
+ $value_set=array(
+ 'hours_descr' => $hour['descr'],
+ 'remark' =>
$hour['remark'],
+ 'billperae' =>
$hour['billperae'],
+ 'unit' =>
$hour['unit'],
+ 'quantity' =>
$hour['quantity'],
+ 'cost' =>
$hour['cost'],
+ 'ns3420_id' =>
$hour['ns3420_id'],
+ 'tolerance' =>
$hour['tolerance_id'],
+ 'building_part' =>
$hour['building_part_id'],
+ 'dim_d' =>
$hour['dim_d'],
+ 'grouping_id' => $hour['grouping_id'],
+ 'grouping_descr' =>
$hour['grouping_descr']
+ );
+
+ $value_set =
$this->bocommon->validate_db_update($value_set);
+
+ $GLOBALS['phpgw']->db->Execute("UPDATE fm_wo_hours set
$value_set WHERE id= '" . $hour['hour_id'] ."'");
+
+ $receipt['hour_id'] = $hour['hour_id'];
+ $receipt['message'][] = array('msg'=>lang('hour %1 has
been edited',$hour['hour_id']));
+ return $receipt;
+
+ }
+
+ function update_email($to_email,$workorder_id)
+ {
+ $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT
vendor_id FROM fm_workorder where id ='$workorder_id'");
+
+ $vendor_id = $dbresult->fields['vendor_id'];
+
+ $GLOBALS['phpgw']->db->Execute("UPDATE
phpgw_addressbook set email ='$to_email' where id= '$vendor_id'");
+ }
+
+ function get_extra_email($vendor_id)
+ {
+ $vendor_id=(int)$vendor_id;
+ $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT
contact_value from phpgw_addressbook_extra where contact_id='$vendor_id' and
contact_value like 'address@hidden'");
+ while (!$dbresult->EOF)
+ {
+ $email_list[] = array('email' =>
$dbresult->fields['contact_value']);
+ $dbresult->MoveNext();
+ }
+ return $email_list;
+ }
+
+ function delete($hour_id,$workorder_id )
+ {
+ $dbresult = $GLOBALS['phpgw']->db->Execute("SELECT
record FROM fm_wo_hours where id ='$hour_id'");
+
+ $old_record = $dbresult->fields['record'];
+
+ $GLOBALS['phpgw']->db->begintrans();
+
+ $GLOBALS['phpgw']->db->Execute("DELETE FROM fm_wo_hours
WHERE id='" . $hour_id . "'");
+ $GLOBALS['phpgw']->db->Execute("DELETE FROM
fm_wo_h_deviation WHERE workorder_id=$workorder_id AND hour_id=$hour_id");
+ if($old_record)
+ {
+ $GLOBALS['phpgw']->db->Execute("UPDATE
fm_wo_hours set record = record - 1 where workorder_id= '$workorder_id' and
record > $old_record ");
+ }
+
+ $GLOBALS['phpgw']->db->committrans();
+
+ $receipt['message'][] = array('msg'=>lang('hour %1 has
been deleted',$hour_id));
+ return $receipt;
+
+ }
+
+ function delete_deviation($workorder_id,$hour_id,$id )
+ {
+ $GLOBALS['phpgw']->db->Execute("DELETE FROM
fm_wo_h_deviation WHERE workorder_id=$workorder_id AND hour_id=$hour_id AND
id=$id");
+ $receipt['message'][] = array('msg'=>lang('deviation %1
has been deleted',$id));
+ return $receipt;
+ }
+
+ function update_calculation($data)
+ {
+ if(is_array($data))
+ {
+ $id =
(isset($data['workorder_id'])?$data['workorder_id']:0);
+ $calculation =
(isset($data['calculation'])?$data['calculation']:0);
+ }
+ $GLOBALS['phpgw']->db->Execute("UPDATE fm_workorder set
calculation = $calculation WHERE id=$id");
+ return $receipt;
+ }
+ }
+?>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Phpgroupware-cvs] property/class.sowo_hour.php, 1.1.1.3,
nomail <=