Commit 24732be7 by lijingjing

添加发送日志;

修改发送ERP逻辑;
erp路径,从配置中获取;
parent 740d40d9
package com.patzn.cloud.service.lims.hmhj.common; package com.patzn.cloud.service.lims.hmhj.common;
import com.patzn.cloud.commons.constant.CommonConstants; import com.patzn.cloud.commons.constant.CommonConstants;
import com.patzn.cloud.commons.toolkit.DateUtils;
import com.patzn.cloud.service.lims.hmhj.common.consts.HttpConst; import com.patzn.cloud.service.lims.hmhj.common.consts.HttpConst;
import com.patzn.cloud.service.lims.hmhj.interceptor.NetworkInterceptor;
import okhttp3.*; import okhttp3.*;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import java.io.IOException; import java.io.IOException;
import java.util.Date;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
/** /**
...@@ -26,7 +23,7 @@ public class OkHttpUtils { ...@@ -26,7 +23,7 @@ public class OkHttpUtils {
public static String sendByPostJson(String url, String token, String json) { public static String sendByPostJson(String url, String token, String json) {
logger.error("prepare assemble data : {}", DateUtils.toYearMonthDayTime(new Date())); logger.error("DO====SEND====DATA==== 准备组装数据。");
RequestBody body = RequestBody.create(MEDIA_TYPE_JSON, json); RequestBody body = RequestBody.create(MEDIA_TYPE_JSON, json);
Request request = new Request.Builder() Request request = new Request.Builder()
.url(url) .url(url)
...@@ -40,19 +37,21 @@ public class OkHttpUtils { ...@@ -40,19 +37,21 @@ public class OkHttpUtils {
.newBuilder() .newBuilder()
.connectTimeout(10, TimeUnit.SECONDS) .connectTimeout(10, TimeUnit.SECONDS)
.readTimeout(120, TimeUnit.SECONDS) .readTimeout(120, TimeUnit.SECONDS)
.addNetworkInterceptor(new NetworkInterceptor())
.build(); .build();
Response response = null;
try { try {
logger.error("start execute send data : {}", DateUtils.toYearMonthDayTime(new Date())); logger.error("DO====SEND====ERPS==== 装备发送了。");
response = client.newCall(request).execute(); Response response = client.newCall(request).execute();
assert response.body() != null; if (null == response.body()) {
logger.error("SEND====ERP====RESULT==== 响应结果体为空。");
return null;
}
String result = response.body().string(); String result = response.body().string();
logger.error("finish response data : {}", DateUtils.toYearMonthDayTime(new Date())); logger.error("GET====ERP====RESULT==== :{}", result);
logger.error("response data :{}", result);
return result; return result;
} catch (IOException e) { } catch (IOException e) {
logger.error("SEND====DATA====EXCEPTION==== :结果响应异常!");
logger.error(e.getMessage());
e.printStackTrace(); e.printStackTrace();
} }
return null; return null;
......
...@@ -12,10 +12,16 @@ public class HttpConst { ...@@ -12,10 +12,16 @@ public class HttpConst {
public static final String CONTENT_TYPE = "application/json"; public static final String CONTENT_TYPE = "application/json";
/** /**
* 本地:"http://api.dev.patzn.com:7000/hmhj/v1/entrust_sample_item/send_data";
* 正式:"http://192.168.0.22/api/LimsData/SaveData"; * 正式:"http://192.168.0.22/api/LimsData/SaveData";
* 测试:"http://192.168.0.19:5050/api/LimsData/SaveData"; * 测试:"http://192.168.0.19:5050/api/LimsData/SaveData";
*/ */
public static final String ERP_URL = "http://192.168.0.19:5050/api/LimsData/SaveData";
public static final String PROD_URL = "http://192.168.0.22/api/LimsData/SaveData";
public static final String TEST_URL = "http://192.168.0.19:5050/api/LimsData/SaveData";
public static final String HOME_URL = "http://api.dev.patzn.com:7000/hmhj/v1/entrust_sample_item/send_data";
/** /**
* GmHu6SqGdmmtY6Aup5kp1jlWenQz+vzQ6TBN6x/3dOwfNULkTNLx2/QA9Vhq1F7LEEXP6UKzFCxt99srTFd59DjGOgmrDnvVOYBgtSYbSTD2JNeRRD8AKe/v3TW9rWFtOMfGHtTkh6AxbovaSXa99tI5HUInT2wi2xwkdo9DKOQ= * GmHu6SqGdmmtY6Aup5kp1jlWenQz+vzQ6TBN6x/3dOwfNULkTNLx2/QA9Vhq1F7LEEXP6UKzFCxt99srTFd59DjGOgmrDnvVOYBgtSYbSTD2JNeRRD8AKe/v3TW9rWFtOMfGHtTkh6AxbovaSXa99tI5HUInT2wi2xwkdo9DKOQ=
*/ */
......
...@@ -734,10 +734,10 @@ public class EntrustSampleItemController extends ServiceController { ...@@ -734,10 +734,10 @@ public class EntrustSampleItemController extends ServiceController {
@ApiOperation(value = "模拟测试发送数据到ERP", notes = "模拟测试发送数据到ERP") @ApiOperation(value = "模拟测试发送数据到ERP", notes = "模拟测试发送数据到ERP")
@PostMapping("/send_data") @PostMapping("/send_data")
@Login(action = Action.Skip) @Login(action = Action.Skip)
public RestResult<Boolean> sendData(@RequestBody SampleItemVO itemVO) { public RestResult<SampleItemVO> sendData(@RequestBody SampleItemVO itemVO) {
logger.error(itemVO.getSample_code()); logger.error(itemVO.getSample_code());
logger.error(itemVO.getBrand()); logger.error(itemVO.getBrand());
return RestResult.failed("测试中"); return RestResult.ok(itemVO);
} }
@ApiOperation(value = "根据检测项目ID退回原始记录", notes = "根据检测项目ID退回原始记录") @ApiOperation(value = "根据检测项目ID退回原始记录", notes = "根据检测项目ID退回原始记录")
......
...@@ -145,6 +145,10 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -145,6 +145,10 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
@Value("${libreOffice.url}") @Value("${libreOffice.url}")
private String libreOfficeUrl; private String libreOfficeUrl;
@Value("${service.erp-url}")
private String erpUrl;
@Autowired @Autowired
private ILmsOriginalRecordInfoService originalRecordInfoService; private ILmsOriginalRecordInfoService originalRecordInfoService;
@Autowired @Autowired
...@@ -1423,49 +1427,61 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI ...@@ -1423,49 +1427,61 @@ public class EntrustSampleItemServiceImpl extends BaseServiceImpl<EntrustSampleI
* @param sampleVOList * @param sampleVOList
*/ */
private void sendTestDataToErp(List<Long> ids) { private void sendTestDataToErp(List<Long> ids) {
logger.error("====>ERP====:{}获取执行的样品IDS;【{}】", DateUtils.toYearMonthDayTime(new Date()), ids.toString()); log("执行发送的样品IDS:" + StringUtils.join(ids, ","));
List<EntrustSample> sampleList = entrustSampleService.getBatchIds(ids); List<EntrustSample> sampleList = entrustSampleService.getBatchIds(ids);
if (CollectionUtils.isEmpty(sampleList)) { if (CollectionUtils.isEmpty(sampleList)) {
logger.error("====>ERP====:发送ERP样品数据为空!"); log("数据为空,不发送!");
return; return;
} }
// 只针对原铝和铝成品 // 只针对原铝和铝成品
String sampleName = sampleList.get(0).getName(); String sampleName = sampleList.get(0).getName();
logger.error("====>ERP====:获取样品名称【{}】!", sampleName); log("样品名称:" + sampleName);
if (!Arrays.asList("原铝", "铝成品").contains(sampleName)) { if (!Arrays.asList("原铝", "铝成品").contains(sampleName)) {
logger.error("====>ERP====:不属于原铝和铝成品,不再发送!"); log("非原铝或铝成品,不予发送!");
return; return;
} }
// 获取检测项目指标数据 // 获取检测项目指标数据
List<Map<String, Object>> dataList = entrustSampleItemIndexService.listSampleItemIndex(ids); List<Map<String, Object>> dataList = entrustSampleItemIndexService.listSampleItemIndex(ids);
logger.error("====>ERP====:获取项目和指标数据:{}", JSONArray.toJSON(dataList));
try { try {
logger.error("{}=====>===:将要发送ERP数据;", DateUtils.toYearMonthDayTime(new Date())); log("准备发送数据");
doSendErpData(dataList); doSendErpData(dataList);
} catch (Exception e) { } catch (Exception e) {
log("请求失败,请稍后重试!");
logger.error(e.getMessage()); logger.error(e.getMessage());
logger.error("{}:发送ERP请求失败,请稍后重试!", DateUtils.toYearMonthDayTime(new Date()));
} }
} }
private void log(String str) {
logger.error("HMHJ====>ERP===={}....", str);
}
private void doSendErpData(List<Map<String, Object>> dataList) { private void doSendErpData(List<Map<String, Object>> dataList) {
logger.error("{}====>ERP==== 开始发送中...."); log("开始发送数据");
dataList.forEach(t -> { for (Map<String, Object> data : dataList) {
String result = OkHttpUtils.sendByPostJson(HttpConst.ERP_URL, HttpConst.ERP_TOKEN, JacksonUtils.toJSONString(t)); String json = JSONObject.toJSONString(data);
logger.error("======>ERP====>result:" + result); log("要发送的样品数据为:" + json);
String result = OkHttpUtils.sendByPostJson(erpUrl, HttpConst.ERP_TOKEN, json);
log("发送结果:" + result);
if (StringUtils.isNotBlank(result)) { if (StringUtils.isNotBlank(result)) {
JSONObject jsonObject = JSON.parseObject(result); JSONObject jsonObject = JSON.parseObject(result);
logger.error("======<ERP>====" + jsonObject.toJSONString()); log("发送JSON响应结果====");
// ==
String flag = jsonObject.getString("flag"), message = jsonObject.getString("message"),
code = jsonObject.getString("code"), msg = jsonObject.getString("msg");
Boolean success = jsonObject.getBoolean("success");
log("响应结果:flag=" + flag);
log("响应结果:message=" + message);
log("响应结果:code=" + code);
log("响应结果:msg=" + msg);
// 若成功 ,则更新标识 // 若成功 ,则更新标识
if (Objects.equals(jsonObject.getString("code"), "1") && Objects.equals(jsonObject.getBoolean("success"), true)) { if (Objects.equals(flag, "1") || (Objects.equals(code, "1") && success)) {
logger.error("{}:====>ERP===>Result===>data,更新本地库是否发送标识!"); log("响应成功,更新本地库是否发送标识!");
entrustSampleService.update(new EntrustSample().setSendErp(1), Condition.create().eq("code", t.get("sample_code"))); entrustSampleService.update(new EntrustSample().setSendErp(1), Condition.create().eq("code", data.get("sample_code")));
} else { } else {
logger.error("{}:响应失败:{}", DateUtils.toYearMonthDayTime(new Date()), StringHandleUtils.parse(jsonObject.getString("msg"))); log("响应失败!,错误为:" + msg);
} }
} }
}); }
} }
@Override @Override
......
...@@ -7,6 +7,7 @@ swagger: ...@@ -7,6 +7,7 @@ swagger:
service: service:
api-url: http://api.dev.patzn.com:7000 api-url: http://api.dev.patzn.com:7000
url: http://api.dev.patzn.com:7000 url: http://api.dev.patzn.com:7000
erp-url: http://192.168.0.19:5050/api/LimsData/SaveData
spring: spring:
datasource: datasource:
type: com.zaxxer.hikari.HikariDataSource type: com.zaxxer.hikari.HikariDataSource
......
...@@ -13,6 +13,7 @@ service: ...@@ -13,6 +13,7 @@ service:
province-item-url: http://60.216.97.250:8087/ province-item-url: http://60.216.97.250:8087/
soffice: /opt/libreoffice6.2/program/soffice soffice: /opt/libreoffice6.2/program/soffice
static-url: static.hmlims.com:9000 static-url: static.hmlims.com:9000
erp-url: http://192.168.0.19:5050/api/LimsData/SaveData
spring: spring:
datasource: datasource:
type: com.zaxxer.hikari.HikariDataSource type: com.zaxxer.hikari.HikariDataSource
......
...@@ -9,6 +9,7 @@ swagger: ...@@ -9,6 +9,7 @@ swagger:
service: service:
api-url: http://api.dev.patzn.com:7000 api-url: http://api.dev.patzn.com:7000
url: http://api.dev.patzn.com:7000 url: http://api.dev.patzn.com:7000
erp-url: http://192.168.0.19:5050/api/LimsData/SaveData
spring: spring:
datasource: datasource:
type: com.zaxxer.hikari.HikariDataSource type: com.zaxxer.hikari.HikariDataSource
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment