|
|
@ -52,6 +52,9 @@ public class ErfExpIssueServiceImpl implements ErfExpIssueService { |
|
|
private static final String ERF_COMPONENT_PREFIX = "ERF-RM-"; |
|
|
private static final String ERF_COMPONENT_PREFIX = "ERF-RM-"; |
|
|
private static final String ERF_NOTIFY_ORDER_TYPE = "样品工单"; |
|
|
private static final String ERF_NOTIFY_ORDER_TYPE = "样品工单"; |
|
|
private static final String ERF_NOTIFY_DEFAULT_REMARK = "样品工单"; |
|
|
private static final String ERF_NOTIFY_DEFAULT_REMARK = "样品工单"; |
|
|
|
|
|
private static final String ERF_SO_ORDER_NO_SUFFIX = "#1"; |
|
|
|
|
|
private static final String SHOP_ORDER_RELEASED_STATUS = "下达"; |
|
|
|
|
|
private static final String DEFAULT_FG_PART_NO = "*"; |
|
|
|
|
|
|
|
|
@Autowired |
|
|
@Autowired |
|
|
private ErfExpIssueMapper erfExpIssueMapper; |
|
|
private ErfExpIssueMapper erfExpIssueMapper; |
|
|
@ -279,11 +282,14 @@ public class ErfExpIssueServiceImpl implements ErfExpIssueService { |
|
|
orderData.setOutWorkOrderFlag("N"); |
|
|
orderData.setOutWorkOrderFlag("N"); |
|
|
|
|
|
|
|
|
// ERF来源数据映射到SOIssueNotify结构 |
|
|
// ERF来源数据映射到SOIssueNotify结构 |
|
|
orderData.setSeqNo(StringUtils.hasText(materialItem.getApplyNo()) ? materialItem.getApplyNo().trim() : ""); |
|
|
|
|
|
orderData.setsOOrderNo(StringUtils.hasText(materialItem.getApplyNo()) ? materialItem.getApplyNo().trim() : ""); |
|
|
|
|
|
|
|
|
String applyNo = StringUtils.hasText(materialItem.getApplyNo()) ? materialItem.getApplyNo().trim() : ""; |
|
|
|
|
|
orderData.setSeqNo(applyNo); |
|
|
|
|
|
// SOIssueNotifyOrderList约定SOOrderNo需追加后缀,用于区分同源工单序号 |
|
|
|
|
|
String soOrderNo = StringUtils.hasText(applyNo) ? applyNo + ERF_SO_ORDER_NO_SUFFIX : ""; |
|
|
|
|
|
orderData.setsOOrderNo(soOrderNo); |
|
|
orderData.setOpsItemNo(0D); |
|
|
orderData.setOpsItemNo(0D); |
|
|
orderData.setOpsDesc(StringUtils.hasText(materialItem.getProcessStep()) ? materialItem.getProcessStep().trim() : ""); |
|
|
orderData.setOpsDesc(StringUtils.hasText(materialItem.getProcessStep()) ? materialItem.getProcessStep().trim() : ""); |
|
|
orderData.setfGPartNo(resolveFgPartNo(materialItem)); |
|
|
|
|
|
|
|
|
orderData.setfGPartNo(resolveFgPartNo(site, soOrderNo)); |
|
|
orderData.setNeedDate(resolveNeedDate(materialItem)); |
|
|
orderData.setNeedDate(resolveNeedDate(materialItem)); |
|
|
return orderData; |
|
|
return orderData; |
|
|
} |
|
|
} |
|
|
@ -322,14 +328,16 @@ public class ErfExpIssueServiceImpl implements ErfExpIssueService { |
|
|
return ERF_COMPONENT_PREFIX + (item != null ? item.getRawMaterialId() : ""); |
|
|
return ERF_COMPONENT_PREFIX + (item != null ? item.getRawMaterialId() : ""); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
private String resolveFgPartNo(ErfExpIssueMaterialData materialItem) { |
|
|
|
|
|
if (materialItem != null && StringUtils.hasText(materialItem.getPartNo())) { |
|
|
|
|
|
return materialItem.getPartNo().trim(); |
|
|
|
|
|
|
|
|
private String resolveFgPartNo(String site, String soOrderNo) { |
|
|
|
|
|
if (!StringUtils.hasText(site) || !StringUtils.hasText(soOrderNo)) { |
|
|
|
|
|
return DEFAULT_FG_PART_NO; |
|
|
} |
|
|
} |
|
|
if (materialItem != null && StringUtils.hasText(materialItem.getApplyNo())) { |
|
|
|
|
|
return materialItem.getApplyNo().trim(); |
|
|
|
|
|
|
|
|
// 业务要求:FG料号以shoporder中“已下达+样品工单+匹配工单号”的partno为准,不存在时统一落"*" |
|
|
|
|
|
String shopOrderPartNo = erfExpIssueMapper.getShopOrderPartNo(site, soOrderNo, SHOP_ORDER_RELEASED_STATUS, ERF_NOTIFY_ORDER_TYPE); |
|
|
|
|
|
if (shopOrderPartNo != null) { |
|
|
|
|
|
return shopOrderPartNo.trim(); |
|
|
} |
|
|
} |
|
|
return ""; |
|
|
|
|
|
|
|
|
return DEFAULT_FG_PART_NO; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|