package com.zy.asrs.task.handler;
|
|
import com.alibaba.fastjson.JSON;
|
import com.alibaba.fastjson.JSONArray;
|
import com.alibaba.fastjson.JSONObject;
|
import com.zy.asrs.entity.DocType;
|
import com.zy.asrs.entity.OrderDetlPakin;
|
import com.zy.asrs.entity.OrderPakin;
|
import com.zy.asrs.service.ApiLogService;
|
import com.zy.asrs.service.DocTypeService;
|
import com.zy.asrs.service.OrderDetlPakinService;
|
import com.zy.asrs.service.OrderPakinService;
|
import com.zy.asrs.task.AbstractHandler;
|
import com.zy.asrs.task.core.ReturnT;
|
import com.zy.common.utils.HttpHandler;
|
import com.zy.system.timer.LoadingConfigTimer;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.annotation.Transactional;
|
|
import javax.annotation.Resource;
|
import java.util.Date;
|
import java.util.List;
|
|
/**
|
* Created by vincent on 2020/7/7
|
*/
|
@Slf4j
|
@Service
|
public class OrderPakinSyncHandler extends AbstractHandler<String> {
|
|
@Autowired
|
private OrderPakinService orderPakinService;
|
@Autowired
|
private OrderDetlPakinService orderDetlPakinService;
|
@Autowired
|
private ApiLogService apiLogService;
|
|
@Resource
|
private LoadingConfigTimer loadingConfigTimer;
|
|
|
@Transactional
|
public void startOrderReport(OrderPakin order) {
|
|
// 构造请求体
|
JSONObject param = new JSONObject();
|
param.put("orderNo", order.getOrderNo());
|
List<OrderDetlPakin> orderDetls = orderDetlPakinService.selectByOrderId(order.getId());
|
JSONArray detl = new JSONArray();
|
for (OrderDetlPakin orderDetlPakin : orderDetls) {
|
JSONObject object = new JSONObject();
|
object.put("matnr", orderDetlPakin.getMatnr());
|
object.put("batch", orderDetlPakin.getBatch());
|
object.put("anfme", orderDetlPakin.getQty());
|
detl.add(object);
|
}
|
param.put("matList", detl);
|
|
String response = "";
|
boolean success = false;
|
String errorMsg = null;
|
String requestJson = param.toJSONString();
|
String url = loadingConfigTimer.getErpReportURL() + loadingConfigTimer.getErpInReportPath();
|
String nameSpaces = "入库单上报";
|
try {
|
|
// response = new HttpHandler.Builder()
|
// .setUri(loadingConfigTimer.getErpReportURL())
|
// .setPath(loadingConfigTimer.getErpInReportPath())
|
// .setJson(requestJson)
|
// .build()
|
// .doPost();
|
// JSONObject jsonObject = JSON.parseObject(response);
|
// if (jsonObject.getString("code") != null && jsonObject.getString("code").equals("200")) {
|
orderPakinService.updateSettle(order.getId(), 6L, null);
|
log.info("入库单据上报成功,单据编号:{}", order.getOrderNo());
|
success = true;
|
// } else {
|
// errorMsg = response;
|
// log.error(nameSpaces + "调用外部接口失败,url:{},request:{},response:{}", url, requestJson, response);
|
// }
|
} catch (Exception e) {
|
errorMsg = e.getMessage();
|
log.error(nameSpaces + "调用外部接口异常,url:{},request:{},response:{}", url, requestJson, response, e);
|
} finally {
|
try {
|
apiLogService.save(
|
nameSpaces,
|
url,
|
null,
|
"127.0.0.1",
|
requestJson,
|
response,
|
success,
|
errorMsg
|
);
|
} catch (Exception e) {
|
log.error(nameSpaces + "保存接口日志失败", e);
|
}
|
}
|
}
|
|
}
|