· 9 years ago · Dec 22, 2016, 07:58 AM
1Array
2(
3 [0] => Array
4 (
5 [id] => 1
6 [contractor] => Jimmys
7 [pitch] => 0
8 [stories] => 1
9 [labor_cost] => 0.00
10 [RecordLocatorID] =>
11 )
12
13 [1] => Array
14 (
15 [id] => 2
16 [contractor] => Jimmys
17 [pitch] => 1
18 [stories] => 1
19 [labor_cost] => 0.00
20 [RecordLocatorID] =>
21 )
22
23 [2] => Array
24 (
25 [id] => 3
26 [contractor] => Jimmys
27 [pitch] => 2
28 [stories] => 1
29 [labor_cost] => 0.00
30 [RecordLocatorID] =>
31 ),...
32);
33
34array(
35 array('contractor' => 'Jimmys','id' => '1','pitch' => '0','stories' => '1','labor_cost' => '0.00'),
36 array('contractor' => 'Jimmys','id' => '2','pitch' => '1','stories' => '1','labor_cost' => '0.00'),
37 array('contractor' => 'Jimmys','id' => '3','pitch' => '2','stories' => '1','labor_cost' => '0.00'),...
38);
39
40function Labor_INSTALL($decks,$rates,$Contractor) {
41// Foreach Loops - For Each DECK match PITCH where PITCH === PITCH in $rates
42 $Total = 0;
43 $Sum = 0;
44foreach ($decks as $deck) {
45
46 foreach ($rates as $rate) {
47
48 if ($deck['roof_stories'] === $rate['stories'] & $rate['contractor'] === $Contractor) {
49 // Foreach Stories that are greater than 1 we'll
50 // charge an addition fee per storie.
51
52 // Install Labor
53 if ($deck['roof_pitch'] === $rate['pitch']) {
54 $deckSQFT = $deck['roof_deck'] / 100;
55 $ConvertWaste = $deck['roof_waste'] / 100;
56 $WastePercentage = 1 + $ConvertWaste;
57 $ItemWithWaste = $deckSQFT * $WastePercentage;
58 $Total_Labor = $rate['labor_cost'] * $ItemWithWaste;
59 $Sum = $Sum + $Total_Labor;
60
61
62 }
63
64 }
65
66 }
67
68}
69$Total = round($Total + $Sum,2);
70
71return $Total;
72}
73
74$decks =
75array(
76
77 array( 'id' => '1',
78 'roof_stories' => '1',
79 'roof_pitch' => '9',
80 'roof_deck' => '1354',
81 'roof_waste' => '6'
82 )
83
84);
85$rates = array(
86 array('contractor' => 'Jimmys','id' => '1','pitch' => '0','stories' => '1','labor_cost' => '0.00'),...
87,
88 array('contractor' => 'Salinas','id' => '1','pitch' => '0','stories' => '1','labor_cost' => '0.00'),...
89);
90
91<?php
92
93$decks =
94array(
95
96 array( 'id' => '1',
97 'roof_stories' => '1',
98 'roof_pitch' => '9',
99 'roof_deck' => '1354',
100 'roof_waste' => '6'
101 )
102
103);
104$rates = array(
105 array('contractor' => 'Jimmys','id' => '1','pitch' => '0','stories' => '1','labor_cost' => '0.00'),
106 array('contractor' => 'Jimmys','id' => '2','pitch' => '1','stories' => '1','labor_cost' => '0.00'),
107 array('contractor' => 'Jimmys','id' => '3','pitch' => '2','stories' => '1','labor_cost' => '0.00'),
108 array('contractor' => 'Jimmys','id' => '4','pitch' => '3','stories' => '1','labor_cost' => '24.99'),
109 array('contractor' => 'Jimmys','id' => '5','pitch' => '4','stories' => '1','labor_cost' => '25'),
110 array('contractor' => 'Jimmys','id' => '6','pitch' => '5','stories' => '1','labor_cost' => '25'),
111 array('contractor' => 'Jimmys','id' => '7','pitch' => '6','stories' => '1','labor_cost' => '25'),
112 array('contractor' => 'Jimmys','id' => '8','pitch' => '7','stories' => '1','labor_cost' => '28.50'),
113 array('contractor' => 'Jimmys','id' => '9','pitch' => '8','stories' => '1','labor_cost' => '28.50'),
114 array('contractor' => 'Jimmys','id' => '10','pitch' => '9','stories' => '1','labor_cost' => '35.00'),
115 array('contractor' => 'Jimmys','id' => '11','pitch' => '10','stories' => '1','labor_cost' => '35.00'),
116 array('contractor' => 'Jimmys','id' => '12','pitch' => '11','stories' => '1','labor_cost' => '39.00'),
117 array('contractor' => 'Jimmys','id' => '13','pitch' => '12','stories' => '1','labor_cost' => '39.00')
118,
119 array('contractor' => 'Salinas','id' => '1','pitch' => '0','stories' => '1','labor_cost' => '0.00'),
120 array('contractor' => 'Salinas','id' => '2','pitch' => '1','stories' => '1','labor_cost' => '115.00'),
121 array('contractor' => 'Salinas','id' => '3','pitch' => '2','stories' => '1','labor_cost' => '118.00'),
122 array('contractor' => 'Salinas','id' => '4','pitch' => '3','stories' => '1','labor_cost' => '121.00'),
123 array('contractor' => 'Salinas','id' => '5','pitch' => '4','stories' => '1','labor_cost' => '123.00'),
124 array('contractor' => 'Salinas','id' => '6','pitch' => '5','stories' => '1','labor_cost' => '125.00'),
125 array('contractor' => 'Salinas','id' => '7','pitch' => '6','stories' => '1','labor_cost' => '127.00'),
126 array('contractor' => 'Salinas','id' => '8','pitch' => '7','stories' => '1','labor_cost' => '130.00'),
127 array('contractor' => 'Salinas','id' => '9','pitch' => '8','stories' => '1','labor_cost' => '135.00'),
128 array('contractor' => 'Salinas','id' => '10','pitch' => '9','stories' => '1','labor_cost' => '135.00'),
129 array('contractor' => 'Salinas','id' => '11','pitch' => '10','stories' => '1','labor_cost' => '125.00'),
130 array('contractor' => 'Salinas','id' => '12','pitch' => '11','stories' => '1','labor_cost' => '155.00'),
131 array('contractor' => 'Salinas','id' => '13','pitch' => '12','stories' => '1','labor_cost' => '175.00')
132);
133function Labor_INSTALL($decks,$rates,$Contractor) {
134// Foreach Loops - For Each DECK match PITCH where PITCH === PITCH in $rates
135 $Total = 0;
136 $Sum = 0;
137foreach ($decks as $deck) {
138
139 foreach ($rates as $rate) {
140
141 if ($deck['roof_stories'] === $rate['stories'] & $rate['contractor'] === $Contractor) {
142 // Foreach Stories that are greater than 1 we'll
143 // charge an addition fee per storie.
144
145 // Install Labor
146 if ($deck['roof_pitch'] === $rate['pitch']) {
147 $deckSQFT = $deck['roof_deck'] / 100;
148 $ConvertWaste = $deck['roof_waste'] / 100;
149 $WastePercentage = 1 + $ConvertWaste;
150 $ItemWithWaste = $deckSQFT * $WastePercentage;
151 $Total_Labor = $rate['labor_cost'] * $ItemWithWaste;
152 $Sum = $Sum + $Total_Labor;
153
154
155 }
156
157 }
158
159 }
160
161}
162$Total = round($Total + $Sum,2);
163
164return $Total;
165}
166
167echo $Shingle_Labor_Sum = Labor_INSTALL($decks,$rates,$Contractor = 'Jimmys');
168
169CREATE TABLE IF NOT EXISTS `labor_install` (
170 `id` int(11) NOT NULL AUTO_INCREMENT,
171 `contractor` varchar(50) NOT NULL,
172 `pitch` varchar(2) NOT NULL,
173 `stories` varchar(1) NOT NULL,
174 `labor_cost` float(10,2) NOT NULL,
175 `RecordLocatorID` varchar(32) DEFAULT NULL,
176 PRIMARY KEY (`id`)
177) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=27 ;
178
179--
180-- Dumping data for table `labor_install`
181--
182
183INSERT INTO `labor_install` (`id`, `contractor`, `pitch`, `stories`, `labor_cost`, `RecordLocatorID`) VALUES
184(1, 'Jimmys', '0', '1', 0.00, NULL),
185(2, 'Jimmys', '1', '1', 0.00, NULL),
186(3, 'Jimmys', '2', '1', 0.00, NULL),
187(4, 'Jimmys', '3', '1', 24.50, NULL),
188(5, 'Jimmys', '4', '1', 24.50, NULL),
189(6, 'Jimmys', '5', '1', 24.50, NULL),
190(7, 'Jimmys', '6', '1', 24.50, NULL),
191(8, 'Jimmys', '7', '1', 28.00, NULL),
192(9, 'Jimmys', '8', '1', 28.00, NULL),
193(10, 'Jimmys', '9', '1', 34.50, NULL),
194(11, 'Jimmys', '10', '1', 34.50, NULL),
195(12, 'Jimmys', '11', '1', 38.50, NULL),
196(13, 'Jimmys', '12', '1', 38.50, NULL),
197(14, 'Salinas', '0', '1', 120.00, NULL),
198(15, 'Salinas', '1', '1', 122.00, NULL),
199(16, 'Salinas', '2', '1', 124.00, NULL),
200(17, 'Salinas', '3', '1', 125.00, NULL),
201(18, 'Salinas', '4', '1', 126.00, NULL),
202(19, 'Salinas', '5', '1', 127.00, NULL),
203(20, 'Salinas', '6', '1', 128.00, NULL),
204(21, 'Salinas', '7', '1', 129.00, NULL),
205(22, 'Salinas', '8', '1', 120.00, NULL),
206(23, 'Salinas', '9', '1', 125.00, NULL),
207(24, 'Salinas', '10', '1', 156.00, NULL),
208(25, 'Salinas', '11', '1', 146.00, NULL),
209(26, 'Salinas', '12', '1', 175.00, NULL);
210
211CREATE TABLE IF NOT EXISTS `roof` (
212 `id` int(11) NOT NULL AUTO_INCREMENT,
213 `roof_tearoff` varchar(3) NOT NULL,
214 `roof_stories` int(11) NOT NULL DEFAULT '1',
215 `roof_layers` int(11) NOT NULL DEFAULT '0',
216 `roof_pitch` int(11) NOT NULL DEFAULT '0',
217 `roof_deck` int(11) NOT NULL DEFAULT '0',
218 `roof_eaves` int(11) NOT NULL DEFAULT '0',
219 `roof_rakes` int(11) NOT NULL DEFAULT '0',
220 `roof_hips` int(11) NOT NULL DEFAULT '0',
221 `roof_ridge` int(11) NOT NULL DEFAULT '0',
222 `roof_valley` int(11) NOT NULL DEFAULT '0',
223 `roof_sidewall` int(11) NOT NULL DEFAULT '0',
224 `roof_headwall` int(11) NOT NULL DEFAULT '0',
225 `roof_waste` mediumint(2) NOT NULL DEFAULT '0',
226 `Roof_API` varchar(32) NOT NULL,
227 `Prospect_API` varchar(32) NOT NULL,
228 PRIMARY KEY (`id`)
229 ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=9 ;
230
231 --
232 -- Dumping data for table `roof`
233 --
234
235 INSERT INTO `roof` (`id`, `roof_tearoff`, `roof_stories`, `roof_layers`, `roof_pitch`, `roof_deck`, `roof_eaves`, `roof_rakes`, `roof_hips`, `roof_ridge`, `roof_valley`, `roof_sidewall`, `roof_headwall`, `roof_waste`, `Roof_API`, `Prospect_API`) VALUES
236 (6, 'Yes', 2, 1, 5, 1200, 75, 65, 25, 35, 20, 8, 6, 6, 'ce85d735a54c23b0e1f96f46697be70b', 'cc08001afb2dcec4db8a2dc25ea09ef1');