深圳全飞鸿
标题:
beacon下实现一个简单的ajax的案例
[打印本页]
作者:
zhgc
时间:
2021-4-22 14:05
标题:
beacon下实现一个简单的ajax的案例
<?php
class txcheckin extends tpage {
/*
* 构造函数:暂时什么都不做!
*/
function txcheckin($app) {
parent::__construct($app); //一定要添加这一句
}
function index(){
global $smarty,$config;
$this->prepareDictionary();
//$this->app->getUser();
$this->printBodyScale(); //需要用到页面自适应
$this->app->printAjx(); //需要用界面ajax
$this->app->printAjdb();//需要用界面ajdb
$this->app->printConfirmFun();
$this->app->printAlertFun();
$this->app->printMsgBox("提示",
"1. 如果清溪有正常扫描Check_Out, 则塘厦可以不扫Check_in;<BR>
2. 如果清溪漏扫Check_Out, 则塘厦可以在此处补扫;");
}
function prepareDictionary(){
//1. 如果是中国,则直接退出
if($this->app->language=="CN") return;
//2. 中国以外的国家,必须有英语
_D("提示","Hint"); _D("注意","Attention"); _D("警告","Warning");
//3. 中国,英国之外的国家,可以适当的添加字典
if($this->app->language=="VN"){
//添加越南的字典
}
}
/*
* 打印自适应功能
*/
function printBodyScale(){
global $smarty;
//方案一:
//$js="<script>function bodyScale() {var devicewidth = document.documentElement.clientWidth;if(devicewidth>1366){var scale = devicewidth / 1366; document.body.style.zoom = scale;}}window.onload = window.onresize = function () {bodyScale();};</script>";
//$smarty->assign("bodyscale", $js);
//方案二:
$css="<style>
@media only screen and (min-width: 1300px){
#mymain{
width: 1280px !important;
margin: 0 auto !important;
position: relative !important;
}
}
</style>";
$smarty->assign("bodyscale", $css);
}
function GetRealData($data){
$data=str_replace("--","",$data);
$data=str_replace(";","",$data);
$data=str_replace("'","",$data);
$data=str_replace("\"","",$data);
return $data;
}
/*
* 创建工单
*/
function action_get_trsn($param){
$this->app->AjaxFail('action_get_trsn已执行,但未返回结果!');
$jsdata=array();
$trsninfo=array();
$trsninfo["R107"]="";
$trsninfo["R108"]="";
$trsninfo["INPUT"]="";
$trsninfo["TR_SN"]="";
$this->app->jsdata["data"]=$trsninfo; //先初始化,成不成功,都会传这些内容
//读取参数
$data=$param["ed_trsn"];
$trsn=$this->GetRealData($data);
if(strlen($trsn)<1){
$this->app->AjaxFail("条码不能为空!", 100);
return;
}
$trsninfo["TR_SN"]=$trsn;
$this->app->jsdata["data"]=$trsninfo;
//
//---
$db = mysqli_connect("10.0.10.29", "root", "****");
if (!$db) {
die();
$this->app->AjaxFail("mysqli_connect异常: ".iconv("GBK", "UTF-8//IGNORE", mysqli_connect_error()), 100);
return;
}
$this->app->prepare_mes();
//R107
$sqlstr="select serial_number from sfc.r_wip_tracking_t where serial_number='{$trsn}'";
$data=$this->app->mes->getRow($sqlstr);
if($data){
$trsninfo["R107"]="OK, 已经存在,无需处理!";
$this->app->jsdata["data"]=$trsninfo; //就算是错,也要回显示
}else{
$sql="select * from sfc.r_wip_tracking_t where serial_number='{$trsn}'";
$result = mysqli_query($db,$sql);
if (!$result) {
$trsninfo["R107"]="execute sql: ".mysqli_error($db);
}else{
if($row = mysqli_fetch_assoc($result)){
$mysql1="insert ignore into sfc.`r_wip_tracking_t` (`SERIAL_NUMBER`, `SECTION_FLAG`, `MO_NUMBER`, `MODEL_NAME`, `TYPE`, `VERSION_CODE`, `LINE_NAME`, `SECTION_NAME`,
`GROUP_NAME`, `STATION_NAME`, `LOCATION`, `STATION_SEQ`, `ERROR_FLAG`, `IN_STATION_TIME`, `IN_LINE_TIME`, `OUT_LINE_TIME`, `SHIPPING_SN`, `WORK_FLAG`,
`FINISH_FLAG`, `ENC_CNT`, `SPECIAL_ROUTE`, `PALLET_NO`, `CONTAINER_NO`, `QA_NO`, `QA_RESULT`, `SCRAP_FLAG`, `NEXT_STATION`, `CUSTOMER_NO`,
`BOM_NO`, `BILL_NO`, `TRACK_NO`, `PO_NO`, `KEY_PART_NO`, `CARTON_NO`, `WARRANTY_DATE`, `REWORK_NO`, `REPAIR_CNT`, `EMP_NO`, `PO_LINE`,
`PALLET_FULL_FLAG`, `PMCC`, `GROUP_NAME_CQC`, `MO_NUMBER_OLD`, `ERP_MO`, `ATE_STATION_NO`, `MSN`, `IMEI`, `JOB`, `MCARTON_NO`, `SO_NUMBER`,
`SO_LINE`, `STOCK_NO`, `TRAY_NO`, `SHIP_NO`, `WIP_GROUP`, `SHIPPING_SN2`)
values
('".$row["SERIAL_NUMBER"]."',NULL,'".$row["MO_NUMBER"]."','".$row["MODEL_NAME"]."',NULL,'".$row["VERSION_CODE"]."','".$row["LINE_NAME"]."','".$row["SECTION_NAME"]."','".$row["GROUP_NAME"]."','".$row["STATION_NAME"]."','".$row["LOCATION"]."','".$row["STATION_SEQ"]."','".$row["ERROR_FLAG"]."',
str_to_date('".$row["IN_STATION_TIME"]."','%Y%m%d%H%i%s'),'".$row["IN_LINE_TIME"]."',NULL,'".$row["SHIPPING_SN"]."','".$row["WORK_FLAG"]."','".$row["FINISH_FLAG"]."','".$row["ENC_CNT"]."','".$row["SPECIAL_ROUTE"]."','".$row["PALLET_NO"]."','".$row["CONTAINER_NO"]."','".$row["QA_NO"]."','".$row["QA_RESULT"]."','".$row["SCRAP_FLAG"]."','".$row["NEXT_STATION"]."',
'".$row["CUSTOMER_NO"]."','".$row["BOM_NO"]."',NULL,'".$row["TRACK_NO"]."',
NULL,'".$row["KEY_PART_NO"]."','".$row["CARTON_NO"]."',NULL,'".$row["REWORK_NO"]."','0','".$row["EMP_NO"]."',NULL,'".$row["PALLET_FULL_FLAG"]."',NULL,NULL,NULL,NULL,'',
'N/A','N/A','N/A',NULL,'','','".$row["STOCK_NO"]."','".$row["TRAY_NO"]."','".$row["SHIP_NO"]."','".$row["WIP_GROUP"]."','".$row["SHIPPING_SN2"]."')";
$this->app->mes->execute($mysql1);
$trsninfo["R107"]="OK!";
}else{
$trsninfo["R107"]="无此数据! {$trsn}";
}
}
}
//R108
$sqlstr="select serial_number from sfc.r_wip_keyparts_t where serial_number='{$trsn}'";
$data=$this->app->mes->getRow($sqlstr);
if($data){
$trsninfo["R108"]="OK, 已经存在,无需处理!";
$this->app->jsdata["data"]=$trsninfo; //就算是错,也要回显示
}else{
$sql="select * from sfc.r_wip_keyparts_t where serial_number='{$trsn}'";
$result = mysqli_query($db,$sql);
if (!$result) {
$trsninfo["R108"]="execute sql: ".mysqli_error($db);
}else{
$icount=0;
while($row = mysqli_fetch_assoc($result)){
$icount=$icount+1;
$mysql1="insert ignore into sfc.`r_wip_keyparts_t` (`EMP_NO`, `SERIAL_NUMBER`, `KEY_PART_NO`, `KEY_PART_SN`, `KP_RELATION`, `GROUP_NAME`, `CARTON_NO`, `WORK_TIME`, `VERSION`, `PART_MODE`, `KP_CODE`, `MO_NUMBER`) values ('".$row["EMP_NO"]."','".$row["SERIAL_NUMBER"]."','".$row["KEY_PART_NO"]."','".$row["KEY_PART_SN"]."','".$row["KP_RELATION"]."','".$row["GROUP_NAME"]."','".$row["CARTON_NO"]."','".$row["WORK_TIME"]."','".$row["VERSION"]."',NULL,'N/A','".$row["MO_NUMBER"]."')";
$this->app->mes->execute($mysql1);
$trsninfo["R108"]="OK!同步{$icount}条";
};
if($icount<1){
$trsninfo["R108"]="无此数据! {$trsn}";
}
}
}
//INPUT
$sqlstr="select sn from sfc.mes_data_key_t where sn='{$trsn}'";
$data=$this->app->mes->getRow($sqlstr);
if($data){
$trsninfo["INPUT"]="OK, 已经存在,无需处理!";
$this->app->jsdata["data"]=$trsninfo; //就算是错,也要回显示
}else{
$sql="select * from sfc.mes_data_key_t where sn='{$trsn}'";
$result = mysqli_query($db,$sql);
if (!$result) {
$trsninfo["INPUT"]="execute sql: ".mysqli_error($db);
}else{
function _LL($str){
if(is_string($str)){
return "'{$str}',";
} else {
return "NULL,";
}
}
if($row = mysqli_fetch_assoc($result)){
$mysql1="insert ignore into sfc.`mes_data_key_t` (`MO`, `SN`, `MODEL_NAME`, `DATA_TYPE`, `MAC`, `ID1`, `ID2`, `ID3`, `ID4`, `ID5`, `ID6`, `ID7`, `ID8`, `ID9`, `ID10`, `ID11`, `ID12`, `ID13`, `ID14`, `ID15`, `IN_DATE`, `PRINT_FLAG`, `PRINT_TIME`, `PRINT_COUNT`) values(".
_LL($row["MO"]).
_LL($row["SN"]).
_LL($row["MODEL_NAME"]).
_LL($row["DATA_TYPE"]).
_LL($row["MAC"]).
_LL($row["ID1"]).
_LL($row["ID2"]).
_LL($row["ID3"]).
_LL($row["ID4"]).
_LL($row["ID5"]).
_LL($row["ID6"]).
_LL($row["ID7"]).
_LL($row["ID8"]).
_LL($row["ID9"]).
_LL($row["ID10"]).
_LL($row["ID11"]).
_LL($row["ID12"]).
_LL($row["ID13"]).
_LL($row["ID14"]).
_LL($row["ID15"]).
_LL($row["IN_DATE"]).
_LL($row["PRINT_FLAG"]).
_LL($row["PRINT_TIME"])."'0')";
$this->app->mes->execute($mysql1);
$trsninfo["INPUT"]="OK!";
}else{
$trsninfo["INPUT"]="无此数据! {$trsn}";
}
}
}
$this->app->AjaxOK($trsninfo,"已处理,明细见下表! {$trsn}");
}
}
复制代码
作者:
zhgc
时间:
2021-4-22 14:07
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>sharetronic-tx-checkin</title>
<link rel="stylesheet" href="../css/themes/default/jquery.mobile.icons-1.4.5.min.css">
<link rel="stylesheet" href="../css/themes/classic/jquery.mobile.theme-1.4.5.min.css">
<link rel="stylesheet" href="../css/themes/default/jquery.mobile.structure-1.4.5.min.css">
<style>
.ui-field-contain label {
white-space:pre;
}
div#findBar.ui-grid-a > .ui-block-a { width: 65% }
div#findBar.ui-grid-a > .ui-block-b { width: 35% }
</style>
<script src="../scripts/jquery-1.11.1.min.js"></script>
<script src="../scripts/jquery.mobile-1.4.5.min.js"></script>
{$bodyscale}
<script>
//控件联动
jQuery(function(){
jQuery("#ed_trsn").keydown(function(e){ if(e.keyCode == 13){ jQuery("#BT_02").click(); } });
});
</script>
<script>
jQuery(function(){
$("#BT_02").click(function(event){
$("#ed_trsn").focus().select();
$("#ed_extqty").val("");$("#ed_qty").val("");$("#ed_flag").val("");
$("#ed_loc").val("");$("#ed_mkp").val("");$("#ed_kp").val("");
$("#ed_lc").val("");$("#ed_mfrname").val("");$("#ed_dc").val("");
$("#ed_sn").val("");$("#ed_mfrcode").val("");
myAjaxProcess("form1","action_get_trsn",{},function(jsondata){
if(jsondata.tag==418){
$("#ed_r107").val(jsondata.data.R107);
$("#ed_r108").val(jsondata.data.R108);
$("#ed_input").val(jsondata.data.INPUT);
if(jsondata.res=="OK"){
showMessage("0",jsondata.msg); showSound(true);
}else{
showMessage("2",jsondata.msg); showSound(false);
$("#ed_trsn").focus().select();
}
}else{
alert("返回的数据格式不正确,请联系MES管理人员!");
}
});
return false;
})
});
</script>
</head>
<body>
<div data-role="page" id="pageone" class="ui-page-theme-c">
<div class="ui-content" role="main">
<form method="post" id="form1" class="ui-mini">
<div class="ui-grid-a" id="findBar">
<div class="ui-block-a">
<!-- 再分两列 -->
<div class="ui-body ui-body-b ui-corner-all" style="height:auto!important;height:7.6em;min-height:7.6em;">
{$msgbox}
</div>
<div class="ui-field-contain">
<label for="ed_trsn">产品条码</label>
<input type="text" name="ed_trsn" id="ed_trsn">
</div>
<div style="position: absolute;top: -100px;left: -100px;">
<input type="button" data-inline="true" id="BT_01" value="BT_01">
<input type="button" data-inline="true" id="BT_02" value="BT_02">
<input type="button" data-inline="true" id="BT_03" value="BT_03">
</div>
<div class="ui-field-contain" data-inline="true">
<label for="ed_kp" >生产数据</label>
<input type="text" name="ed_r107" id="ed_r107" style="background:#C2C2C2" readonly>
</div>
<div class="ui-field-contain" data-inline="true">
<label for="ed_mkp" >附件数据</label>
<input type="text" name="ed_r108" id="ed_r108" style="background:#C2C2C2" readonly>
</div>
<div class="ui-field-contain" data-inline="true">
<label for="ed_mkp" >导号数据</label>
<input type="text" name="ed_input" id="ed_input" style="background:#C2C2C2" readonly>
</div>
</div><!-- ui-block-a -->
<div class="ui-block-b">
</div>
</div>
</form>
</div><!-- div class="ui-content" role="main" -->
</div><!-- /page -->
{$pageajdb}
{$pageajx}
</body>
</html>
欢迎光临 深圳全飞鸿 (http://www.nagomes.com/disc/)
Powered by Discuz! X3.2