Browse Source

FG料号以shoporder中“已下达+样品工单+匹配工单号”的partno为准,不存在时统一落"*"

master
han\hanst 11 hours ago
parent
commit
1deb51bd20
  1. 8
      src/main/java/com/xujie/sys/modules/erf/mapper/ErfExpIssueMapper.java
  2. 26
      src/main/java/com/xujie/sys/modules/erf/service/impl/ErfExpIssueServiceImpl.java
  3. 11
      src/main/resources/mapper/erf/ErfExpIssueMapper.xml

8
src/main/java/com/xujie/sys/modules/erf/mapper/ErfExpIssueMapper.java

@ -31,4 +31,12 @@ public interface ErfExpIssueMapper {
*/ */
List<ErfExpIssueMaterialData> getIssueMaterialByRawMaterialIds(@Param("rawMaterialIdList") List<Integer> rawMaterialIdList); List<ErfExpIssueMaterialData> getIssueMaterialByRawMaterialIds(@Param("rawMaterialIdList") List<Integer> rawMaterialIdList);
/**
* 根据工单号查询shoporder中的成品料号仅已下达且样品工单
*/
String getShopOrderPartNo(@Param("site") String site,
@Param("orderNo") String orderNo,
@Param("status") String status,
@Param("orderType") String orderType);
} }

26
src/main/java/com/xujie/sys/modules/erf/service/impl/ErfExpIssueServiceImpl.java

@ -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;
} }

11
src/main/resources/mapper/erf/ErfExpIssueMapper.xml

@ -162,4 +162,15 @@
</foreach> </foreach>
</select> </select>
<!-- 根据SOOrderNo回查shoporder成品料号,仅取已下达+样品工单 -->
<select id="getShopOrderPartNo" resultType="string">
SELECT TOP 1
ISNULL(s.partno, '')
FROM shoporder s
WHERE s.site = #{site}
AND s.status = #{status}
AND ISNULL(s.ordertype, '') = #{orderType}
AND s.orderno = #{orderNo}
</select>
</mapper> </mapper>
Loading…
Cancel
Save