var worker = null;
/**
* 获取当前前置机版本
*/
function getVersion(callback){
try {
var user = getUserBean();
var ssqh = getUserBean().ssqh.substring(0,3);
var dq=(ssqh==500?"50000000":"33000001");//重庆地区发50000000 浙江发33000001
var requestString = ""+dq+"--VERSION--0--0--0----0--0--";
sendAjax_noMessage("",requestString,function (data){
if (data){
console.log("当前前置机版本:"+data);
var verObj ='';
try {
verObj = JSON.parse(data);
}catch (e) {
}
callback(verObj)
}else{
callback();
}
})
}catch (e){
callback();
}
}
/**
* 登录时保存前置机版本
*/
function saveVersionOnload(){
try {
getVersion(function (verObj) {
if(verObj && verObj['ReturnCode']==='0'){
verObj.requestString=requestString;
buffalo.remoteCall("sysSettingService.saveVer",[verObj,user],function (reply){
});
sendQzjsettings();
}
})
}catch (e){
}
}
/**
* 各种前置机配置
*/
//杭州地区
var hangzhou={
"MainUrl":"http://47.102.212.62",
"UpdateUrl":"http://47.102.212.62",
"MiInfUrl":"http://10.249.83.126",
"AutoUpdate":"1"
}
//嘉兴地区
var jiaxing={
"MainUrl":"http://215.8.97.54",
"UpdateUrl":"http://215.8.97.54",
"MiInfUrl":"http://10.249.86.63",
"AutoUpdate":"1"
}
//金华地区
var jinhua={
"MainUrl":"http://20.20.20.20:9111",
"UpdateUrl":"http://20.20.20.20:9111",
"MiInfUrl":"http://10.249.83.128",
"AutoUpdate":"1"
}
var huzhou={
"MainUrl":"http://215.64.96.98:9090",
"UpdateUrl":"http://215.64.96.98:9090",
"MiInfUrl":"http://10.249.83.132",
"AutoUpdate":"1"
}
var quzhou={
"MainUrl":"http://47.102.212.62",
"UpdateUrl":"http://47.102.212.62",
"MiInfUrl":"http://10.249.83.134",
"AutoUpdate":"1"
}
var wenzhou={
"MainUrl":"http://47.102.212.62",
"UpdateUrl":"http://47.102.212.62",
"MiInfUrl":"http://10.249.83.129",
"AutoUpdate":"1"
}
var jinhuasbj={
"MainUrl":"http://10.10.10.13:9111",
"UpdateUrl":"http://10.10.10.13:9111",
"MiInfUrl":"http://10.249.83.128",
"AutoUpdate":"1"
}
var taizhou={
"MainUrl":"http://47.102.212.62",
"UpdateUrl":"http://47.102.212.62",
"MiInfUrl":"http://10.249.83.125",
"AutoUpdate":"1"
}
var chongqing={
"MainUrl":"http://10.124.2.9:9001",
"UpdateUrl":"http://10.124.2.9:9001",
"MiInfUrl":"http://10.123.30.101",
"AutoUpdate":"1"
}
/**
* 是否执行 如果变成false,下一个定时任务不执行
* @type {boolean}
*/
var sfzx=true;
/**
* 发送前置机配置
* @returns {string}
*/
function sendQzjsettings(){
if (location.hostname == '106.14.92.128'||location.hostname == '10.83.134.88'){
return "";
}
//配置项 MainUrl登录地址 UpdateUrl更新地址 MiInfUrl:医保接口地址 AutoUpdate设置自动更新
var configuration={}
var user=getUserBean();
var ssqh=user.ssqh;
if (!ssqh){//所属区划空的就直接返回;
return "";
}
var xz=ssqh.substring(0,4);
if (xz.indexOf("3301")>-1){//杭州
configuration=hangzhou;
}
if (xz.indexOf("3304")>-1){//嘉兴
configuration=jiaxing;
}
if (xz.indexOf("3307")>-1&&(ssqh.indexOf('33070')>-1||ssqh=='330799')){//金华市本级
configuration=jinhuasbj;
}
if (xz.indexOf("3307")>-1&&ssqh.indexOf('33070')==-1&&ssqh!='330799'){//金华县市
configuration=jinhua;
}
if (xz.indexOf("3308")>-1){//衢州
configuration=quzhou;
}
if (xz.indexOf("3303")>-1){//温州
configuration=wenzhou;
}
if (xz.indexOf("3310")>-1){//台州
configuration=taizhou;
}
if (xz.indexOf("3305")>-1){//湖州
configuration=huzhou;
}
if (xz.indexOf("500")>-1){//重庆
configuration=chongqing;
}
var index=0;
for (var key in configuration){
(
function (key){
index++;
setTimeout(function () {
doSomething(key,configuration);
},500*index);
}
)(key)
}
}
/**
* 发送前置机
* @param key
* @param configuration
*/
function doSomething(key,configuration){
if (!sfzx){
return;
}
var requestString = "00000000--SETUP--"+key+"--0--0--"+configuration[key]+"--0--0--";
sendAjaxNoMessage(false,requestString,function (responseString){
console.log("responseString"+responseString)
if (responseString){
if (responseString.indexOf("") < 0 || responseString.indexOf("") < 0) {
sfzx=false;
makeWorker();//启动一个线程5分钟之后再次执行操作
return;
}
if (responseString.lastIndexOf("\r\n") > 0) {
responseString = responseString.substring(0, responseString.length() - 2);
}
var str;
var flag;
try {
str = responseString.substring("".length, responseString.length - "".length);
flag = str.substring(0, str.indexOf("--"));
if (flag!=='0'){
sfzx=false;
makeWorker();//启动一个线程5分钟之后再次执行操作
}
} catch (e) {
sfzx=false;
makeWorker();//启动一个线程5分钟之后再次执行操作
return;
}
}else {
sfzx=false;
makeWorker();//启动一个线程5分钟之后再次执行操作
}
})
}
//机构设置的前置机地址
var qzjip=GetCookie("qzjip");
var send_url ="http://127.0.0.1:7080";
if (qzjip!=''&&qzjip!=undefined){
send_url="http://"+qzjip+":7080";
console.log("前置机IP"+qzjip);
}
/**
* 同步Ajax
* @param async
* @param str
* @param returnFun
*/
function sendAjaxNoMessage(async,str,returnFun){
try{
jQuery.support.cors = true;
$.ajax({
crossDomain: true,
dataType:"text", //jsonp解决ie下跨域问题
url:send_url,
type:'post',
jsonp:'callback',
async:async,
data: encodeURIComponent(str),
success: function(data){
returnFun(data);
},
error:function (){
returnFun("");
}
});
}catch(e){
returnFun("");
}
}
/**
* 启动线程
*/
var sfcsqd=false;
function makeWorker(){
if (sfcsqd){
return;
}
if (typeof worker == 'undefined'||typeof worker== 'null'||!worker) {
worker = new Worker('/public/js/worker.js');
}
//监听来自 Worker 的消息
worker.onmessage = function(event) {
var currentDate = new Date();
var currentTime = currentDate.toLocaleString();
console.log("QZJ启动定时重试"+currentTime);
sfcsqd=true;
// 确保myWorker已经被定义并且是一个有效的Worker对象实例
worker.terminate(); // 销毁worker
delete worker; // 删除对worker的引用,可选
sfzx=true;
setTimeout(function() {
// 发送消息回主线程
sendQzjsettings();
}, 300000); // 定时5分钟
};
// 发送消息给 Worker 5分钟后重新条用设置方法
worker.postMessage('QZJ');
}