Browse Source

1.尝试修改推送多次的问题

dev-warehouse
pref_mail@163.com 2 years ago
parent
commit
a714c6f805
  1. 296
      blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/impl/MtFactoryDataServiceImpl.java
  2. 1
      blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java
  3. 15
      blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/UnloadCarComHandler.java

296
blade-service/logpm-factory/src/main/java/com/logpm/factory/mt/service/impl/MtFactoryDataServiceImpl.java

@ -71,103 +71,103 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService {
public R dealWithData(MtFactoryDataDTO mtFactoryDataDTO) { public R dealWithData(MtFactoryDataDTO mtFactoryDataDTO) {
log.info("#############dealWithData: 处理梦天工厂数据 开始"); log.info("#############dealWithData: 处理梦天工厂数据 开始");
String orderType = mtFactoryDataDTO.getOrderType();//单据类型 String orderType = mtFactoryDataDTO.getOrderType();//单据类型
if("反冲单".equals(orderType)){ if ("反冲单".equals(orderType)) {
//如果是反冲单 就去把对应的包件信息逻辑删除 //如果是反冲单 就去把对应的包件信息逻辑删除
List<MtFactoryOrderDTO> orderList = mtFactoryDataDTO.getOrderList(); List<MtFactoryOrderDTO> orderList = mtFactoryDataDTO.getOrderList();
List<Long> updateList = new ArrayList<>(); List<Long> updateList = new ArrayList<>();
for (MtFactoryOrderDTO mtFactoryOrderDTO:orderList){ for (MtFactoryOrderDTO mtFactoryOrderDTO : orderList) {
String orderCode = mtFactoryOrderDTO.getOrderCode(); String orderCode = mtFactoryOrderDTO.getOrderCode();
List<MtPackageInfoDTO> packageInfos = mtFactoryOrderDTO.getPackageInfos(); List<MtPackageInfoDTO> packageInfos = mtFactoryOrderDTO.getPackageInfos();
for (MtPackageInfoDTO mtPackageInfoDTO:packageInfos){ for (MtPackageInfoDTO mtPackageInfoDTO : packageInfos) {
//根据包件码和订单自编码查询是否存在该包件 //根据包件码和订单自编码查询是否存在该包件
String packageCode = mtPackageInfoDTO.getPackageCode(); String packageCode = mtPackageInfoDTO.getPackageCode();
QueryWrapper<MtPackageInfo> queryWrapper = new QueryWrapper<>(); QueryWrapper<MtPackageInfo> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("order_code",orderCode) queryWrapper.eq("order_code", orderCode)
.eq("package_code",packageCode) .eq("package_code", packageCode)
.eq("is_deleted",0); .eq("is_deleted", 0);
MtPackageInfo mtPackageInfo = mtPackageInfoService.getOne(queryWrapper); MtPackageInfo mtPackageInfo = mtPackageInfoService.getOne(queryWrapper);
if(!Objects.isNull(mtPackageInfo)){ if (!Objects.isNull(mtPackageInfo)) {
updateList.add(mtPackageInfo.getId()); updateList.add(mtPackageInfo.getId());
} }
} }
} }
mtPackageInfoService.updateDeleteByIds(updateList); mtPackageInfoService.updateDeleteByIds(updateList);
return R.success("SUCCESS"); return R.success("SUCCESS");
}else { } else {
String invoiceOrderCode = mtFactoryDataDTO.getInvoiceOrderCode();//发货单编码 String invoiceOrderCode = mtFactoryDataDTO.getInvoiceOrderCode();//发货单编码
//先判断该发货单编码是否已经存在 //先判断该发货单编码是否已经存在
QueryWrapper<MtFactoryOrderMain> queryWrapper = new QueryWrapper<>(); QueryWrapper<MtFactoryOrderMain> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("invoice_order_code",invoiceOrderCode); queryWrapper.eq("invoice_order_code", invoiceOrderCode);
Long mainId = null; Long mainId = null;
MtFactoryOrderMain mtFactoryOrderMain = mtFactoryOrderMainService.getOne(queryWrapper); MtFactoryOrderMain mtFactoryOrderMain = mtFactoryOrderMainService.getOne(queryWrapper);
if(!Objects.isNull(mtFactoryOrderMain)){ if (!Objects.isNull(mtFactoryOrderMain)) {
log.warn("#############dealWithData: 数据已存在 invoiceOrderCode={}",invoiceOrderCode); log.warn("#############dealWithData: 数据已存在 invoiceOrderCode={}", invoiceOrderCode);
return R.fail(405,"发货单已存在"); return R.fail(405, "发货单已存在");
} }
//先取出所有发车单下面的订单 //先取出所有发车单下面的订单
List<MtFactoryOrderDTO> orderList = mtFactoryDataDTO.getOrderList();//所有订单数据 List<MtFactoryOrderDTO> orderList = mtFactoryDataDTO.getOrderList();//所有订单数据
for(MtFactoryOrderDTO mtFactoryOrderDTO:orderList){ for (MtFactoryOrderDTO mtFactoryOrderDTO : orderList) {
String orderCode = mtFactoryOrderDTO.getOrderCode();//订单自编码 String orderCode = mtFactoryOrderDTO.getOrderCode();//订单自编码
//先取出订单下面的包件进行判断是否存在 //先取出订单下面的包件进行判断是否存在
List<MtPackageInfoDTO> packageInfos = mtFactoryOrderDTO.getPackageInfos(); List<MtPackageInfoDTO> packageInfos = mtFactoryOrderDTO.getPackageInfos();
//查询出该订单自编码下面的目前存在的所有包件 //查询出该订单自编码下面的目前存在的所有包件
QueryWrapper<MtPackageInfo> qw = new QueryWrapper<>(); QueryWrapper<MtPackageInfo> qw = new QueryWrapper<>();
qw.eq("order_code",orderCode); qw.eq("order_code", orderCode);
List<MtPackageInfo> existPackages = mtPackageInfoService.list(qw); List<MtPackageInfo> existPackages = mtPackageInfoService.list(qw);
for(MtPackageInfo mtPackageInfo:existPackages){ for (MtPackageInfo mtPackageInfo : existPackages) {
String packageCode = mtPackageInfo.getPackageCode(); String packageCode = mtPackageInfo.getPackageCode();
for (MtPackageInfoDTO mtPackageInfoDTO:packageInfos){ for (MtPackageInfoDTO mtPackageInfoDTO : packageInfos) {
String pc = mtPackageInfoDTO.getPackageCode(); String pc = mtPackageInfoDTO.getPackageCode();
if(packageCode.equals(pc)){ if (packageCode.equals(pc)) {
packageInfos.remove(mtPackageInfoDTO); packageInfos.remove(mtPackageInfoDTO);
break; break;
} }
} }
} }
//判断是否有新的包件 //判断是否有新的包件
if(packageInfos.size() == 0){ if (packageInfos.size() == 0) {
//如果没有新增包件就直接下一条数据 //如果没有新增包件就直接下一条数据
log.info("##################dealWithData: 没有新增包件,所以当前数据不保存 invoiceOrderCode={}",invoiceOrderCode); log.info("##################dealWithData: 没有新增包件,所以当前数据不保存 invoiceOrderCode={}", invoiceOrderCode);
continue; continue;
} }
//如果有新增包件就去存入订单发车单,和订单信息 //如果有新增包件就去存入订单发车单,和订单信息
if(Objects.isNull(mtFactoryOrderMain)){ if (Objects.isNull(mtFactoryOrderMain)) {
mtFactoryOrderMain = new MtFactoryOrderMain(); mtFactoryOrderMain = new MtFactoryOrderMain();
BeanUtil.copyProperties(mtFactoryDataDTO,mtFactoryOrderMain); BeanUtil.copyProperties(mtFactoryDataDTO, mtFactoryOrderMain);
boolean saveMain = mtFactoryOrderMainService.save(mtFactoryOrderMain); boolean saveMain = mtFactoryOrderMainService.save(mtFactoryOrderMain);
if(saveMain){ if (saveMain) {
mainId = mtFactoryOrderMain.getId(); mainId = mtFactoryOrderMain.getId();
}else{ } else {
log.warn("##################dealWithData: 保存头信息失败invoiceOrderCode={} ",invoiceOrderCode); log.warn("##################dealWithData: 保存头信息失败invoiceOrderCode={} ", invoiceOrderCode);
throw new CustomerException(405,"保存数据失败"); throw new CustomerException(405, "保存数据失败");
} }
} }
//保存订单信息 //保存订单信息
MtFactoryOrder mtFactoryOrder = new MtFactoryOrder(); MtFactoryOrder mtFactoryOrder = new MtFactoryOrder();
BeanUtil.copyProperties(mtFactoryOrderDTO,mtFactoryOrder); BeanUtil.copyProperties(mtFactoryOrderDTO, mtFactoryOrder);
mtFactoryOrder.setMainId(mainId); mtFactoryOrder.setMainId(mainId);
boolean saveOrder = mtFactoryOrderService.save(mtFactoryOrder); boolean saveOrder = mtFactoryOrderService.save(mtFactoryOrder);
Long orderId = mtFactoryOrder.getId(); Long orderId = mtFactoryOrder.getId();
if(saveOrder){ if (saveOrder) {
List<MtPackageInfo> list = new ArrayList<>(); List<MtPackageInfo> list = new ArrayList<>();
for(MtPackageInfoDTO mtPackageInfoDTO:packageInfos){ for (MtPackageInfoDTO mtPackageInfoDTO : packageInfos) {
MtPackageInfo mtPackageInfo = new MtPackageInfo(); MtPackageInfo mtPackageInfo = new MtPackageInfo();
BeanUtil.copyProperties(mtPackageInfoDTO,mtPackageInfo); BeanUtil.copyProperties(mtPackageInfoDTO, mtPackageInfo);
mtPackageInfo.setOrderId(orderId); mtPackageInfo.setOrderId(orderId);
mtPackageInfo.setOrderCode(orderCode); mtPackageInfo.setOrderCode(orderCode);
list.add(mtPackageInfo); list.add(mtPackageInfo);
} }
//保存包件信息 //保存包件信息
boolean b = mtPackageInfoService.saveBatch(list); boolean b = mtPackageInfoService.saveBatch(list);
}else{ } else {
log.warn("##################dealWithData: 保存订单信息失败orderCode={} ",orderCode); log.warn("##################dealWithData: 保存订单信息失败orderCode={} ", orderCode);
throw new CustomerException(405,"保存数据失败"); throw new CustomerException(405, "保存数据失败");
} }
} }
Map<String,Long> map = new HashMap<>(); Map<String, Long> map = new HashMap<>();
map.put("mainId",mainId); map.put("mainId", mainId);
return R.data(map); return R.data(map);
} }
@ -179,24 +179,24 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService {
//根据客户订单号去查询WMS装车清单号 //根据客户订单号去查询WMS装车清单号
QueryWrapper<MtFactoryOrder> queryWrapper = new QueryWrapper<>(); QueryWrapper<MtFactoryOrder> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("order_code",orderNo); queryWrapper.eq("order_code", orderNo);
MtFactoryOrder mtFactoryOrder = mtFactoryOrderService.getOne(queryWrapper); MtFactoryOrder mtFactoryOrder = mtFactoryOrderService.getOne(queryWrapper);
if(Objects.isNull(mtFactoryOrder)){ if (Objects.isNull(mtFactoryOrder)) {
logger.info("#############handleData: 未找到订单数据 合同自编码orderNo={}",orderNo); logger.info("#############handleData: 未找到订单数据 合同自编码orderNo={}", orderNo);
return R.fail(400,"未找到订单数据"); return R.fail(400, "未找到订单数据");
} }
//TODO 组装数据 //TODO 组装数据
//判断数据是都已存在 //判断数据是都已存在
if(!orderInfoDTO.verifyData()){ if (!orderInfoDTO.verifyData()) {
logger.info("#############handleData: 数据不齐全 orderInfoDTO={}",orderInfoDTO); logger.info("#############handleData: 数据不齐全 orderInfoDTO={}", orderInfoDTO);
return R.fail(405,"数据不齐全"); return R.fail(405, "数据不齐全");
} }
//拼接参数 //拼接参数
Map<String,Object> map = new HashMap<>(); Map<String, Object> map = new HashMap<>();
map.put("payload", JSONObject.toJSONString(orderInfoDTO)); map.put("payload", JSONObject.toJSONString(orderInfoDTO));
Gson gson = new GsonBuilder().setPrettyPrinting().create(); Gson gson = new GsonBuilder().setPrettyPrinting().create();
@ -206,29 +206,29 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService {
String panToken = getMtToken(); String panToken = getMtToken();
//请求参数 //请求参数
logger.info("##############handleData: 推送包件状态请求参数 {}",s); logger.info("##############handleData: 推送包件状态请求参数 {}", s);
//处理逻辑 //处理逻辑
String result = HttpRequest.post("URL"+"/hitf/v1/rest/invoke?namespace=HZERO&serverCode=OPEN&interfaceCode=HUITONG_MID_RECEIVE") String result = HttpRequest.post("URL" + "/hitf/v1/rest/invoke?namespace=HZERO&serverCode=OPEN&interfaceCode=HUITONG_MID_RECEIVE")
.header("Authorization","Bearer "+panToken) .header("Authorization", "Bearer " + panToken)
.header("Content-Type","application/json") .header("Content-Type", "application/json")
.body(s).timeout(5 * 1000) .body(s).timeout(5 * 1000)
.execute().body(); .execute().body();
logger.info("##############handleData: 推送包件状态返回参数 {}",result); logger.info("##############handleData: 推送包件状态返回参数 {}", result);
//把结果字符串转为json对象 //把结果字符串转为json对象
JSONObject jsonObject = JSONObject.parseObject(result); JSONObject jsonObject = JSONObject.parseObject(result);
JSONObject payload = jsonObject.getJSONObject("payload"); JSONObject payload = jsonObject.getJSONObject("payload");
if(!Objects.isNull(payload)){ if (!Objects.isNull(payload)) {
Integer code = payload.getInteger("code"); Integer code = payload.getInteger("code");
String message = payload.getString("data"); String message = payload.getString("data");
if(code.equals(1)){ if (code.equals(1)) {
logger.info("##########handleData: 物流状态传递成功"); logger.info("##########handleData: 物流状态传递成功");
}else{ } else {
return R.fail(405,message); return R.fail(405, message);
} }
}else{ } else {
return R.fail(405,"返回格式有误:"+result); return R.fail(405, "返回格式有误:" + result);
} }
return Resp.success("SUCCESS"); return Resp.success("SUCCESS");
@ -236,11 +236,12 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService {
/** /**
* 获取梦天的工厂的数据token * 获取梦天的工厂的数据token
*
* @return * @return
*/ */
private String getMtToken() throws NoSuchAlgorithmException { private String getMtToken() throws NoSuchAlgorithmException {
String mtToken =bladeRedis.get("mt_token"); String mtToken = bladeRedis.get("mt_token");
if(StringUtil.isBlank(mtToken)){ if (StringUtil.isBlank(mtToken)) {
// 重新获取 // 重新获取
String appkey = mtFactoryProperties.getAppkey(); String appkey = mtFactoryProperties.getAppkey();
String appsecret = mtFactoryProperties.getAppsecret(); String appsecret = mtFactoryProperties.getAppsecret();
@ -250,35 +251,35 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService {
String sign = MD5Utils.md5Hex((appkey + appsecret + time).getBytes(StandardCharsets.UTF_8)); String sign = MD5Utils.md5Hex((appkey + appsecret + time).getBytes(StandardCharsets.UTF_8));
String pwd = MD5Utils.md5Hex(userpwd.getBytes(StandardCharsets.UTF_8)); String pwd = MD5Utils.md5Hex(userpwd.getBytes(StandardCharsets.UTF_8));
JSONObject jsonObject1 =new JSONObject(); JSONObject jsonObject1 = new JSONObject();
jsonObject1.put("APPKEY",appkey); jsonObject1.put("APPKEY", appkey);
jsonObject1.put("SIGN",sign); jsonObject1.put("SIGN", sign);
jsonObject1.put("USERID",userid); jsonObject1.put("USERID", userid);
jsonObject1.put("USERPWD",pwd); jsonObject1.put("USERPWD", pwd);
jsonObject1.put("Timestamp",time); jsonObject1.put("Timestamp", time);
logger.info("##############getMengtianToken: 获取梦天token请求参数 {}",jsonObject1); logger.info("##############getMengtianToken: 获取梦天token请求参数 {}", jsonObject1);
String result = HttpRequest.post(mtFactoryProperties.getUrl()+"/Auth/Validate") String result = HttpRequest.post(mtFactoryProperties.getUrl() + "/Auth/Validate")
.header("Content-Type","application/json").body(jsonObject1.toJSONString()).timeout(5 * 1000) .header("Content-Type", "application/json").body(jsonObject1.toJSONString()).timeout(5 * 1000)
.execute() .execute()
.body(); .body();
//获取的结果转成json对象 //获取的结果转成json对象
JSONObject jsonObject = JSONObject.parseObject(result); JSONObject jsonObject = JSONObject.parseObject(result);
logger.info("##############getMengtianToken: 获取梦天token返回参数 {}",result); logger.info("##############getMengtianToken: 获取梦天token返回参数 {}", result);
Integer code = jsonObject.getInteger("Result"); Integer code = jsonObject.getInteger("Result");
String access_token = jsonObject.getString("Data"); String access_token = jsonObject.getString("Data");
if(0 == code){ if (0 == code) {
if(StringUtil.hasLength(access_token)){ if (StringUtil.hasLength(access_token)) {
mtToken= access_token; mtToken = access_token;
// 加入redis // 加入redis
bladeRedis.setEx("mt_token",mtToken,25*60L); bladeRedis.setEx("mt_token", mtToken, 25 * 60L);
}else{ } else {
log.warn("###############getMengtianToken: 获取梦天token失败 access_token={}",access_token); log.warn("###############getMengtianToken: 获取梦天token失败 access_token={}", access_token);
throw new CustomerException(402,"获取梦天token失败"); throw new CustomerException(402, "获取梦天token失败");
} }
}else{ } else {
log.warn("###############getMengtianToken: 获取梦天token失败 code={}",code); log.warn("###############getMengtianToken: 获取梦天token失败 code={}", code);
throw new CustomerException(402,"获取梦天token失败"); throw new CustomerException(402, "获取梦天token失败");
} }
} }
return mtToken; return mtToken;
@ -288,19 +289,17 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService {
@Override @Override
public R handleStatusData(OrderStatusDTO orderStatusDTO) throws CustomerException, JsonProcessingException, NoSuchAlgorithmException { public R handleStatusData(OrderStatusDTO orderStatusDTO) throws CustomerException, JsonProcessingException, NoSuchAlgorithmException {
logger.info("#############handleStatusData: orderStatusDTO={}",orderStatusDTO); logger.info("#############handleStatusData: orderStatusDTO={}", orderStatusDTO);
String status = orderStatusDTO.getStatus(); String status = orderStatusDTO.getStatus();
String orderNo = orderStatusDTO.getOrderNo(); String orderNo = orderStatusDTO.getOrderNo();
if("1".equals(status)||"2".equals(status)||"3".equals(status)||"5".equals(status)||"6".equals(status)||"7".equals(status)||"8".equals(status)||"9".equals(status)){ if ("1".equals(status) || "2".equals(status) || "3".equals(status) || "5".equals(status) || "6".equals(status) || "7".equals(status) || "8".equals(status) || "9".equals(status)) {
logger.info("#############handleStatusData: 当前数据的状态不推送 status={}",status); logger.info("#############handleStatusData: 当前数据的状态不推送 status={}", status);
return Resp.fail(400,"当前数据的状态不推送"); return Resp.fail(400, "当前数据的状态不推送");
} }
logger.info("##################orderStatusHandler: 异常tag={}", 0);
logger.info("##################orderStatusHandler: 异常tag={}",0);
// if("4".equals(status)){ // if("4".equals(status)){
@ -337,51 +336,49 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService {
//通过包件码查询是否是要推送的订单 //通过包件码查询是否是要推送的订单
String unitNo = orderStatusDTO.getUnitNo();//包件码 String unitNo = orderStatusDTO.getUnitNo();//包件码
QueryWrapper<MtPackageInfo> packageInfoQueryWrapper = new QueryWrapper<>(); QueryWrapper<MtPackageInfo> packageInfoQueryWrapper = new QueryWrapper<>();
packageInfoQueryWrapper.eq("package_code",unitNo); packageInfoQueryWrapper.eq("package_code", unitNo);
MtPackageInfo one = mtPackageInfoService.getOne(packageInfoQueryWrapper); MtPackageInfo one = mtPackageInfoService.getOne(packageInfoQueryWrapper);
logger.info("#############one: {}",one); logger.info("#############one: {}", one);
if(Objects.isNull(one)){ if (Objects.isNull(one)) {
logger.info("#############handleStatusData: 当前包条码未找到对应数据unitNo={}",unitNo); logger.info("#############handleStatusData: 当前包条码未找到对应数据unitNo={}", unitNo);
return Resp.fail(400,"未找到包件数据"); return Resp.fail(400, "未找到包件数据");
} }
Long orderId = one.getOrderId(); Long orderId = one.getOrderId();
MtFactoryOrder mtFactoryOrder = mtFactoryOrderService.getById(orderId); MtFactoryOrder mtFactoryOrder = mtFactoryOrderService.getById(orderId);
if(Objects.isNull(mtFactoryOrder)){ if (Objects.isNull(mtFactoryOrder)) {
logger.info("#############handleStatusData: 未找到对应订单orderId={}",orderId); logger.info("#############handleStatusData: 未找到对应订单orderId={}", orderId);
return Resp.fail(400,"未找到对应订单"); return Resp.fail(400, "未找到对应订单");
} }
Long mainId = mtFactoryOrder.getMainId(); Long mainId = mtFactoryOrder.getMainId();
MtFactoryOrderMain mtFactoryOrderMain = mtFactoryOrderMainService.getById(mainId); MtFactoryOrderMain mtFactoryOrderMain = mtFactoryOrderMainService.getById(mainId);
if(Objects.isNull(mtFactoryOrderMain)){ if (Objects.isNull(mtFactoryOrderMain)) {
logger.info("#############handleStatusData: 未找到对应订单mainId={}",mainId); logger.info("#############handleStatusData: 未找到对应订单mainId={}", mainId);
return Resp.fail(400,"未找到对应订单"); return Resp.fail(400, "未找到对应订单");
} }
// 验证该数据是否推送过 // 验证该数据是否推送过
logger.info("##################orderStatusHandler: 异常tag={}",1); logger.info("##################orderStatusHandler: 异常tag={}", 1);
LambdaQueryWrapper<MtPushData> lambdaQueryChainWrapper = new LambdaQueryWrapper(MtPushData.class); LambdaQueryWrapper<MtPushData> lambdaQueryChainWrapper = new LambdaQueryWrapper(MtPushData.class);
lambdaQueryChainWrapper.select(MtPushData::getId); lambdaQueryChainWrapper.select(MtPushData::getId);
lambdaQueryChainWrapper.eq(MtPushData::getPushStatus,1); lambdaQueryChainWrapper.eq(MtPushData::getPushStatus, 1);
lambdaQueryChainWrapper.eq(MtPushData::getRefCode,unitNo); lambdaQueryChainWrapper.eq(MtPushData::getRefCode, unitNo);
lambdaQueryChainWrapper.eq(MtPushData::getRefParentCode,orderNo); lambdaQueryChainWrapper.eq(MtPushData::getRefParentCode, orderNo);
lambdaQueryChainWrapper.eq(MtPushData::getRefType,2); lambdaQueryChainWrapper.eq(MtPushData::getRefType, 2);
logger.info("##################orderStatusHandler: 异常tag={}",2); logger.info("##################orderStatusHandler: 异常tag={}", 2);
List<MtPushData> tempIds =mtPushDataService.getBaseMapper().selectList(lambdaQueryChainWrapper); List<MtPushData> tempIds = mtPushDataService.getBaseMapper().selectList(lambdaQueryChainWrapper);
logger.info("##################orderStatusHandler: 异常tag={}",3); logger.info("##################orderStatusHandler: 异常tag={}", 3);
logger.info("##################orderStatusHandler: tempIds={}",tempIds); logger.info("##################orderStatusHandler: tempIds={}", tempIds);
if(tempIds!=null&& tempIds.size()>0){ if (tempIds != null && tempIds.size() > 0) {
// 标识存在 该项数据已被推送 // 标识存在 该项数据已被推送
return Resp.fail(400,"数据已被推送 ,无需再次重复"); return Resp.fail(400, "数据已被推送 ,无需再次重复");
} }
//拼接参数 //拼接参数
MtOrderStatusDTO mtOrderStatusDTO = new MtOrderStatusDTO(); MtOrderStatusDTO mtOrderStatusDTO = new MtOrderStatusDTO();
mtOrderStatusDTO.setInvoiceOrderCode(mtFactoryOrderMain.getInvoiceOrderCode()); mtOrderStatusDTO.setInvoiceOrderCode(mtFactoryOrderMain.getInvoiceOrderCode());
@ -397,7 +394,7 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService {
R rd = sendMtFactoryData(mtFactoryProperties.getUrl() + "/ZXCFaHuoDan/ShouHuoRuKu", s, 1); R rd = sendMtFactoryData(mtFactoryProperties.getUrl() + "/ZXCFaHuoDan/ShouHuoRuKu", s, 1);
if(rd.getCode()==ResultCode.SUCCESS.getCode()){ if (rd.getCode() == ResultCode.SUCCESS.getCode()) {
MtPushData mtPushData = new MtPushData(); MtPushData mtPushData = new MtPushData();
mtPushData.setPushTime(new Date()); mtPushData.setPushTime(new Date());
mtPushData.setPushStatus(1);// 推送状态 mtPushData.setPushStatus(1);// 推送状态
@ -405,7 +402,7 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService {
mtPushData.setRefParentCode(orderNo); mtPushData.setRefParentCode(orderNo);
mtPushData.setRefType(2);// 包件 mtPushData.setRefType(2);// 包件
// 插入推送数据 // 插入推送数据
logger.info("#############handleStatusData:保存推送数据{}",mtPushData); logger.info("#############handleStatusData:保存推送数据{}", mtPushData);
mtPushDataService.save(mtPushData); mtPushDataService.save(mtPushData);
} }
@ -416,25 +413,24 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService {
} }
@Transactional @Transactional
@Override @Override
public R sendReceiveInfo(ReceiveInfoDTO receiveInfoDTO) throws JsonProcessingException, NoSuchAlgorithmException { public R sendReceiveInfo(ReceiveInfoDTO receiveInfoDTO) throws JsonProcessingException, NoSuchAlgorithmException {
log.info("###########sendReceiveInfo: 处理签收图片数据开始"); log.info("###########sendReceiveInfo: 处理签收图片数据开始");
logger.info("#############sendReceiveInfo:tag{}",1); logger.info("#############sendReceiveInfo:tag{}", 1);
Integer newDistributionContactId = receiveInfoDTO.getNewDistributionContactId(); Integer newDistributionContactId = receiveInfoDTO.getNewDistributionContactId();
List<ReceiveBodyDTO> receiveBodyList = receiveInfoDTO.getReceiveBodyList(); List<ReceiveBodyDTO> receiveBodyList = receiveInfoDTO.getReceiveBodyList();
List<ReceivePhotoDTO> receivePhotoList = receiveInfoDTO.getReceivePhotoList(); List<ReceivePhotoDTO> receivePhotoList = receiveInfoDTO.getReceivePhotoList();
logger.info("#############sendReceiveInfo:tag{}",2); logger.info("#############sendReceiveInfo:tag{}", 2);
//查询签收人 //查询签收人
NewDistributionContactEntity newDistributionContactEntity = newDistributionContactClient.fingByNewDistributionContactId(newDistributionContactId); NewDistributionContactEntity newDistributionContactEntity = newDistributionContactClient.fingByNewDistributionContactId(newDistributionContactId);
logger.info("#############sendReceiveInfo:tag{}",3); logger.info("#############sendReceiveInfo:tag{}", 3);
String receiver = null; String receiver = null;
if (!Objects.isNull(newDistributionContactEntity)){ if (!Objects.isNull(newDistributionContactEntity)) {
receiver = newDistributionContactEntity.getContact(); receiver = newDistributionContactEntity.getContact();
} }
@ -446,36 +442,36 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService {
//循环处理签收信息 //循环处理签收信息
List<MtReceiveContentDTO> mtReceiveContentDTOList = new ArrayList<>(); List<MtReceiveContentDTO> mtReceiveContentDTOList = new ArrayList<>();
logger.info("#############sendReceiveInfo:tag{}",4); logger.info("#############sendReceiveInfo:tag{}", 4);
for(ReceiveBodyDTO receiveBodyDTO:receiveBodyList){ for (ReceiveBodyDTO receiveBodyDTO : receiveBodyList) {
String unitNo = receiveBodyDTO.getUnitNo();//包条码 String unitNo = receiveBodyDTO.getUnitNo();//包条码
//通过订单编号查询总单信息 //通过订单编号查询总单信息
QueryWrapper<MtPackageInfo> packageInfoQueryWrapper = new QueryWrapper<>(); QueryWrapper<MtPackageInfo> packageInfoQueryWrapper = new QueryWrapper<>();
packageInfoQueryWrapper.eq("package_code",unitNo); packageInfoQueryWrapper.eq("package_code", unitNo);
MtPackageInfo one = mtPackageInfoService.getOne(packageInfoQueryWrapper); MtPackageInfo one = mtPackageInfoService.getOne(packageInfoQueryWrapper);
logger.info("#############sendReceiveInfo:tag{}",5); logger.info("#############sendReceiveInfo:tag{}", 5);
if(Objects.isNull(one)){ if (Objects.isNull(one)) {
logger.info("#############sendReceiveInfo: 当前包条码未找到对应数据unitNo={}",unitNo); logger.info("#############sendReceiveInfo: 当前包条码未找到对应数据unitNo={}", unitNo);
continue; continue;
} }
Long orderId = one.getOrderId(); Long orderId = one.getOrderId();
MtFactoryOrder mtFactoryOrder = mtFactoryOrderService.getById(orderId); MtFactoryOrder mtFactoryOrder = mtFactoryOrderService.getById(orderId);
logger.info("#############sendReceiveInfo:tag{}",6); logger.info("#############sendReceiveInfo:tag{}", 6);
if(Objects.isNull(mtFactoryOrder)){ if (Objects.isNull(mtFactoryOrder)) {
logger.info("#############sendReceiveInfo: 未找到对应订单orderId={}",orderId); logger.info("#############sendReceiveInfo: 未找到对应订单orderId={}", orderId);
continue; continue;
} }
Long mainId = mtFactoryOrder.getMainId(); Long mainId = mtFactoryOrder.getMainId();
logger.info("#############sendReceiveInfo:tag{}",7); logger.info("#############sendReceiveInfo:tag{}", 7);
MtFactoryOrderMain mtFactoryOrderMain = mtFactoryOrderMainService.getById(mainId); MtFactoryOrderMain mtFactoryOrderMain = mtFactoryOrderMainService.getById(mainId);
logger.info("#############sendReceiveInfo:tag{}",8); logger.info("#############sendReceiveInfo:tag{}", 8);
if(Objects.isNull(mtFactoryOrderMain)){ if (Objects.isNull(mtFactoryOrderMain)) {
logger.info("#############sendReceiveInfo: 未找到对应订单mainId={}",mainId); logger.info("#############sendReceiveInfo: 未找到对应订单mainId={}", mainId);
continue; continue;
} }
@ -487,17 +483,17 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService {
mtReceiveContentDTO.setUnitNo(unitNo); mtReceiveContentDTO.setUnitNo(unitNo);
mtReceiveContentDTO.setOperateDate(receiveBodyDTO.getOperateDate()); mtReceiveContentDTO.setOperateDate(receiveBodyDTO.getOperateDate());
mtReceiveContentDTOList.add(mtReceiveContentDTO); mtReceiveContentDTOList.add(mtReceiveContentDTO);
logger.info("#############sendReceiveInfo:tag{}",9); logger.info("#############sendReceiveInfo:tag{}", 9);
} }
logger.info("#############sendReceiveInfo:tag{}",10); logger.info("#############sendReceiveInfo:tag{}", 10);
//签收信息数据存入头部数据 //签收信息数据存入头部数据
mtReceiveDTO.setReceiveContentList(mtReceiveContentDTOList); mtReceiveDTO.setReceiveContentList(mtReceiveContentDTOList);
//处理签收图片数据 //处理签收图片数据
List<MtReceiveImagesDTO> mtReceiveImagesDTOList = new ArrayList<>(); List<MtReceiveImagesDTO> mtReceiveImagesDTOList = new ArrayList<>();
for (ReceivePhotoDTO receivePhotoDTO:receivePhotoList){ for (ReceivePhotoDTO receivePhotoDTO : receivePhotoList) {
MtReceiveImagesDTO mtReceiveImagesDTO = new MtReceiveImagesDTO(); MtReceiveImagesDTO mtReceiveImagesDTO = new MtReceiveImagesDTO();
mtReceiveImagesDTO.setImage(receivePhotoDTO.getUrl()); mtReceiveImagesDTO.setImage(receivePhotoDTO.getUrl());
mtReceiveImagesDTOList.add(mtReceiveImagesDTO); mtReceiveImagesDTOList.add(mtReceiveImagesDTO);
@ -508,11 +504,10 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService {
ObjectMapper objectMapper = new ObjectMapper(); ObjectMapper objectMapper = new ObjectMapper();
String s = objectMapper.writeValueAsString(mtReceiveDTO); String s = objectMapper.writeValueAsString(mtReceiveDTO);
logger.info("#############sendReceiveInfo:tag{}",11); logger.info("#############sendReceiveInfo:tag{}", 11);
return sendMtFactoryData(mtFactoryProperties.getUrl() + "/ZXCFaHuoDan/QianShouDan", s, 5);
return sendMtFactoryData(mtFactoryProperties.getUrl()+"/ZXCFaHuoDan/QianShouDan",s,5);
} }
@ -520,7 +515,7 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService {
@Override @Override
public R sendUnloadCarNum(String unloadCarNum, String data) throws ParseException, JsonProcessingException, NoSuchAlgorithmException { public R sendUnloadCarNum(String unloadCarNum, String data) throws ParseException, JsonProcessingException, NoSuchAlgorithmException {
logger.info(">>>>>>sendUnloadCarNum tag ={}", 1);
MtUnLoadCarNumDTO unLoadCarNumDTO = new MtUnLoadCarNumDTO(); MtUnLoadCarNumDTO unLoadCarNumDTO = new MtUnLoadCarNumDTO();
unLoadCarNumDTO.setInvoiceOrderCode(unloadCarNum); unLoadCarNumDTO.setInvoiceOrderCode(unloadCarNum);
unLoadCarNumDTO.setInvoiceTime(data); unLoadCarNumDTO.setInvoiceTime(data);
@ -530,13 +525,20 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService {
//推送数据到梦天 //推送数据到梦天
//请求参数 //请求参数
return sendMtFactoryData(mtFactoryProperties.getUrl()+"/ZXCFaHuoDan/QueRenShouHuo",s,4); logger.info(">>>>>>sendUnloadCarNum tag ={}", 1);
R r =sendMtFactoryData(mtFactoryProperties.getUrl() + "/ZXCFaHuoDan/QueRenShouHuo", s, 4);
logger.info(">>>>>>sendUnloadCarNum r ={}", r);
logger.info(">>>>>>sendUnloadCarNum tag ={}", 2);
return r;
} }
/** /**
* 封装梦天数据对接接口 * 封装梦天数据对接接口
*
* @param url * @param url
* @param data * @param data
* @return * @return
@ -546,16 +548,16 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService {
//先获取token //先获取token
String token = getMtToken(); String token = getMtToken();
//处理逻辑 //处理逻辑
String result = HttpRequest.post(url) String result = HttpRequest.post(url)
.header("APPKEY",mtFactoryProperties.getAppkey()) .header("APPKEY", mtFactoryProperties.getAppkey())
.header("Authorization",token) .header("Authorization", token)
.header("USERID",mtFactoryProperties.getUserid()) .header("USERID", mtFactoryProperties.getUserid())
.header("USERPWD",MD5Utils.md5Hex(mtFactoryProperties.getUserpwd().getBytes(StandardCharsets.UTF_8))) .header("USERPWD", MD5Utils.md5Hex(mtFactoryProperties.getUserpwd().getBytes(StandardCharsets.UTF_8)))
.header("Content-Type","application/json") .header("Content-Type", "application/json")
.body(data).timeout(5 * 1000) .body(data).timeout(5 * 1000)
.execute().body(); .execute().body();
logger.info("##############sendMtFactoryData: {}",result); logger.info("##############sendMtFactoryData: {}", result);
// 保存数据到数据库 // 保存数据到数据库
MtOrderLogEntity mtOrderLogEntity = new MtOrderLogEntity(); MtOrderLogEntity mtOrderLogEntity = new MtOrderLogEntity();
mtOrderLogEntity.setReqArgs(data); mtOrderLogEntity.setReqArgs(data);
@ -566,17 +568,17 @@ public class MtFactoryDataServiceImpl implements IMtFactoryDataService {
//把结果字符串转为json对象 //把结果字符串转为json对象
JSONObject jsonObject = JSONObject.parseObject(result); JSONObject jsonObject = JSONObject.parseObject(result);
if(!Objects.isNull(jsonObject)){ if (!Objects.isNull(jsonObject)) {
Integer code = jsonObject.getInteger("Result"); Integer code = jsonObject.getInteger("Result");
String message = jsonObject.getString("Message"); String message = jsonObject.getString("Message");
if(code.equals(0)){ if (code.equals(0)) {
logger.info("##########sendMtFactoryData: 物流状态传递成功"); logger.info("##########sendMtFactoryData: 物流状态传递成功");
return Resp.success("物流状态传递成功"); return Resp.success("物流状态传递成功");
}else{ } else {
return Resp.fail(405,message); return Resp.fail(405, message);
} }
}else{ } else {
return Resp.fail(405,"返回格式有误:"+result); return Resp.fail(405, "返回格式有误:" + result);
} }

1
blade-service/logpm-factory/src/main/java/com/logpm/factory/pan/service/impl/PanFactoryDataServiceImpl.java

@ -435,6 +435,7 @@ public class PanFactoryDataServiceImpl implements IPanFactoryDataService {
//查询包件信息数据 //查询包件信息数据
DistributionParcelListEntityVO vo = advanceDetailClient.getByUnitNo(unitNo); DistributionParcelListEntityVO vo = advanceDetailClient.getByUnitNo(unitNo);
DistributionParcelListEntity entity = new DistributionParcelListEntity(); DistributionParcelListEntity entity = new DistributionParcelListEntity();
BeanUtil.copyProperties(vo,entity); BeanUtil.copyProperties(vo,entity);
entity.setConditions(1); entity.setConditions(1);
entity.setWarehouse(distributionStockArticleEntity.getWarehouse()); entity.setWarehouse(distributionStockArticleEntity.getWarehouse());

15
blade-service/logpm-factory/src/main/java/com/logpm/factory/receiver/UnloadCarComHandler.java

@ -121,35 +121,26 @@ public class UnloadCarComHandler {
if (isPush) { if (isPush) {
log.info("##################{} 梦天确认签收数据推送1", isPush);
try { try {
R r = mtFactoryDataService.sendUnloadCarNum(carNum, unloadCarDTO.getCompleteDate()); R r = mtFactoryDataService.sendUnloadCarNum(carNum, unloadCarDTO.getCompleteDate());
log.info("##################{} 梦天确认签收数据推送1", carNum);
if (r.getCode() == ResultCode.SUCCESS.getCode()) { if (r.getCode() == ResultCode.SUCCESS.getCode()) {
log.info("##################{} 梦天确认签收数据推送2", carNum);
MtPushData mtPushData = new MtPushData(); MtPushData mtPushData = new MtPushData();
mtPushData.setPushTime(new Date()); mtPushData.setPushTime(new Date());
mtPushData.setPushStatus(1);// 推送状态 mtPushData.setPushStatus(1);// 推送状态
mtPushData.setRefCode(carNum); mtPushData.setRefCode(carNum);
mtPushData.setRefType(1);// 订单主表 mtPushData.setRefType(1);// 订单主表
// todo 这里需要查询主推送单的 ID
List<MtFactoryOrderMain> mtFactoryOrderMainList = mtFactoryOrderMainService.findMtFactoryOrderMainByInvoiceOrderCode(carNum); List<MtFactoryOrderMain> mtFactoryOrderMainList = mtFactoryOrderMainService.findMtFactoryOrderMainByInvoiceOrderCode(carNum);
if(mtFactoryOrderMainList.size()>0){ if(mtFactoryOrderMainList.size()>0){
mtFactoryOrderMainList.get(0); mtFactoryOrderMainList.get(0);
mtPushData.setRefId(mtFactoryOrderMainList.get(0).getId()); mtPushData.setRefId(mtFactoryOrderMainList.get(0).getId());
} }
// 插入推送数据 // 插入推送数据
mtPushDataService.save(mtPushData); mtPushDataService.save(mtPushData);
} }
} catch (Exception e) {
} catch (ParseException e) {
e.printStackTrace();
} catch (JsonProcessingException e) {
e.printStackTrace();
} catch (NoSuchAlgorithmException e) {
e.printStackTrace(); e.printStackTrace();
} }

Loading…
Cancel
Save