diff --git a/src/main/java/com/gaotao/modules/outsourcing/entity/dto/OutsourcingReturnDto.java b/src/main/java/com/gaotao/modules/outsourcing/entity/dto/OutsourcingReturnDto.java index 67a6f57f..4686ee17 100644 --- a/src/main/java/com/gaotao/modules/outsourcing/entity/dto/OutsourcingReturnDto.java +++ b/src/main/java/com/gaotao/modules/outsourcing/entity/dto/OutsourcingReturnDto.java @@ -9,6 +9,7 @@ import java.util.List; @Data public class OutsourcingReturnDto { private String site; + private String loginSite; // PDA 登录工厂,用于退料库位校验 private String searchValue; // 搜索值(委外订单号或物料编码) private String outsourcingOrderNo; // 委外订单号 private String partNo; // 物料编码 diff --git a/src/main/java/com/gaotao/modules/outsourcing/service/impl/OutsourcingReturnServiceImpl.java b/src/main/java/com/gaotao/modules/outsourcing/service/impl/OutsourcingReturnServiceImpl.java index 3662107f..7967c648 100644 --- a/src/main/java/com/gaotao/modules/outsourcing/service/impl/OutsourcingReturnServiceImpl.java +++ b/src/main/java/com/gaotao/modules/outsourcing/service/impl/OutsourcingReturnServiceImpl.java @@ -25,6 +25,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Transactional; +import org.springframework.util.Assert; import org.springframework.util.CollectionUtils; import java.math.BigDecimal; @@ -115,7 +116,9 @@ public class OutsourcingReturnServiceImpl implements OutsourcingReturnService { throw new Exception("没有选择要退料的物料"); } - validateLocal(dto.getSelectedMaterials(),dto.getSite()); + String loginSite = dto.getLoginSite(); + Assert.hasText(loginSite, "缺少 PDA 登录工厂,请重新登录后再试"); + validateLocal(dto.getSelectedMaterials(), loginSite); List newSelectMaterials = new ArrayList<>(); //如果时NEW的HU,改变他的unit for(MrIssueMaterialDto material : dto.getSelectedMaterials()){ @@ -131,7 +134,7 @@ public class OutsourcingReturnServiceImpl implements OutsourcingReturnService { huRequest.setQty(material.getIssueQty()); huRequest.setOrderNo(dto.getOutsourcingOrderNo()); huRequest.setEngChgLevel(material.getEngChgLevel()); - String unitId = createNewReturnHandlingUnits(huRequest); + String unitId = createNewReturnHandlingUnits(huRequest, loginSite); material.setLabelCode(unitId); newSelectMaterials.add(material); }else{ @@ -157,7 +160,7 @@ public class OutsourcingReturnServiceImpl implements OutsourcingReturnService { transCommonRequestDto.setSourceNo(dto.getOutsourcingOrderNo()); Double seqNo = 1.0; - List allLocation = outsourcingReturnMapper.getAllLocation(dto.getSite()); + List allLocation = outsourcingReturnMapper.getAllLocation(loginSite); Map locationWarehouseMap = allLocation.stream() .filter(loc -> loc != null && loc.getLocationId() != null @@ -296,9 +299,12 @@ public class OutsourcingReturnServiceImpl implements OutsourcingReturnService { } @Transactional - public String createNewReturnHandlingUnits(CreateHuRequestReturnIssueDto request) throws Exception{ + public String createNewReturnHandlingUnits(CreateHuRequestReturnIssueDto request) throws Exception { + return createNewReturnHandlingUnits(request, request.getSite()); + } - Location location = outsourcingReturnMapper.getLocation(request.getLocationId(), request.getSite()); + private String createNewReturnHandlingUnits(CreateHuRequestReturnIssueDto request, String locationSite) throws Exception { + Location location = outsourcingReturnMapper.getLocation(request.getLocationId(), locationSite); if(location == null){ throw new Exception("库位不存在,请确认"); } diff --git a/src/main/java/com/gaotao/modules/production/entity/dto/DirectUnissueDto.java b/src/main/java/com/gaotao/modules/production/entity/dto/DirectUnissueDto.java index 0426ff77..8c02f7e3 100644 --- a/src/main/java/com/gaotao/modules/production/entity/dto/DirectUnissueDto.java +++ b/src/main/java/com/gaotao/modules/production/entity/dto/DirectUnissueDto.java @@ -11,6 +11,7 @@ import java.util.List; public class DirectUnissueDto { @NotNull(message = "site is not null") private String site; + private String loginSite; // PDA 登录工厂,用于直接退料库位校验 @NotNull(message = "workOrderNo is not null") private String workOrderNo; // 工单号 @NotNull(message = "componentPartNo is not null") diff --git a/src/main/java/com/gaotao/modules/production/service/impl/ProductionReturnServiceImpl.java b/src/main/java/com/gaotao/modules/production/service/impl/ProductionReturnServiceImpl.java index b9ea33fe..e40961e5 100644 --- a/src/main/java/com/gaotao/modules/production/service/impl/ProductionReturnServiceImpl.java +++ b/src/main/java/com/gaotao/modules/production/service/impl/ProductionReturnServiceImpl.java @@ -47,6 +47,7 @@ import org.springframework.stereotype.Service; import org.apache.commons.lang.StringUtils; import org.apache.shiro.SecurityUtils; import com.gaotao.modules.sys.entity.SysUserEntity; +import org.springframework.util.Assert; import org.springframework.util.CollectionUtils; import java.math.BigDecimal; @@ -185,7 +186,9 @@ public class ProductionReturnServiceImpl implements ProductionReturnService { if (!validateWorkOrderStatus(returnDto.getWorkOrderNo(), returnDto.getSite())) { throw new XJException("工单状态不允许发料"); } - validateLocal(returnDto.getSelectedMaterials(),returnDto.getSite()); + String loginSite = returnDto.getLoginSite(); + Assert.hasText(loginSite, "缺少 PDA 登录工厂,请重新登录后再试"); + validateLocal(returnDto.getSelectedMaterials(), loginSite); List newSelectMaterials = new ArrayList<>(); //如果时NEW的HU,改变他的unit for(WorkOrderMaterialDto material : returnDto.getSelectedMaterials()){ @@ -212,7 +215,7 @@ public class ProductionReturnServiceImpl implements ProductionReturnService { huRequest.setOrderNo(returnDto.getWorkOrderNo()); huRequest.setUmid(returnDto.getUmId()); huRequest.setEngChgLevel(material.getEngChgLevel()); - String unitId = createNewReturnHandlingUnits(huRequest); + String unitId = createNewReturnHandlingUnits(huRequest, loginSite); material.setLabelCode(unitId); newSelectMaterials.add(material); }else{ @@ -239,7 +242,7 @@ public class ProductionReturnServiceImpl implements ProductionReturnService { transCommonRequestDto.setSourceNo(returnDto.getWorkOrderNo()); Double seqNo = 1.0; - List allLocation = productionReturnMapper.getAllLocation(returnDto.getSite()); + List allLocation = productionReturnMapper.getAllLocation(loginSite); Map locationWarehouseMap = allLocation.stream() .filter(loc -> loc != null && loc.getLocationId() != null @@ -596,9 +599,12 @@ public class ProductionReturnServiceImpl implements ProductionReturnService { @Transactional - public String createNewReturnHandlingUnits(CreateHuRequestReturnIssueDto request) throws Exception{ + public String createNewReturnHandlingUnits(CreateHuRequestReturnIssueDto request) throws Exception { + return createNewReturnHandlingUnits(request, request.getSite()); + } - Location location = productionReturnMapper.getLocation(request.getLocationId(), request.getSite()); + private String createNewReturnHandlingUnits(CreateHuRequestReturnIssueDto request, String locationSite) throws Exception { + Location location = productionReturnMapper.getLocation(request.getLocationId(), locationSite); if(location == null){ throw new Exception("库位不存在,请确认"); }