|
|
|
@ -37,64 +37,13 @@ public class PurchaseArrivalServiceImpl implements PurchaseArrivalService { |
|
|
|
@Transactional |
|
|
|
public OaResponseDto processPurchaseArrival(PurchaseArrivalRequestDto request) { |
|
|
|
try { |
|
|
|
log.info("开始处理采购到货单推送请求,订单号: {}, 站点: {}, 事业部: {}", |
|
|
|
request.getOrderNo(), request.getSite(), request.getBuNo()); |
|
|
|
log.info("开始处理采购到货单推送请求,订单号: {}, 站点: {}, 事业部: {}", request.getOrderNo(), request.getSite(), request.getBuNo()); |
|
|
|
|
|
|
|
// 1. 参数验证 |
|
|
|
if (!isValidRequest(request)) { |
|
|
|
return OaResponseDto.failure("请求参数验证失败"); |
|
|
|
} |
|
|
|
|
|
|
|
// // 2. 构建入库通知单头部数据 |
|
|
|
// InboundNotificationHeadVo headVo = new InboundNotificationHeadVo(); |
|
|
|
// headVo.setSite(request.getSite()); |
|
|
|
// headVo.setBuNo(request.getBuNo()); |
|
|
|
// headVo.setOrderNo(request.getOrderNo()); |
|
|
|
// headVo.setOrderType(request.getOrderType()); |
|
|
|
// headVo.setOrderStatus(request.getOrderStatus()); |
|
|
|
// headVo.setSupplierId(request.getSupplierId()); |
|
|
|
// headVo.setRelatedOrderNo(request.getRelatedOrderNo()); |
|
|
|
// headVo.setRelatedOrderLineNo(request.getRelatedOrderLineNo()); |
|
|
|
// headVo.setRequiredInboundDate(request.getRequiredInboundDate()); |
|
|
|
// headVo.setRemarks(request.getOrderref1()); // 使用第一个备注字段作为主备注 |
|
|
|
// headVo.setInWarehouse(request.getInWarehouse()); |
|
|
|
// headVo.setRequiredQtyCount(request.getRequiredQtyCount()); |
|
|
|
// headVo.setOrderQty(request.getOrderQty()); |
|
|
|
// headVo.setOrderref1(request.getOrderref1()); |
|
|
|
// headVo.setOrderref2(request.getOrderref2()); |
|
|
|
// headVo.setOrderref3(request.getOrderref3()); |
|
|
|
// headVo.setOrderref4(request.getOrderref4()); |
|
|
|
// headVo.setOrderref5(request.getOrderref5()); |
|
|
|
// headVo.setCreatedBy("OA_SYSTEM"); |
|
|
|
// headVo.setCreatedDate(new Date()); |
|
|
|
// headVo.setOrderDate(request.getOrderDate() != null ? request.getOrderDate() : new Date()); |
|
|
|
// |
|
|
|
// // 3. 构建入库通知单明细数据 |
|
|
|
// InboundNotificationDetailVo detailVo = new InboundNotificationDetailVo(); |
|
|
|
// detailVo.setSite(request.getSite()); |
|
|
|
// detailVo.setBuNo(request.getBuNo()); |
|
|
|
// detailVo.setOrderNo(request.getOrderNo()); |
|
|
|
// detailVo.setPartNo(request.getPartNo()); |
|
|
|
// detailVo.setUnit(request.getUnit()); |
|
|
|
// detailVo.setRequiredQty(request.getRequiredQty()); |
|
|
|
// detailVo.setOrderQty(request.getOrderQty()); |
|
|
|
// detailVo.setInWarehouse(request.getInWarehouse()); |
|
|
|
// detailVo.setRelatedOrderNo(request.getRelatedOrderNo()); |
|
|
|
// detailVo.setRelatedOrderLineNo(request.getRelatedOrderLineNo()); |
|
|
|
// detailVo.setCreatedBy("OA_SYSTEM"); |
|
|
|
// detailVo.setCreatedDate(new Date()); |
|
|
|
// |
|
|
|
// // 4. 保存数据 |
|
|
|
// // 先保存头部信息 |
|
|
|
// inboundNotificationHeadMapper.saveInboundNotification(headVo); |
|
|
|
// |
|
|
|
// // 再保存明细信息 |
|
|
|
// inboundNotificationDetailMapper.saveInboundDetails(Arrays.asList(detailVo)); |
|
|
|
// |
|
|
|
// log.info("采购到货单处理完成,订单号: {}", request.getOrderNo()); |
|
|
|
// return OaResponseDto.success("采购到货单推送成功"); |
|
|
|
|
|
|
|
|
|
|
|
// 调用存储过程 执行 |
|
|
|
String site = request.getSite(); |
|
|
|
String buNo = request.getBuNo(); |
|
|
|
@ -151,31 +100,8 @@ public class PurchaseArrivalServiceImpl implements PurchaseArrivalService { |
|
|
|
String msg = String.valueOf(resultList.get(0).get("resultMsg")); |
|
|
|
throw new RuntimeException(msg); |
|
|
|
} else { |
|
|
|
// 通过后调用第二个存储过程 |
|
|
|
List<Object> params2 = new ArrayList<>(); |
|
|
|
params2.add(site); |
|
|
|
params2.add(buNo); |
|
|
|
params2.add(relatedOrderNo); |
|
|
|
params2.add(relatedOrderLineNo); |
|
|
|
params2.add(""); |
|
|
|
params2.add(requiredQtyCount); |
|
|
|
params2.add(requiredQty); |
|
|
|
params2.add("SYSTEM"); |
|
|
|
params2.add(supplierId); |
|
|
|
params2.add("IQC"); |
|
|
|
params2.add("采购入库"); |
|
|
|
params2.add(orderNo); |
|
|
|
//执行方法 |
|
|
|
List<Map<String, Object>> resultList2 = procedureDao.getProcedureData("getInspectionTaskAutomatically", params2); |
|
|
|
//判断是否检验成功 |
|
|
|
String code2 = String.valueOf(resultList2.get(0).get("resultCode")); |
|
|
|
if ("400".equalsIgnoreCase(code2)) { |
|
|
|
String msg = String.valueOf(resultList2.get(0).get("resultMsg")); |
|
|
|
throw new RuntimeException(msg); |
|
|
|
} else { |
|
|
|
log.info("采购到货单处理完成,订单号: {}", request.getOrderNo()); |
|
|
|
return OaResponseDto.success("采购到货单推送成功"); |
|
|
|
} |
|
|
|
log.info("采购到货单处理完成,订单号: {}", request.getOrderNo()); |
|
|
|
return OaResponseDto.success("采购到货单推送成功"); |
|
|
|
} |
|
|
|
} catch (Exception e) { |
|
|
|
log.error("处理采购到货单推送请求时发生异常", e); |
|
|
|
|