|
|
|
@ -60,6 +60,8 @@ public class HaiAnSOIssueNotifyOrderMaterialListAllocServiceImpl implements HaiA |
|
|
|
validateRequestKey(requestData); |
|
|
|
// 保存前先按site+notifyNo读主单状态;未下达(UNISSUE)禁止改指定,避免未正式下达就锁定标签/批次 - rqrq |
|
|
|
validateIssuedHeader(requestData); |
|
|
|
// 订单行已推送WCS后库存任务已下发,再改指定会和立库任务不一致,直接拒绝。- rqrq |
|
|
|
validateOrderNotPushed(requestData); |
|
|
|
// 校验材料行仍存在:入参site+notifyNo+itemNo+BOMItemNo;找不到则拒绝保存,避免写孤儿指定记录 - rqrq |
|
|
|
validateExistingMaterial(requestData); |
|
|
|
List<HaiAnSOIssueNotifyOrderMaterialListAllocData> incoming = requestData.getAllocList(); |
|
|
|
@ -290,6 +292,19 @@ public class HaiAnSOIssueNotifyOrderMaterialListAllocServiceImpl implements HaiA |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @author rqrq |
|
|
|
* @Description 已推送WCS的订单行不允许再保存指定物料。按site+申请单+订单序号读 push_wms_flag,Y 则中断,避免立库已接单后改分配。- rqrq |
|
|
|
*/ |
|
|
|
private void validateOrderNotPushed(HaiAnNoOrderMaterialAllocRequestData requestData) { |
|
|
|
// 读取订单行推送标记;查询失败中断保存,不能把未知状态当成未推送。- rqrq |
|
|
|
String pushWmsFlag = allocMapper.selectOrderPushWmsFlag( |
|
|
|
requestData.getSite(), requestData.getNotifyNo(), requestData.getItemNo()); |
|
|
|
if ("Y".equalsIgnoreCase(StringUtils.defaultString(pushWmsFlag).trim())) { |
|
|
|
throw new RuntimeException("该订单行已推送WCS,不允许指定物料"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void validateExistingMaterial(HaiAnNoOrderMaterialAllocRequestData requestData) { |
|
|
|
HaiAnSOIssueNotifyOrderMaterialListData query = new HaiAnSOIssueNotifyOrderMaterialListData(); |
|
|
|
query.setSite(requestData.getSite()); |
|
|
|
|