forked from devlab-oy/pupesoft
/
odottaa_suoritusta.php
151 lines (115 loc) · 4.11 KB
/
odottaa_suoritusta.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<?php
if (php_sapi_name() != 'cli') {
die ("Tätä scriptiä voi ajaa vain komentoriviltä!");
}
ini_set("include_path", ini_get("include_path").PATH_SEPARATOR.dirname(__FILE__).PATH_SEPARATOR."/usr/share/pear");
error_reporting(E_ALL ^E_WARNING ^E_NOTICE);
ini_set("display_errors", 0);
require_once 'inc/connect.inc';
require_once 'inc/functions.inc';
// Logitetaan ajo
cron_log();
/*
* HOW TO:
*
* Tarvitaan 1 parametri: yhtio
*
*/
if (!isset($argv[1]) or $argv[1] == '') {
echo "Anna yhtiö!!!\n";
die;
}
$yhtiorow = hae_yhtion_parametrit($argv[1]);
$tilaukset = hae_suoritusta_odottavat_tilaukset();
kasittele_tilaukset($tilaukset);
function hae_suoritusta_odottavat_tilaukset() {
global $yhtiorow;
$query = "SELECT *
FROM lasku
WHERE yhtio = '{$yhtiorow['yhtio']}'
AND tila = 'N'
AND alatila = 'G'
ORDER BY luontiaika ASC";
$result = pupe_query($query);
$tilaukset = array();
while ($tilaus = mysql_fetch_assoc($result)) {
$tilaukset[] = $tilaus;
}
return $tilaukset;
}
function kasittele_tilaukset($tilaukset) {
global $kukarow, $yhtiorow;
if (count($tilaukset) > 0) echo "\n".t("Otetaan").' '.count($tilaukset).' '.t("myyntitilausta käsittelyyn")."\n";
foreach ($tilaukset as $laskurow) {
// Parametrejä saatanat.php:lle
$sytunnus = $laskurow['ytunnus'];
$sliitostunnus = $laskurow['liitostunnus'];
$eiliittymaa = "ON";
$luottorajavirhe = "";
$jvvirhe = "";
$ylivito = 0;
$trattavirhe = "";
$laji = "MA";
$grouppaus = ($yhtiorow["myyntitilaus_saatavat"] == "Y") ? "ytunnus" : "";
$kukarow = hae_asiakas($laskurow['liitostunnus']);
ob_start();
require "raportit/saatanat.php";
ob_end_clean();
if (!empty($luottorajavirhe) or $ylivito > 0) {
echo t("Lasku").' '.$laskurow['tunnus'].' '.t("pysyy suoritusta odotus tilassa")."\n";
}
else {
//jos laskut on maksettu, tilaus voidaan laittaa myyntitilaus kesken tilaan
aseta_tilaus_kesken_tilaan_ja_aseta_uusi_lahto($laskurow);
}
}
}
function aseta_tilaus_kesken_tilaan_ja_aseta_uusi_lahto($laskurow) {
global $yhtiorow, $kukarow;
tarkista_suoratoimitus($laskurow);
aseta_tilaus_kesken_tilaan($laskurow);
}
function tarkista_suoratoimitus($myyntitilaus) {
global $kukarow, $yhtiorow;
$query = "SELECT tilausrivin_lisatiedot.tilausrivilinkki,
tilausrivi.otunnus
FROM tilausrivin_lisatiedot
JOIN tilausrivi
ON ( tilausrivi.yhtio = tilausrivin_lisatiedot.yhtio
AND tilausrivi.tunnus = tilausrivin_lisatiedot.tilausrivilinkki
)
WHERE tilausrivin_lisatiedot.yhtio = '{$kukarow['yhtio']}'
AND tilausrivin_lisatiedot.vanha_otunnus = '{$myyntitilaus['tunnus']}'
AND tilausrivin_lisatiedot.tilausrivilinkki != 0
LIMIT 1";
$suoratoimitus_result = pupe_query($query);
if ($tilausrivin_lisatieto_row = mysql_fetch_assoc($suoratoimitus_result)) {
$query = "SELECT *
FROM lasku
WHERE yhtio = '{$kukarow['yhtio']}'
AND tunnus = '{$tilausrivin_lisatieto_row['otunnus']}'";
$result = pupe_query($query);
$laskurow = mysql_fetch_assoc($result);
echo t("Naitettu ostotilaus").' '.$laskurow['tunnus'].' '.t("asetetaan kesken tilaan")."\n";
aseta_tilaus_kesken_tilaan($laskurow);
}
}
function aseta_tilaus_kesken_tilaan($laskurow) {
global $kukarow, $yhtiorow;
$query = "UPDATE lasku
SET tila = '{$laskurow['tila']}',
alatila = ''
WHERE yhtio = '{$yhtiorow['yhtio']}'
AND tunnus = '{$laskurow['tunnus']}'
AND tila = '{$laskurow['tila']}'
AND alatila = 'G'";
pupe_query($query);
if (mysql_affected_rows() > 0) {
echo t("Lasku").' '.$laskurow['tunnus'].' '.t("asetettiin kesken tilaan")."\n";
if ($laskurow['tila'] == 'N') {
//tilaus-valmis.inc hoitaa meille järkevän lähdön kun tilauksen tila ja alatila on oikein
$kukarow['kesken'] = $laskurow['tunnus'];
require "tilauskasittely/tilaus-valmis.inc";
}
}
}