/var/www/enzatesting.onesolution.hk/ord_setd_split_checkin.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
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
<?php 
$formid 
"Order";
require_once 
"inc/configure.php";

function 
seto_checkin($orddtl_refid$opr_param){
    
//write tx details to subtable
    
global $dbh;        
    
$writecount 0;
    foreach(
$opr_param['moldno'] as $i=>$submold){
        
//
        //if($submold['isnew'] && $submold['checkin_wt']>0 and !empty($submold['worker'])){ // submold exist
      
if($i>0){
          
//vdump($submold);    
              
$moldno=$submold['moldno'];
            if( !empty(
$submold['checkinbox']) && !empty($opr_param['mold'][$moldno]['worker']) ){ //checkin the mold
                //$mold = $opr_param['mold'];
                
                //vdump($opr_param['mold']['E0148-1']);
                
$sql "INSERT INTO ord_txseto (
                            txmain_refid, moldno, worker, worker_sign,
                            checkin_time, checkin_wt, checkinst_wt, txqty, 
                            setting, itemno, ordsubroute_refid, groupsig,
                            createby, createdate, lastupby, lastupdate
                        ) VALUES (
                            :txmain_refid, :moldno, :worker, :worker_sign,
                            GETDATE(), :checkin_wt, :checkinst_wt, :txqty, 
                            :setting, :itemno, :ordsubroute_refid, :groupsig,
                            :createby, GETDATE(), :lastupby, GETDATE()
                        )"
;
                
$sth $dbh->prepare($sql);
                
$q $sth->execute(  array( ':txmain_refid' => $opr_param['txmain_refid'],                                             
                                        
':moldno' => filter_var($submold['moldno'], FILTER_SANITIZE_STRING),
                                        
':worker_sign' => filter_var($opr_param['mold'][$moldno]['worker_sign'], FILTER_SANITIZE_STRING),
                                        
':worker' => filter_var($opr_param['mold'][$moldno]['worker'], FILTER_SANITIZE_STRING),                                     
                                        
':checkin_wt' => (float)filter_var($opr_param['mold'][$moldno]['castwt'], FILTER_SANITIZE_NUMBER_FLOATFILTER_FLAG_ALLOW_FRACTION), 
                                        
':checkinst_wt' => (float)filter_var($submold['checkinstone_wt'], FILTER_SANITIZE_NUMBER_FLOATFILTER_FLAG_ALLOW_FRACTION), 
                                        
':txqty' => (float)filter_var($submold['qty'], FILTER_SANITIZE_NUMBER_FLOATFILTER_FLAG_ALLOW_FRACTION),                                              
                                        
':setting' => filter_var($submold['setting'], FILTER_SANITIZE_STRING),
                                        
':itemno' => filter_var($submold['itemno'], FILTER_SANITIZE_STRING),
                                        
':ordsubroute_refid' => (int)filter_var($submold['ordsubroute_refid'], FILTER_SANITIZE_STRING),
                                        
':groupsig' => $opr_param['groupsig'],
                                        
':createby' => $opr_param['createby'],
                                        
':lastupby' => $opr_param['lastupby']) );    
/*                echo $sth->getSQL( array( ':txmain_refid' => $opr_param['txmain_refid'],                                             
                                        ':moldno' => filter_var($submold['moldno'], FILTER_SANITIZE_STRING),
                                        ':worker_sign' => filter_var($opr_param['mold'][$moldno]['worker_sign'], FILTER_SANITIZE_STRING),
                                        ':worker' => filter_var($opr_param['mold'][$moldno]['worker'], FILTER_SANITIZE_STRING),                                     
                                        ':checkin_wt' => (float)filter_var($submold['checkin_wt'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION), 
                                        ':checkinst_wt' => (float)filter_var($submold['checkinstone_wt'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION), 
                                        ':txqty' => (float)filter_var($submold['qty'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION),                                              
                                        ':setting' => filter_var($submold['setting'], FILTER_SANITIZE_STRING),
                                        ':itemno' => filter_var($submold['itemno'], FILTER_SANITIZE_STRING),
                                        ':ordsubroute_refid' => (int)filter_var($submold['ordsubroute_refid'], FILTER_SANITIZE_STRING),
                                        ':createby' => $opr_param['createby'],
                                        ':lastupby' => $opr_param['lastupby']) ).HTML_EOL;        */
                
pdo_showerror($sth$q);
                
$writecount++;    
          }elseif( 
$submold['checkinstone_wt']>&&  $submold['ordsubroute_refid']>0
          {    
//add record without checkin the mold
                
$moldno=$submold['moldno'];
                
$sql "INSERT INTO ord_txseto (
                            txmain_refid, moldno, checkinst_wt, txqty, 
                            setting, itemno, ordsubroute_refid,
                            createby, createdate, lastupby, lastupdate
                        ) VALUES (
                            :txmain_refid, :moldno, :checkinst_wt, :txqty, 
                            :setting, :itemno, :ordsubroute_refid,
                            :createby, GETDATE(), :lastupby, GETDATE()
                        )"
;
                
$sth $dbh->prepare($sql);
                
$q $sth->execute(  array( ':txmain_refid' => $opr_param['txmain_refid'],                                             
                                        
':moldno' => filter_var($submold['moldno'], FILTER_SANITIZE_STRING),
                                        
//':checkin_wt' => (float)filter_var($opr_param['mold'][$moldno]['castwt'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION), 
                                        
':checkinst_wt' => (float)filter_var($submold['checkinstone_wt'], FILTER_SANITIZE_NUMBER_FLOATFILTER_FLAG_ALLOW_FRACTION), 
                                        
':txqty' => (float)filter_var($submold['qty'], FILTER_SANITIZE_NUMBER_FLOATFILTER_FLAG_ALLOW_FRACTION),                                          
                                        
':setting' => filter_var($submold['setting'], FILTER_SANITIZE_STRING),
                                        
':itemno' => filter_var($submold['itemno'], FILTER_SANITIZE_STRING),
                                        
':ordsubroute_refid' => (int)filter_var($submold['ordsubroute_refid'], FILTER_SANITIZE_STRING),
                                        
':createby' => $opr_param['createby'],
                                        
':lastupby' => $opr_param['lastupby']) );    
/*                echo $sth->getSQL( array( ':txmain_refid' => $opr_param['txmain_refid'],                                             
                                        ':moldno' => filter_var($submold['moldno'], FILTER_SANITIZE_STRING),
                                        ':checkin_wt' => (float)filter_var($opr_param['mold'][$moldno]['castwt'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION), 
                                        ':checkinst_wt' => (float)filter_var($submold['checkinstone_wt'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION), 
                                        ':txqty' => (float)filter_var($submold['qty'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION),                                                  
                                        ':setting' => filter_var($submold['setting'], FILTER_SANITIZE_STRING),
                                        ':itemno' => filter_var($submold['itemno'], FILTER_SANITIZE_STRING),
                                        ':ordsubroute_refid' => (int)filter_var($submold['ordsubroute_refid'], FILTER_SANITIZE_STRING),
                                        ':createby' => $opr_param['createby'],
                                        ':lastupby' => $opr_param['lastupby']) ).HTML_EOL;    */    
                
pdo_showerror($sth$q);
                
$writecount++;        
              
          }
      }
        

        
//}
    
}
    
    if(
$writecount==0){
        
/* Recognize mistake and roll back changes */
        
$dbh->rollBack();
        
myerror(INVALID.WS.REQUEST);
    }
                                           
}

/*function seto_checkinPartial($orddtl_refid, $opr_param){
    //write tx details to subtable
    global $dbh;        
    foreach($opr_param['moldno'] as $submold){
        //vdump($submold);
        if($submold['isnew'] && $submold['checkin_wt']>0 and !empty($submold['worker'])){ // submold exist
            $sql = "UPDATE ord_txseto SET
                        worker = :worker, 
                        worker_sign = :worker_sign,
                        checkin_time = :checkin_time, 
                        checkin_wt = :checkin_wt, 
                        checkinst_wt = :checkinst_wt,  
                        lastupby = :lastupbu, 
                        lastupdate = GETDATE()
                    WHERE txmain_refid = :txmain_refid AND refid = :refid";
            $sth = $dbh->prepare($sql);
            $q = $sth->execute(  array( ':txmain_refid' => $opr_param['txmain_refid'],                                             
                                    ':moldno' => filter_var($submold['moldno'], FILTER_SANITIZE_STRING),
                                    ':worker_sign' => filter_var($opr_param['worker_sign'], FILTER_SANITIZE_STRING),
                                    ':worker' => filter_var($submold['worker'], FILTER_SANITIZE_STRING),                                     
                                    ':checkin_wt' => (float)filter_var($submold['checkin_wt'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION), 
                                    ':checkinst_wt' => (float)filter_var($submold['checkinstone_wt'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION), 
                                    ':txqty' => $opr_param['txqty'],                                             
                                    ':createby' => $opr_param['createby'],
                                    ':lastupby' => $opr_param['lastupby']) );    
            echo $sth->getSQL( array( ':txmain_refid' => $opr_param['txmain_refid'],                                             
                                    ':moldno' => filter_var($submold['moldno'], FILTER_SANITIZE_STRING),
                                    ':worker_sign' => filter_var($opr_param['worker_sign'], FILTER_SANITIZE_STRING),
                                    ':worker' => filter_var($submold['worker'], FILTER_SANITIZE_STRING),                                     
                                    ':checkin_wt' => (float)filter_var($submold['checkin_wt'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION), 
                                    ':checkinst_wt' => (float)filter_var($submold['checkinstone_wt'], FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION), 
                                    ':txqty' => $opr_param['txqty'],                                             
                                    ':createby' => $opr_param['createby'],
                                    ':lastupby' => $opr_param['lastupby']) );        
            pdo_showerror($sth, $q);    
        }
    }
                                           
}*/

$refid                 = (int) filter_var($_REQUEST['refid'], FILTER_SANITIZE_STRING);
//$txmain_refid         = (int) filter_var($_REQUEST['txmain_refid'], FILTER_SANITIZE_STRING);

if( $_POST['action']=="ord_setd_split_checkin" && !empty($refid) ){
    
//vdump($_REQUEST); //exit;    
    
    
$opr_param['opr_code']    = "SETO";
    
//check the job card status to ensure the JC is ready to checkin
    
$opr oprReadyForCheckin($refid$opr_param$status);
    
//vdump($status);
    
    //get more data from database
    
$sql="SELECT
            dbo.ord_dtl.qty                
            FROM
            dbo.ord_dtl
            WHERE
            dbo.ord_dtl.refid = :refid
            "
;
    
$sth_opr $dbh->prepare($sql);
    
$sth_opr->execute(  array(':refid' => $refid) );
    
$moredata $sth_opr->fetch();
    
$opr_param['ttlqty']    = $moredata['qty'];
    
$opr_param['uom_qty']    = "pcs";
    
$opr_param['txqty']        = $moredata['qty'];
    
$sth_opr->closeCursor();
    
    
$opr_param['opr_code']    = "SETO";
    
$opr_param['subtable']     = "ord_txseto";
    
$opr_param['php_function']    = "seto_checkin";
    
$opr_param['moldno']         = $_REQUEST['submold']; //array
    
$opr_param['mold']             = $_REQUEST['mold']; //array
    
$opr_param['checkin_wt']     = (float)filter_var($_REQUEST['checkin_wt'], FILTER_SANITIZE_NUMBER_FLOATFILTER_FLAG_ALLOW_FRACTION);
    
//$opr_param['worker']         = filter_var($_REQUEST['worker'], FILTER_SANITIZE_STRING);
    //$opr_param['worker_sign']     = filter_var($_REQUEST['worker_sign'], FILTER_SANITIZE_STRING);
    //$opr_param['worker']     = filter_var($_REQUEST['worker'], FILTER_SANITIZE_STRING);
    
$opr_param['groupsig']       = filter_var(getphptime(), FILTER_SANITIZE_STRING);
    
$opr_param['createby']    = filter_var($_SESSION['user'], FILTER_SANITIZE_STRING);
    
$opr_param['lastupby']    = filter_var($_SESSION['user'], FILTER_SANITIZE_STRING);
    
//$opr_param['txmain_refid']    = (int) filter_var($_REQUEST['txmain_refid'], FILTER_SANITIZE_STRING);    
    
    
/*    if($status=="RESUME"){
        //update some submold details    
        seto_checkinPartial($orddtl_refid, $opr_param);
        
    }*/    
    
if($opr === false){
        
myerror("Unable to checkin: "  $msg);    
        exit;
        
header("Location: ord_setd_modifyform.php?refid=$refid");
    }
    else{        

    
        
        
//var_dump($opr); exit;
        
$dbh->beginTransaction();
        
ord_updateJCLocation($refid$opr['refid'], $opr_param);
        
$checkin_time ord_checkin($refid$opr['refid'], $opr_param);
        
//exit;
        
$dbh->commit();    
        
//exit;        
    
form_dest($_REQUEST['godest'], $_REQUEST['formdest']);
        
header("Location: ord_setd_index.php?refid=$refid&msg=Saved.");
        print 
"Saved.";
        exit;
    }
}
myerror(INVALID.WS.REQUEST);


?>