/var/www/enzatesting.onesolution.hk/ajax_json_castdeal_jobcard_detail.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
<?php 
$formid
=$_REQUEST['formid'];
require_once 
"inc/configure.php";

if (!
function_exists('json_encode')) {
    function 
json_encode($data) {
        
//echo "JD";
        
switch ($type gettype($data)) {
            case 
'NULL':
                return 
'null';
            case 
'boolean':
                return (
$data 'true' 'false');
            case 
'integer':
            case 
'double':
            case 
'float':
                
//return $data;
                
return '"' addslashes($data) . '"';
            case 
'string':
                return 
'"' addslashes($data) . '"';
            case 
'object':
                
$data get_object_vars($data);
            case 
'array':
                
$output_index_count 0;
                
$output_indexed = array();
                
$output_associative = array();
                foreach (
$data as $key => $value) {
                    
$output_indexed[] = json_encode($value);
                    
$output_associative[] = json_encode($key) . ':' json_encode($value);
                    if (
$output_index_count !== NULL && $output_index_count++ !== $key) {
                        
$output_index_count NULL;
                    }
                }
                if (
$output_index_count !== NULL) {
                    return 
'[' implode(','$output_indexed) . ']';
                } else {
                    return 
'{' implode(','$output_associative) . '}';
                }
            default:
                return 
''// Not supported
        
}
    }
}




//$refid = (int)$_REQUEST['refid'];
$jc $_REQUEST['jc'];
$refid parseJCBarcode($jc);


    
$sql "SELECT
            dbo.inv_product.refid as product_refid,
            dbo.inv_product.name_en,
            dbo.inv_product.name_sc,
            dbo.ord_dtl.qty,
            dbo.ord_dtl.itemno,
            dbo.ord_dtl.refid,
            dbo.ord_main.order_nbr,
            Sum(dbo.dgn_master_submold.qty) AS part
            
            FROM
            dbo.ord_dtl
            INNER JOIN dbo.inv_product ON dbo.ord_dtl.product_refid = dbo.inv_product.refid
            INNER JOIN dbo.ord_main ON dbo.ord_dtl.main_refid = dbo.ord_main.refid
            LEFT JOIN dbo.dgn_master_submold ON dbo.dgn_master_submold.mold_refid = dbo.inv_product.mold_refid
            WHERE
            dbo.ord_dtl.refid = :refid
            GROUP BY
            dbo.inv_product.refid,
            dbo.inv_product.name_en,
            dbo.inv_product.name_sc,
            dbo.ord_dtl.qty,
            dbo.ord_dtl.itemno,
            dbo.ord_dtl.refid,
            dbo.ord_main.order_nbr"
;        
    
$sth $dbh->prepare($sql);
    
$sth->execute( array(':refid'=>$refid) );
//echo $sth->getSQL( array(':refid'=>$refid) ).HTML_EOL;
    
if($row $sth->fetch(PDO::FETCH_ASSOC) ){
         
//var_dump($row); 

        
$row['barcode'] = generateJCBarcode($row['refid']);
        
$row['qty'] = numf($row['qty']);
        
$row['part'] = numf($row['part']*$row['qty']);
        
$row['json_status'] = 1;
        
$row['msg_out'] = "OK";
        
        
//check route is correct operation
        //vdump(ord_nextOprDept($refid));
        
$opr ord_nextOprDept($refid);
        if(
$opr['opr_code']=='CASO'){
            
//$route_refid = $opr['refid'];
            
$curropr ord_currentOprDept($refid);
            
$row['subroute'] = casd_build_subroute_array($refid$opr['refid'], 'MELT'$row['qty']);
            if(
$curropr['opr_code']=='CASO'){
                if( 
sizeof($row['subroute'])>){
                    
$row['readyForCASO'] = 1//allow to add the same JC (for multi-metal product)
                
}else{
                    
$row['readyForCASO'] = 0
                }
                
$row['msg_out'] = ALREADY_CHECKIN;
            }
            else{
                
$row['readyForCASO'] = 1;
            }
            
            
//get the MELT subroutes for html option
            //vdump($curropr, $opr);
            
            
        
}
        else{
            
$row['readyForCASO'] = 0;
            
$row['msg_out'] = NEXT_OPERATION_IS.": ".resolveCode_master_operation($opr['opr_code'], true);
        }
        

        
        print 
json_encode($row);
        
    }
    else{
        
$row['msg_out'] = INVALID.WS.JOB_CARD;
        
$row['json_status'] = 0;
        
        print 
json_encode($row);
    }
    
    unset(
$sth);?>