diff --git a/src/main/java/com/gaotao/modules/inspection/service/IfsInspectionHistoryService.java b/src/main/java/com/gaotao/modules/inspection/service/IfsInspectionHistoryService.java index 562c37e..408db48 100644 --- a/src/main/java/com/gaotao/modules/inspection/service/IfsInspectionHistoryService.java +++ b/src/main/java/com/gaotao/modules/inspection/service/IfsInspectionHistoryService.java @@ -8,26 +8,19 @@ import java.util.List; * IFS检验历史服务接口 */ public interface IfsInspectionHistoryService { - + /** * 获取IFS检验历史数据 * @return IFS检验历史数据列表 */ - List getIfsInspectionHistory(); - - /** - * 根据参数获取IFS检验历史数据 - * @param ifsTransactionID 事务ID - * @return IFS检验历史数据列表 - */ - List getIfsInspectionHistory(String ifsTransactionID); - + List getIfsInspectionHistory(String site); + /** * 处理IFS检验历史数据,更新采购接收单明细 * @param historyList IFS检验历史数据列表 */ void processInspectionHistory(List historyList); - + /** * 执行IFS检验历史同步任务 */ diff --git a/src/main/java/com/gaotao/modules/inspection/service/impl/IfsInspectionHistoryServiceImpl.java b/src/main/java/com/gaotao/modules/inspection/service/impl/IfsInspectionHistoryServiceImpl.java index aa75d7a..1d64ac2 100644 --- a/src/main/java/com/gaotao/modules/inspection/service/impl/IfsInspectionHistoryServiceImpl.java +++ b/src/main/java/com/gaotao/modules/inspection/service/impl/IfsInspectionHistoryServiceImpl.java @@ -38,7 +38,7 @@ public class IfsInspectionHistoryServiceImpl implements IfsInspectionHistoryServ @Value("${custom.ifs-domainUserID}") private String domainUserID; - + @Value("${ldap-control.control-flag:false}") private Boolean ldapFlag; @@ -47,7 +47,7 @@ public class IfsInspectionHistoryServiceImpl implements IfsInspectionHistoryServ @Autowired private BaseMapper baseMapper; - + /** * 获取当前用户的域控账号,如果开启了域控账号则获取用户的域控账号,否则使用配置的默认值 */ @@ -66,9 +66,9 @@ public class IfsInspectionHistoryServiceImpl implements IfsInspectionHistoryServ } @Override - public List getIfsInspectionHistory() { + public List getIfsInspectionHistory(String site) { SysParam ifsSiteIdParam = new SysParam(); - ifsSiteIdParam.setSite("55"); + ifsSiteIdParam.setSite(site); ifsSiteIdParam.setGroupCode("IFS"); ifsSiteIdParam.setCode("ifsTransactionID"); String ifsTransId = baseMapper.getSysParamValue(ifsSiteIdParam); @@ -78,7 +78,7 @@ public class IfsInspectionHistoryServiceImpl implements IfsInspectionHistoryServ Map params = Map.of( "ifsDBName", ifsDBName, "domainUserID", getCurrentDomainUserID(), - "ifsSiteID", "55", + "ifsSiteID", site, "ifsTransactionID", ifsTransId ); @@ -103,41 +103,6 @@ public class IfsInspectionHistoryServiceImpl implements IfsInspectionHistoryServ throw new RuntimeException("获取IFS检验历史数据失败: " + e.getMessage(), e); } } - - @Override - public List getIfsInspectionHistory(String ifsTransactionID) { - try { - log.info("开始调用IFS检验历史接口,事务ID: {}", ifsTransactionID); - - // 构建请求参数 - Map params = Map.of( - "ifsDBName", ifsDBName, - "domainUserID", getCurrentDomainUserID(), - "ifsSiteID", "55", - "ifsTransactionID", ifsTransactionID != null ? ifsTransactionID : "100063053" - ); - - ObjectMapper objectMapper = new ObjectMapper(); - String jsonBody = objectMapper.writeValueAsString(params); - - // 调用IFS接口 - String ifsResponse = HttpUtils.doGetWithBody(ifsUrl + "POInspectionHistory", jsonBody, null); - - // 解析响应数据 - ObjectMapper mapper = new ObjectMapper(); - List historyList = mapper.readValue( - ifsResponse, - new TypeReference>() {} - ); - - log.info("成功获取IFS检验历史数据,共{}条记录", historyList != null ? historyList.size() : 0); - return historyList; - - } catch (Exception e) { - log.error("调用IFS检验历史接口失败: {}", e.getMessage(), e); - throw new RuntimeException("获取IFS检验历史数据失败: " + e.getMessage(), e); - } - } @Override public void processInspectionHistory(List historyList) { @@ -305,10 +270,10 @@ public class IfsInspectionHistoryServiceImpl implements IfsInspectionHistoryServ log.info("开始执行IFS检验历史同步任务"); // 获取IFS检验历史数据 - List historyList = getIfsInspectionHistory(); + /*List historyList = getIfsInspectionHistory(); // 处理数据并更新本地记录 - processInspectionHistory(historyList); + processInspectionHistory(historyList);*/ log.info("IFS检验历史同步任务执行完成"); } catch (Exception e) { diff --git a/src/main/java/com/gaotao/modules/inspection/service/impl/InspectionInboundServiceImpl.java b/src/main/java/com/gaotao/modules/inspection/service/impl/InspectionInboundServiceImpl.java index e34456b..2e777ed 100644 --- a/src/main/java/com/gaotao/modules/inspection/service/impl/InspectionInboundServiceImpl.java +++ b/src/main/java/com/gaotao/modules/inspection/service/impl/InspectionInboundServiceImpl.java @@ -75,13 +75,13 @@ public class InspectionInboundServiceImpl implements InspectionInboundService { private String ifsDBName; @Value("${custom.ifs-domainUserID}") private String domainUserID; - + @Value("${ldap-control.control-flag:false}") private Boolean ldapFlag; - + @Autowired private IfsInspectionHistoryService ifsInspectionHistoryService; - + /** * 获取当前用户的域控账号,如果开启了域控账号则获取用户的域控账号,否则使用配置的默认值 */ @@ -622,24 +622,29 @@ public class InspectionInboundServiceImpl implements InspectionInboundService { throw new RuntimeException("确认不合格处理失败: " + e.getMessage()); } } - + @Override public List getUnqualifiedInspectionListFromIfs(UnqualifiedInspectionDto unqualifiedInspectionDto) { try { log.info("开始从IFS获取检验不合格数据"); - + // 调用IFS服务获取检验历史数据 - List ifsHistoryList = ifsInspectionHistoryService.getIfsInspectionHistory(); - + List ifsHistoryList = ifsInspectionHistoryService.getIfsInspectionHistory(unqualifiedInspectionDto.getSite()); + List result = new ArrayList<>(); - + if (unqualifiedInspectionDto.getTransNo() != null) { + ifsHistoryList = ifsHistoryList.stream() + .filter(h -> unqualifiedInspectionDto.getTransNo().equals(h.getOrderNo())) + .toList(); + + } for (IfsInspectionHistoryDto ifsHistory : ifsHistoryList) { // 根据transactionCode判断处理类型 String processType = mapTransactionCodeToProcessType(ifsHistory.getTransactionCode()); - + // 只处理不合格的记录(有退货、报废或换货数量的) BigDecimal unqualifiedQty = getUnqualifiedQtyFromIfs(ifsHistory); - + if (unqualifiedQty != null && unqualifiedQty.compareTo(BigDecimal.ZERO) > 0) { UnqualifiedInspectionDto dto = new UnqualifiedInspectionDto(); dto.setSite(ifsHistory.getContract()); // 使用contract作为site @@ -661,20 +666,20 @@ public class InspectionInboundServiceImpl implements InspectionInboundService { dto.setUserName(""); // IFS数据中没有用户名 dto.setRemark(getRemarkFromIfs(ifsHistory)); // 组合备注信息 dto.setProcessType(processType); // 处理类型 - + result.add(dto); } } - + log.info("从IFS获取到{}条不合格检验记录", result.size()); return result; - + } catch (Exception e) { log.error("从IFS获取检验不合格数据失败: {}", e.getMessage(), e); throw new RuntimeException("获取IFS检验不合格数据失败: " + e.getMessage()); } } - + /** * 根据transactionCode映射处理类型 */ @@ -682,7 +687,7 @@ public class InspectionInboundServiceImpl implements InspectionInboundService { if (transactionCode == null) { return "UNKNOWN"; } - + switch (transactionCode.toUpperCase()) { case "RETWORK": case "RETURN": @@ -697,44 +702,44 @@ public class InspectionInboundServiceImpl implements InspectionInboundService { return "UNKNOWN"; } } - + /** * 从IFS历史数据中获取不合格数量 */ private BigDecimal getUnqualifiedQtyFromIfs(IfsInspectionHistoryDto ifsHistory) { BigDecimal qty = BigDecimal.ZERO; - + // 退货数量 if (ifsHistory.getSourceQtyReturn() != null && ifsHistory.getSourceQtyReturn() > 0) { qty = qty.add(BigDecimal.valueOf(ifsHistory.getSourceQtyReturn())); } - + // 报废数量 if (ifsHistory.getSourceQtyScrapped() != null && ifsHistory.getSourceQtyScrapped() > 0) { qty = qty.add(BigDecimal.valueOf(ifsHistory.getSourceQtyScrapped())); } - + return qty; } - + /** * 从IFS历史数据中组合备注信息 */ private String getRemarkFromIfs(IfsInspectionHistoryDto ifsHistory) { StringBuilder remark = new StringBuilder(); - + if (ifsHistory.getReturnCauseDesc() != null && !ifsHistory.getReturnCauseDesc().isEmpty()) { remark.append("退货原因: ").append(ifsHistory.getReturnCauseDesc()).append("; "); } - + if (ifsHistory.getScrapCauseDesc() != null && !ifsHistory.getScrapCauseDesc().isEmpty()) { remark.append("报废原因: ").append(ifsHistory.getScrapCauseDesc()).append("; "); } - + if (ifsHistory.getRejectCode() != null && !ifsHistory.getRejectCode().isEmpty()) { remark.append("拒收代码: ").append(ifsHistory.getRejectCode()).append("; "); } - + return remark.toString(); } } diff --git a/src/main/java/com/gaotao/modules/inspection/service/impl/QualifiedStorageServiceImpl.java b/src/main/java/com/gaotao/modules/inspection/service/impl/QualifiedStorageServiceImpl.java index 0577789..a1ad8b6 100644 --- a/src/main/java/com/gaotao/modules/inspection/service/impl/QualifiedStorageServiceImpl.java +++ b/src/main/java/com/gaotao/modules/inspection/service/impl/QualifiedStorageServiceImpl.java @@ -106,9 +106,9 @@ public class QualifiedStorageServiceImpl implements QualifiedStorageService { // 调用IFS接口获取采购订单接收记录 List allReceipts = ifsApiIssueAndReturnService.getPurchaseOrderReceipt(purchaseOrderNo, site); - // 只保留状态为ARRIVED的记录 + // 只保留状态为To be Received的记录 List arrivedReceipts = allReceipts.stream() - .filter(receipt -> "ARRIVED".equals(receipt.getState()) && receipt.getQtyToInspect() == 0) + .filter(receipt -> "To be Received".equals(receipt.getState()) && receipt.getQtyToInspect() == 0) .collect(Collectors.toList()); return R.ok().put("rows", arrivedReceipts); diff --git a/src/main/java/com/gaotao/modules/sys/service/impl/SysUserTokenServiceImpl.java b/src/main/java/com/gaotao/modules/sys/service/impl/SysUserTokenServiceImpl.java index c9165c1..db8c5fb 100644 --- a/src/main/java/com/gaotao/modules/sys/service/impl/SysUserTokenServiceImpl.java +++ b/src/main/java/com/gaotao/modules/sys/service/impl/SysUserTokenServiceImpl.java @@ -1,4 +1,4 @@ - + package com.gaotao.modules.sys.service.impl; @@ -57,8 +57,14 @@ public class SysUserTokenServiceImpl extends ServiceImpl