|
|
|
@ -461,7 +461,10 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService {
|
|
|
|
|
queryWrapper.eq(FactoryPackageEntity::getCosourcingCode, unitNo); |
|
|
|
|
List<FactoryPackageEntity> list = factoryPackageService.list(queryWrapper); |
|
|
|
|
if (list.isEmpty()) { |
|
|
|
|
return doPackageInfo(orderStatusDTO, isRetry, unitNo, status); |
|
|
|
|
// 查询不到和包码 直接进行异常记录
|
|
|
|
|
//return doPackageInfo(orderStatusDTO, isRetry, unitNo, status);
|
|
|
|
|
opPushFailedPackageRecordService.record(unitNo, orderStatusDTO); |
|
|
|
|
return Resp.fail(400, "未查询到该单据推送订单信息"); |
|
|
|
|
} else { |
|
|
|
|
try { |
|
|
|
|
for (FactoryPackageEntity factoryPackageEntity : list) { |
|
|
|
@ -667,92 +670,122 @@ public class OuPaiFactoryServiceImpl implements IOuPaiFactoryService {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 查询这个包件对应到新系统的订单
|
|
|
|
|
FactoryOrderEntity factoryOrder = factoryOrderService.selectEntityByOrderPackageCode(unitNo); |
|
|
|
|
|
|
|
|
|
if (Objects.isNull(factoryOrder)) { |
|
|
|
|
|
|
|
|
|
// 不是重试的时候,记录对应数据
|
|
|
|
|
log.info(">>> new保存没有查询到欧派订单包件推送 的记录 {}", unitNo); |
|
|
|
|
if(unitNo.startsWith("HB")){ |
|
|
|
|
// 需要判断当前操作的码 是否是和包码
|
|
|
|
|
LambdaQueryWrapper<FactoryPackageEntity> queryWrapper = new LambdaQueryWrapper<>(); |
|
|
|
|
queryWrapper.eq(FactoryPackageEntity::getCosourcingCode, unitNo); |
|
|
|
|
List<FactoryPackageEntity> list = factoryPackageService.list(queryWrapper); |
|
|
|
|
if (list.isEmpty()) { |
|
|
|
|
// 查询不到和包码 直接进行异常记录
|
|
|
|
|
//return doPackageInfo(orderStatusDTO, isRetry, unitNo, status);
|
|
|
|
|
opPushFailedPackageRecordService.record(unitNo, orderStatusDTO); |
|
|
|
|
|
|
|
|
|
return Resp.fail(400, "未查询到该单据推送订单信息"); |
|
|
|
|
} |
|
|
|
|
// 如何判断这个包间是非干仓配的数据
|
|
|
|
|
} else { |
|
|
|
|
try { |
|
|
|
|
for (FactoryPackageEntity factoryPackageEntity : list) { |
|
|
|
|
|
|
|
|
|
if (!"经销商".equals(factoryOrder.getBusinessModel())) { |
|
|
|
|
log.info("oupai- 该包条为干仓配的数据类型 不进行推送 >>> unitNo={} businessModel:{}", unitNo, factoryOrder.getBusinessModel()); |
|
|
|
|
return Resp.fail(400, "包条为干仓配的数据类型"); |
|
|
|
|
} |
|
|
|
|
R r = doPackageInfo(orderStatusDTO, false, factoryPackageEntity.getCode(), status); |
|
|
|
|
|
|
|
|
|
boolean isPushHtNomal = checkOpfactoryOrderBusinessModel(factoryOrder); |
|
|
|
|
if (isPushHtNomal) { |
|
|
|
|
log.info("oupai- 该包条为汇通使用欧派系统进行作业类型型 不进行推送 >>> unitNo={} businessModel:{}", unitNo, factoryOrder.getBusinessModel()); |
|
|
|
|
return Resp.fail(400, "该包条为汇通使用欧派系统进行作业类型"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 通过仓库编码查询
|
|
|
|
|
ReceivingOrderEntity receivingOrderEntity = receivingOrderMapper.selectById(factoryOrder.getReceivingId()); |
|
|
|
|
|
|
|
|
|
if (Objects.isNull(receivingOrderEntity)) { |
|
|
|
|
log.info(" 该订单为没有收货单 不进行推送 >>> receivingId={} ", factoryOrder.getReceivingId()); |
|
|
|
|
return Resp.fail(400, "未查询到该单据推送收货单信息"); |
|
|
|
|
} catch (Exception e) { |
|
|
|
|
log.error("合包码推送出现异常", e); |
|
|
|
|
} |
|
|
|
|
return Resp.success("物流状态传递成功"); |
|
|
|
|
|
|
|
|
|
if (StringUtil.isBlank(receivingOrderEntity.getCurrentWarehouseOid())) { |
|
|
|
|
log.info(" 该订单为没有收货仓 不进行推送 >>> getCurrentWarehouseOid={} ", receivingOrderEntity.getCurrentWarehouseOid()); |
|
|
|
|
return Resp.fail(400, "收货仓信息不能为null"); |
|
|
|
|
} |
|
|
|
|
if (!receivingOrderEntity.getCurrentWarehouseName().contains("仓")) { |
|
|
|
|
log.info(" 该订单为没有收货仓信息不正确 getCurrentWarehouseName={} ", receivingOrderEntity.getCurrentWarehouseName()); |
|
|
|
|
return Resp.fail(400, "该订单为没有收货仓信息不正确"); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
JSONObject detailObject = new JSONObject(); |
|
|
|
|
detailObject.put("WarehouseOid", receivingOrderEntity.getCurrentWarehouseOid()); |
|
|
|
|
detailObject.put("WarehouseBelong", "oppein"); |
|
|
|
|
detailObject.put("Creator", orderStatusDTO.getUsername()); |
|
|
|
|
detailObject.put("PackageCode", unitNo); |
|
|
|
|
// 增加当仓直接入库的 就没有卸车收货的状态 直接 进行入库 入库就表示货物进入当前仓库
|
|
|
|
|
if ("4".equals(status) || "1".equals(status)) { |
|
|
|
|
detailObject.put("Operate", "收货"); |
|
|
|
|
} else if ("7".equals(status)) { |
|
|
|
|
detailObject.put("Operate", "发货"); |
|
|
|
|
} else { |
|
|
|
|
log.info(" 该包件的状态不正确 status={} ", status); |
|
|
|
|
return Resp.fail(400, "该包件的状态不正确"); |
|
|
|
|
}else{ |
|
|
|
|
return doPackageInfo(orderStatusDTO, false, unitNo, status); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 查询系统的包件对象
|
|
|
|
|
LambdaQueryWrapper<FactoryPackageEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>(); |
|
|
|
|
lambdaQueryWrapper.eq(FactoryPackageEntity::getCode, unitNo); |
|
|
|
|
FactoryPackageEntity factoryPackageEntity = factoryPackageService.getOne(lambdaQueryWrapper); |
|
|
|
|
if (ObjectUtils.isNotNull(factoryPackageEntity)) { |
|
|
|
|
// 推送数据
|
|
|
|
|
String url = ouPaiProperties.getUri() + "tims_odata_api/api/odata/PackageFeedbackRecord"; |
|
|
|
|
OpPackagePushLogEntity opPackagePushLogEntity = sendPushOuPaiData(factoryPackageEntity.getId(), url, 1, detailObject); |
|
|
|
|
|
|
|
|
|
if (opPackagePushLogEntity == null) { |
|
|
|
|
log.info(" >>>>>>>>>>>>>>>>>>>>>>> 包件 {} 已推送欧派 状态 {}", unitNo, detailObject.get("Operate")); |
|
|
|
|
} else { |
|
|
|
|
|
|
|
|
|
if (opPackagePushLogEntity.getId().equals(-1L)) { |
|
|
|
|
log.info(">>> new保存没有查询到欧派订单包件推送 的记录 {}", unitNo); |
|
|
|
|
opPushFailedPackageRecordService.record(unitNo, orderStatusDTO); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 需要盘点这个对象的
|
|
|
|
|
String resp = opPackagePushLogEntity.getResp(); |
|
|
|
|
|
|
|
|
|
log.info(" >>>>>>>>>>>>>>>>>>>>>>> 推送欧派返回数据 {}", resp); |
|
|
|
|
// TODO: 2023/10/25 不知道返回成功的状态是多少
|
|
|
|
|
// 需要修改包件对应的状态
|
|
|
|
|
checkOpFactoryPackagePushStatus(factoryPackageEntity); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
log.info(" >>>>>>>>>>>>>>>>>>>>>>> 物流状态传递成功"); |
|
|
|
|
return Resp.success("物流状态传递成功"); |
|
|
|
|
// 查询这个包件对应到新系统的订单
|
|
|
|
|
// FactoryOrderEntity factoryOrder = factoryOrderService.selectEntityByOrderPackageCode(unitNo);
|
|
|
|
|
//
|
|
|
|
|
// if (Objects.isNull(factoryOrder)) {
|
|
|
|
|
//
|
|
|
|
|
// // 不是重试的时候,记录对应数据
|
|
|
|
|
// log.info(">>> new保存没有查询到欧派订单包件推送 的记录 {}", unitNo);
|
|
|
|
|
// opPushFailedPackageRecordService.record(unitNo, orderStatusDTO);
|
|
|
|
|
//
|
|
|
|
|
// return Resp.fail(400, "未查询到该单据推送订单信息");
|
|
|
|
|
// }
|
|
|
|
|
// // 如何判断这个包间是非干仓配的数据
|
|
|
|
|
//
|
|
|
|
|
// if (!"经销商".equals(factoryOrder.getBusinessModel())) {
|
|
|
|
|
// log.info("oupai- 该包条为干仓配的数据类型 不进行推送 >>> unitNo={} businessModel:{}", unitNo, factoryOrder.getBusinessModel());
|
|
|
|
|
// return Resp.fail(400, "包条为干仓配的数据类型");
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// boolean isPushHtNomal = checkOpfactoryOrderBusinessModel(factoryOrder);
|
|
|
|
|
// if (isPushHtNomal) {
|
|
|
|
|
// log.info("oupai- 该包条为汇通使用欧派系统进行作业类型型 不进行推送 >>> unitNo={} businessModel:{}", unitNo, factoryOrder.getBusinessModel());
|
|
|
|
|
// return Resp.fail(400, "该包条为汇通使用欧派系统进行作业类型");
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// // 通过仓库编码查询
|
|
|
|
|
// ReceivingOrderEntity receivingOrderEntity = receivingOrderMapper.selectById(factoryOrder.getReceivingId());
|
|
|
|
|
//
|
|
|
|
|
// if (Objects.isNull(receivingOrderEntity)) {
|
|
|
|
|
// log.info(" 该订单为没有收货单 不进行推送 >>> receivingId={} ", factoryOrder.getReceivingId());
|
|
|
|
|
// return Resp.fail(400, "未查询到该单据推送收货单信息");
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// if (StringUtil.isBlank(receivingOrderEntity.getCurrentWarehouseOid())) {
|
|
|
|
|
// log.info(" 该订单为没有收货仓 不进行推送 >>> getCurrentWarehouseOid={} ", receivingOrderEntity.getCurrentWarehouseOid());
|
|
|
|
|
// return Resp.fail(400, "收货仓信息不能为null");
|
|
|
|
|
// }
|
|
|
|
|
// if (!receivingOrderEntity.getCurrentWarehouseName().contains("仓")) {
|
|
|
|
|
// log.info(" 该订单为没有收货仓信息不正确 getCurrentWarehouseName={} ", receivingOrderEntity.getCurrentWarehouseName());
|
|
|
|
|
// return Resp.fail(400, "该订单为没有收货仓信息不正确");
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
//
|
|
|
|
|
// JSONObject detailObject = new JSONObject();
|
|
|
|
|
// detailObject.put("WarehouseOid", receivingOrderEntity.getCurrentWarehouseOid());
|
|
|
|
|
// detailObject.put("WarehouseBelong", "oppein");
|
|
|
|
|
// detailObject.put("Creator", orderStatusDTO.getUsername());
|
|
|
|
|
// detailObject.put("PackageCode", unitNo);
|
|
|
|
|
// // 增加当仓直接入库的 就没有卸车收货的状态 直接 进行入库 入库就表示货物进入当前仓库
|
|
|
|
|
// if ("4".equals(status) || "1".equals(status)) {
|
|
|
|
|
// detailObject.put("Operate", "收货");
|
|
|
|
|
// } else if ("7".equals(status)) {
|
|
|
|
|
// detailObject.put("Operate", "发货");
|
|
|
|
|
// } else {
|
|
|
|
|
// log.info(" 该包件的状态不正确 status={} ", status);
|
|
|
|
|
// return Resp.fail(400, "该包件的状态不正确");
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// // 查询系统的包件对象
|
|
|
|
|
// LambdaQueryWrapper<FactoryPackageEntity> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
|
|
// lambdaQueryWrapper.eq(FactoryPackageEntity::getCode, unitNo);
|
|
|
|
|
// FactoryPackageEntity factoryPackageEntity = factoryPackageService.getOne(lambdaQueryWrapper);
|
|
|
|
|
// if (ObjectUtils.isNotNull(factoryPackageEntity)) {
|
|
|
|
|
// // 推送数据
|
|
|
|
|
// String url = ouPaiProperties.getUri() + "tims_odata_api/api/odata/PackageFeedbackRecord";
|
|
|
|
|
// OpPackagePushLogEntity opPackagePushLogEntity = sendPushOuPaiData(factoryPackageEntity.getId(), url, 1, detailObject);
|
|
|
|
|
//
|
|
|
|
|
// if (opPackagePushLogEntity == null) {
|
|
|
|
|
// log.info(" >>>>>>>>>>>>>>>>>>>>>>> 包件 {} 已推送欧派 状态 {}", unitNo, detailObject.get("Operate"));
|
|
|
|
|
// } else {
|
|
|
|
|
//
|
|
|
|
|
// if (opPackagePushLogEntity.getId().equals(-1L)) {
|
|
|
|
|
// log.info(">>> new保存没有查询到欧派订单包件推送 的记录 {}", unitNo);
|
|
|
|
|
// opPushFailedPackageRecordService.record(unitNo, orderStatusDTO);
|
|
|
|
|
// }
|
|
|
|
|
//
|
|
|
|
|
// // 需要盘点这个对象的
|
|
|
|
|
// String resp = opPackagePushLogEntity.getResp();
|
|
|
|
|
//
|
|
|
|
|
// log.info(" >>>>>>>>>>>>>>>>>>>>>>> 推送欧派返回数据 {}", resp);
|
|
|
|
|
// // TODO: 2023/10/25 不知道返回成功的状态是多少
|
|
|
|
|
// // 需要修改包件对应的状态
|
|
|
|
|
// checkOpFactoryPackagePushStatus(factoryPackageEntity);
|
|
|
|
|
// }
|
|
|
|
|
// }
|
|
|
|
|
// log.info(" >>>>>>>>>>>>>>>>>>>>>>> 物流状态传递成功");
|
|
|
|
|
// return Resp.success("物流状态传递成功");
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|