Merge remote-tracking branch 'remotes/origin/dev' into test

yun-zuoyi
wei.peng 6 years ago
commit e8741ec364

@ -1,5 +1,16 @@
package cn.estsh.i3plus.pojo.base.codemaker;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import sun.management.VMManagement;
import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.net.InetAddress;
import java.net.NetworkInterface;
/**
* @Description : 使SnowFlakeID
* @Reference : SnowFlake
@ -11,13 +22,15 @@ package cn.estsh.i3plus.pojo.base.codemaker;
**/
public class SnowflakeIdMaker {
public static final Logger LOGGER = LoggerFactory.getLogger(SnowflakeIdMaker.class);
private long workerId;
private long datacenterId;
private long sequence = 0L;
public SnowflakeIdMaker(){
this.workerId = 1;
this.datacenterId = 1;
this.workerId = getWorkerMacId();
this.datacenterId = getDatacenterPid();
this.sequence = 0L;
}
@ -89,6 +102,60 @@ public class SnowflakeIdMaker {
return timestamp;
}
/**
* 使Mac HashCode 32
* @return
*/
private long getWorkerMacId() {
long result;
try {
InetAddress ia;
byte[] mac = null;
//获取本地IP对象
ia = InetAddress.getLocalHost();
//获得网络接口对象即网卡并得到mac地址mac地址存在于一个byte数组中。
mac = NetworkInterface.getByInetAddress(ia).getHardwareAddress();
//下面代码是把mac地址拼装成String
StringBuffer sb = new StringBuffer();
for (int i = 0; i < mac.length; i++) {
if (i != 0) {
sb.append("-");
}
//mac[i] & 0xFF 是为了把byte转化为正整数
String s = Integer.toHexString(mac[i] & 0xFF);
sb.append(s.length() == 1 ? 0 + s : s);
}
//把字符串所有小写字母改为大写成为正规的mac地址并返回
result = sb.toString().toUpperCase().hashCode();
}catch (Exception e){
e.printStackTrace();
result = 31;
LOGGER.error("[SnowflakeIdMaker] 获取设备ID错误{}",e.getMessage());
}
result = result + timeGen();
return result < 0 ? (0 - result) % 32 : result % 32;
}
private long getDatacenterPid() {
long result;
try {
RuntimeMXBean runtime = ManagementFactory.getRuntimeMXBean();
Field jvm = runtime.getClass().getDeclaredField("jvm");
jvm.setAccessible(true);
VMManagement mgmt = (VMManagement) jvm.get(runtime);
Method pidMethod = mgmt.getClass().getDeclaredMethod("getProcessId");
pidMethod.setAccessible(true);
result = (Integer) pidMethod.invoke(mgmt);
} catch (Exception e) {
result = 31;
}
result = result + timeGen();
return result < 0 ? (0 - result) % 32 : result % 32;
}
private long timeGen(){
return System.currentTimeMillis();
}

@ -833,7 +833,7 @@ public class BlockFormEnumUtil {
TEXT(200, "TEXT", "文本"),
NUMBER(210, "NUMBER", "数字"),
PASSWORD(230, "PASSWORD", "密码"),
DATE_TIME(300, "DATE", "日期"),
DATE_TIME(300, "DATE", "日期",SQL_WHERE.BETWEEN),
// DATE(300, "DATE", "日期(yyyy-MM-dd)"),
// DATE_TIME(310, "DATE_TIME", "时间(yyyy-MM-dd hh:mm:ss)"),
// ELEMENT(700, "DICT_SELECT", "元素"),
@ -847,10 +847,22 @@ public class BlockFormEnumUtil {
private String code;
private String description;
private PROPERTY_CONTROL_TYPE(int value, String code, String description) {
/**
*
*/
private SQL_WHERE defaultWhere;
PROPERTY_CONTROL_TYPE(int value, String code, String description) {
this.value = value;
this.code = code;
this.description = description;
}
PROPERTY_CONTROL_TYPE(int value, String code, String description, SQL_WHERE defaultWhere) {
this.value = value;
this.code = code;
this.description = description;
this.defaultWhere = defaultWhere;
}
public int getValue() {
@ -865,6 +877,10 @@ public class BlockFormEnumUtil {
return description;
}
public SQL_WHERE getDefaultWhere() {
return defaultWhere;
}
public static String valueOfCode(int val) {
String tmp = null;
for (int i = 0; i < values().length; i++) {
@ -2476,7 +2492,6 @@ public class BlockFormEnumUtil {
}
public static SQL_WHERE valueOf(int val) {
String tmp = null;
for (int i = 0; i < values().length; i++) {
if (values()[i].value == val) {
return values()[i];

@ -124,7 +124,7 @@ public class WmsHqlPack {
DdlPreparedPack.getStringEqualPack(wmsDocMovementDetails.getPartNo(), "partNo", result);
DdlPreparedPack.getStringLikerPack(wmsDocMovementDetails.getDestZoneNo(), "destZoneNo", result);
DdlPreparedPack.getStringLikerPack(wmsDocMovementDetails.getDestLocateNo(), "destLocateNo", result);
DdlPreparedPack.getStringLikerPack(wmsDocMovementDetails.getCreateUser(), "createUser", result);
DdlPreparedPack.timeBuilder(wmsDocMovementDetails.getCreateDateTimeStart(),
wmsDocMovementDetails.getCreateDateTimeEnd(), "createDatetime", result, true);
getStringBuilderPack(wmsDocMovementDetails, result);
@ -165,6 +165,7 @@ public class WmsHqlPack {
DdlPreparedPack.getNumEqualPack(wmsDocMovementMaster.getBusiType(), "busiType", packBean);
DdlPreparedPack.getNumEqualPack(wmsDocMovementMaster.getOrderStatus(), "orderStatus", packBean);
DdlPreparedPack.getStringEqualPack(wmsDocMovementMaster.getCustNo(), "custNo", packBean);
DdlPreparedPack.getStringLikerPack(wmsDocMovementMaster.getCreateUser(),"createUser",packBean);
getStringBuilderPack(wmsDocMovementMaster, packBean);
@ -205,7 +206,8 @@ public class WmsHqlPack {
DdlPreparedPack.getStringEqualPack(wmsPOMaster.getVendorNo(), "vendorNo", result);
DdlPreparedPack.getStringEqualPack(wmsPOMaster.getSrc(), "src", result);
DdlPreparedPack.getStringEqualPack(wmsPOMaster.getIsAsn(), "isAsn", result);
DdlPreparedPack.getStringLikerPack(wmsPOMaster.getCreateUser(), "createUser", result);
DdlPreparedPack.timeBuilder(wmsPOMaster.getCreateDateTimeStart(),wmsPOMaster.getCreateDateTimeEnd(),"createDatetime",result,true);
getStringBuilderPack(wmsPOMaster, result);
return result;
@ -590,6 +592,8 @@ public class WmsHqlPack {
DdlPreparedPack.getStringEqualPack(wmsASNMaster.getVersion(), "version", result);
DdlPreparedPack.getStringLikerPack(wmsASNMaster.getSrc(), "src", result);
DdlPreparedPack.getStringEqualPack(wmsASNMaster.getPoNo(), "poNo", result);
DdlPreparedPack.getStringLikerPack(wmsASNMaster.getCreateUser(), "createUser", result);
DdlPreparedPack.timeBuilder(wmsASNMaster.getCreateDateTimeStart(),wmsASNMaster.getCreateDateTimeEnd(),"createDatetime",result,true);
getStringBuilderPack(wmsASNMaster, result);
@ -620,6 +624,9 @@ public class WmsHqlPack {
//单据来源
DdlPreparedPack.getStringEqualPack(wmsShipping.getSrc(), "src", result);
DdlPreparedPack.getStringLikerPack(wmsShipping.getCreateUser(), "createUser", result);
DdlPreparedPack.timeBuilder(wmsShipping.getCreateDateTimeStart(),wmsShipping.getCreateDateTimeEnd(),"createDatetime",result,true);
getStringBuilderPack(wmsShipping, result);
getStringBuilderPack(wmsShipping, result);
return result;
@ -706,6 +713,8 @@ public class WmsHqlPack {
DdlPreparedPack.getStringLikerPack(wmsFGInStock.getCustNo(), "custNo", result);
DdlPreparedPack.getStringEqualPack(wmsFGInStock.getShippingFlag(), "shippingFlag", result);
DdlPreparedPack.getStringEqualPack(wmsFGInStock.getMfgLogNo(), "mfgLogNo", result);
DdlPreparedPack.getStringLikerPack(wmsFGInStock.getCreateUser(), "createUser", result);
DdlPreparedPack.timeBuilder(wmsFGInStock.getCreateDateTimeStart(),wmsFGInStock.getCreateDateTimeEnd(),"createDatetime",result,true);
getStringBuilderPack(wmsFGInStock, result);

Loading…
Cancel
Save