|
|
|
@ -724,7 +724,7 @@ public class IssureNotifyServiceImpl implements IssureNotifyService { |
|
|
|
parentList.add(parent); |
|
|
|
|
|
|
|
// 2.3 遍历分组内的 dto,按 lineItemNo 生成子对象(SOIssueNotifyOrderMaterialList) |
|
|
|
List<SOIssueNotifyOrderMaterialList> children = buildChildren(data.getNotifyNo(),data.getSite(),groupDtos, nextItem); |
|
|
|
List<SOIssueNotifyOrderMaterialList> children = buildChildren(data.getNotifyNo(),data.getSite(),groupDtos, nextItem,parent.getOrderType()); |
|
|
|
childList.addAll(children); |
|
|
|
|
|
|
|
num++; |
|
|
|
@ -779,14 +779,22 @@ public class IssureNotifyServiceImpl implements IssureNotifyService { |
|
|
|
parent.setFgPartNo(firstDto.getPartNo()); |
|
|
|
parent.setNeedDate(firstDto.getNeedDate()); |
|
|
|
parent.setTransportFlag("N"); |
|
|
|
parent.setOrderType("shoporder"); |
|
|
|
if(firstDto.getPartNo() != null){ |
|
|
|
if(firstDto.getPartNo().startsWith("3") || firstDto.getPartNo().startsWith("7")){ |
|
|
|
parent.setOrderType("slittingorder"); |
|
|
|
}else{ |
|
|
|
parent.setOrderType("shoporder"); |
|
|
|
} |
|
|
|
}else{ |
|
|
|
parent.setOrderType("shoporder"); |
|
|
|
} |
|
|
|
return parent; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 构建子对象列表(SOIssueNotifyOrderMaterialList),关联父对象的 itemNo |
|
|
|
*/ |
|
|
|
private static List<SOIssueNotifyOrderMaterialList> buildChildren(String notifyNo,String site,List<ShoporderAndMaterialDto> groupDtos, BigDecimal parentItemNo) { |
|
|
|
private static List<SOIssueNotifyOrderMaterialList> buildChildren(String notifyNo,String site,List<ShoporderAndMaterialDto> groupDtos, BigDecimal parentItemNo,String parentType) { |
|
|
|
return groupDtos.stream() |
|
|
|
.map(dto -> { |
|
|
|
SOIssueNotifyOrderMaterialList child = new SOIssueNotifyOrderMaterialList(); |
|
|
|
@ -802,11 +810,52 @@ public class IssureNotifyServiceImpl implements IssureNotifyService { |
|
|
|
child.setQtyToIssueOriginal(dto.getApplyQty()); |
|
|
|
} |
|
|
|
child.setIssueType("BOM物料"); |
|
|
|
child.setOrderType("shoporder"); |
|
|
|
if(StringUtils.isNotBlank(parentType)){ |
|
|
|
child.setOrderType(parentType); |
|
|
|
}else{ |
|
|
|
child.setOrderType("shoporder"); |
|
|
|
} |
|
|
|
return child; |
|
|
|
}) |
|
|
|
// 按 lineItemNo 排序(可选,确保子项顺序) |
|
|
|
.sorted(Comparator.comparing(SOIssueNotifyOrderMaterialList::getBOMItemNo)) |
|
|
|
.collect(Collectors.toList()); |
|
|
|
} |
|
|
|
|
|
|
|
/**---------------------------------------------无订单时的接口-------------------------------------------------*/ |
|
|
|
|
|
|
|
@Override |
|
|
|
public SOIssueNotifyHeaderData getUserNoOrderNotifyNo(SOIssueNotifyHeaderData data) { |
|
|
|
SOIssueNotifyHeaderData header = issureNotifyMapper.getUserNoOrderNotifyNo(data); |
|
|
|
return header; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional |
|
|
|
public void createNoOrderNotify(SOIssueNotifyHeaderData data) { |
|
|
|
SysUserEntity currentUser = (SysUserEntity) SecurityUtils.getSubject().getPrincipal(); |
|
|
|
String transType = "NOSI"; |
|
|
|
// 获取流水号,出错不回滚 |
|
|
|
TransNoControl transNo = transNoService.getTransNo(data.getSite(),transType,8); |
|
|
|
data.setNotifyNo(transNo.getNewTransNo()); |
|
|
|
data.setNotifyDate(new Date()); |
|
|
|
data.setUsername(currentUser.getUsername()); |
|
|
|
data.setEnteredDate(new Date()); |
|
|
|
data.setReceiver(""); |
|
|
|
data.setDepartmentId(""); |
|
|
|
data.setRemark(data.getRemark()); |
|
|
|
data.setCreditFlag("N"); |
|
|
|
data.setIssueFlag("N"); |
|
|
|
data.setIssueResult(""); |
|
|
|
data.setStatus("UNISSUE"); |
|
|
|
data.setHaveIssueRecordFlag("N"); |
|
|
|
data.setCalcFlag("N"); |
|
|
|
data.setNeedApproveFlag("N"); |
|
|
|
data.setApprovedFlag("N"); |
|
|
|
data.setOutWorkOrderFlag(data.getOutWorkOrderFlag()); |
|
|
|
data.setProjectId(""); |
|
|
|
data.setOrderType("otherOrder"); |
|
|
|
data.setPushWcsFlag("未推送"); |
|
|
|
issureNotifyMapper.insert(data); |
|
|
|
} |
|
|
|
} |