|
@@ -3,8 +3,7 @@ package com.uas.eis.serviceImpl;
|
|
|
import com.uas.eis.core.config.SpObserver;
|
|
|
import com.uas.eis.dao.BaseDao;
|
|
|
import com.uas.eis.dao.SqlRowList;
|
|
|
-import com.uas.eis.entity.ErrorMessage;
|
|
|
-import com.uas.eis.entity.HelperType;
|
|
|
+import com.uas.eis.entity.*;
|
|
|
import com.uas.eis.exception.ApiSystemException;
|
|
|
import com.uas.eis.sdk.entity.ApiResult;
|
|
|
import com.uas.eis.service.MESDataService;
|
|
@@ -2202,7 +2201,207 @@ public class MESHelperServiceImpl implements MESHelperService {
|
|
|
return rmap;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ * 增加对接静电数据
|
|
|
+ * @param json
|
|
|
+ * {
|
|
|
+ * "dataList": [
|
|
|
+ * {
|
|
|
+ * "id": 0,
|
|
|
+ * "factoryName": "",
|
|
|
+ * "lineName": "",
|
|
|
+ * "seatNo": 0,
|
|
|
+ * "seatDeviceName": "",
|
|
|
+ * "seatDeviceMark": "",
|
|
|
+ * "seatSort": 0,
|
|
|
+ * "employee": "",
|
|
|
+ * "jobNum": "",
|
|
|
+ * "wristStrapNum": "",
|
|
|
+ * "bodyTemperature": 0.0,
|
|
|
+ * "staticState": 0,
|
|
|
+ * "createTime": "2025-03-24 20:18:43"
|
|
|
+ * }
|
|
|
+ * ],
|
|
|
+ * "timestamp": 1742818758248,
|
|
|
+ * "sign": "F62A20ABA50F0E5D8095EAF7282CCF1F"
|
|
|
+ * }
|
|
|
+ * @return
|
|
|
+ *
|
|
|
+ * 接⼝秘钥secret R&XSMOQyRbDm2136sSTGWDRf ,⽤于下⾯接⼝加密签名
|
|
|
+ * "timestamp": 1742818758248,
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Map<String, Object> saveSeatDevice(String json) {
|
|
|
+ Map<Object,Object> da = BaseUtil.parseFormStoreToMap(json);
|
|
|
+ Map<String,Object> rmap = new HashMap<>();
|
|
|
+
|
|
|
+ String err = checkTimeStamp(da);
|
|
|
+ if(null != err){
|
|
|
+ rmap.put("success",false);
|
|
|
+ rmap.put("code",500);
|
|
|
+ rmap.put("message",err);
|
|
|
+ rmap.put("data",null);
|
|
|
+ rmap.put("exceptionClazz",null);
|
|
|
+ return rmap;
|
|
|
+ }
|
|
|
+ if(!StringUtil.hasText(da.get("dataList"))){
|
|
|
+ rmap.put("success",false);
|
|
|
+ rmap.put("code",500);
|
|
|
+ rmap.put("message","静电数据集合dataList为空");
|
|
|
+ rmap.put("data",null);
|
|
|
+ rmap.put("exceptionClazz",null);
|
|
|
+ return rmap;
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ MainSeatDevice device = FlexJsonUtil.fromJson(json,MainSeatDevice.class);
|
|
|
+ List<String> sqls = new ArrayList<>();
|
|
|
+ List<MainSeatDeviceState> states = device.getDataList();
|
|
|
+ for(MainSeatDeviceState state : states){
|
|
|
+ sqls.add(state.toSqlString());
|
|
|
+ }
|
|
|
+ baseDao.execute(sqls);
|
|
|
+ rmap.put("success",true);
|
|
|
+ rmap.put("code",200);
|
|
|
+ rmap.put("message","请求成功");
|
|
|
+ return rmap;
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ rmap.put("success",false);
|
|
|
+ rmap.put("code",500);
|
|
|
+ rmap.put("message",e.getMessage().length()>1000?e.getMessage().substring(0,1000):e.getMessage() );
|
|
|
+ rmap.put("data",null);
|
|
|
+ rmap.put("exceptionClazz",null);
|
|
|
+ return rmap;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
+
|
|
|
+ *增加对接机器数据
|
|
|
+ * @param json
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Map<String, Object> saveMachineDevice(String json) {
|
|
|
+ Map<Object,Object> da = BaseUtil.parseFormStoreToMap(json);
|
|
|
+ Map<String,Object> rmap = new HashMap<>();
|
|
|
+
|
|
|
+ String err = checkTimeStamp(da);
|
|
|
+ if(null != err){
|
|
|
+ rmap.put("success",false);
|
|
|
+ rmap.put("code",500);
|
|
|
+ rmap.put("message",err);
|
|
|
+ rmap.put("data",null);
|
|
|
+ rmap.put("exceptionClazz",null);
|
|
|
+ return rmap;
|
|
|
+ }
|
|
|
+ if(!StringUtil.hasText(da.get("dataList"))){
|
|
|
+ rmap.put("success",false);
|
|
|
+ rmap.put("code",500);
|
|
|
+ rmap.put("message","机器数据集合dataList为空");
|
|
|
+ rmap.put("data",null);
|
|
|
+ rmap.put("exceptionClazz",null);
|
|
|
+ return rmap;
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ MainMachineDevice device = FlexJsonUtil.fromJson(json,MainMachineDevice.class);
|
|
|
+ List<String> sqls = new ArrayList<>();
|
|
|
+ List<MainMachineDeviceState> states = device.getDataList();
|
|
|
+ for(MainMachineDeviceState state : states){
|
|
|
+ sqls.add(state.toSqlString());
|
|
|
+ }
|
|
|
+ baseDao.execute(sqls);
|
|
|
+ rmap.put("success",true);
|
|
|
+ rmap.put("code",200);
|
|
|
+ rmap.put("message","请求成功");
|
|
|
+ return rmap;
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ rmap.put("success",false);
|
|
|
+ rmap.put("code",500);
|
|
|
+ rmap.put("message",e.getMessage().length()>1000?e.getMessage().substring(0,1000):e.getMessage() );
|
|
|
+ rmap.put("data",null);
|
|
|
+ rmap.put("exceptionClazz",null);
|
|
|
+ return rmap;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * 增加对接台垫数据
|
|
|
+ * @param json
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public Map<String, Object> saveCushionDevice(String json) {
|
|
|
+ Map<Object,Object> da = BaseUtil.parseFormStoreToMap(json);
|
|
|
+ Map<String,Object> rmap = new HashMap<>();
|
|
|
+
|
|
|
+ String err = checkTimeStamp(da);
|
|
|
+ if(null != err){
|
|
|
+ rmap.put("success",false);
|
|
|
+ rmap.put("code",500);
|
|
|
+ rmap.put("message",err);
|
|
|
+ rmap.put("data",null);
|
|
|
+ rmap.put("exceptionClazz",null);
|
|
|
+ return rmap;
|
|
|
+ }
|
|
|
+ if(!StringUtil.hasText(da.get("dataList"))){
|
|
|
+ rmap.put("success",false);
|
|
|
+ rmap.put("code",500);
|
|
|
+ rmap.put("message","台垫数据集合dataList为空");
|
|
|
+ rmap.put("data",null);
|
|
|
+ rmap.put("exceptionClazz",null);
|
|
|
+ return rmap;
|
|
|
+ }
|
|
|
+ try {
|
|
|
+ MainCushionDevice device = FlexJsonUtil.fromJson(json,MainCushionDevice.class);
|
|
|
+ List<String> sqls = new ArrayList<>();
|
|
|
+ List<MainCushionDeviceState> states = device.getDataList();
|
|
|
+ for(MainCushionDeviceState state : states){
|
|
|
+ sqls.add(state.toSqlString());
|
|
|
+ }
|
|
|
+ baseDao.execute(sqls);
|
|
|
+ rmap.put("success",true);
|
|
|
+ rmap.put("code",200);
|
|
|
+ rmap.put("message","请求成功");
|
|
|
+ return rmap;
|
|
|
+ }catch (Exception e){
|
|
|
+ e.printStackTrace();
|
|
|
+ rmap.put("success",false);
|
|
|
+ rmap.put("code",500);
|
|
|
+ rmap.put("message",e.getMessage().length()>1000?e.getMessage().substring(0,1000):e.getMessage() );
|
|
|
+ rmap.put("data",null);
|
|
|
+ rmap.put("exceptionClazz",null);
|
|
|
+ return rmap;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ * "timestamp": 1742818758248,
|
|
|
+ * 当前系统13位毫秒级时间戳,⽤于校验签名,5分钟有效期
|
|
|
+ * "sign": "F62A20ABA50F0E5D8095EAF7282CCF1F"
|
|
|
+ * 接⼝签名:
|
|
|
+ * 1. 拼接字符串:timestamp={毫秒级时间戳}&secret={接⼝秘钥}
|
|
|
+ * 2. 将第1步拼接后的字符串,进⾏MD5 加密,⽣成32位的16进制MD5字符串
|
|
|
+ */
|
|
|
+ private String checkTimeStamp(Map<Object,Object> da){
|
|
|
+ if(!StringUtil.hasText(da.get("timestamp"))){
|
|
|
+ return "时间戳timestamp值为空";
|
|
|
+ }
|
|
|
+ if(!StringUtil.hasText(da.get("sign"))){
|
|
|
+ return "签名sign值为空";
|
|
|
+ }
|
|
|
+ if(System.currentTimeMillis()-Long.parseLong(da.get("timestamp").toString())>5*60*1000){
|
|
|
+ return "时间戳已失效,上传失败";
|
|
|
+ }
|
|
|
+ StringBuilder temp = new StringBuilder();
|
|
|
+ temp.append("timestamp=").append(da.get("timestamp")).append("&secret=").append("R&XSMOQyRbDm2136sSTGWDRf");
|
|
|
+ String sign = MD5Util.encrypt32Up(temp.toString()).toUpperCase();
|
|
|
+ System.out.println(sign);
|
|
|
+ if(!sign.equals(da.get("sign"))){
|
|
|
+ return "签名错误,请检查";
|
|
|
+ }
|
|
|
+ return null;
|
|
|
+ }
|
|
|
private Map<Object,Object> GetSnRepm(JSONObject map)
|
|
|
{
|
|
|
Map<Object, Object> rmap = new HashMap<Object, Object>();
|