diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/DequeCustomerDeviceStrategy.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/DequeCustomerDeviceStrategy.java index f7d1770..1eb8a5c 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/DequeCustomerDeviceStrategy.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/DequeCustomerDeviceStrategy.java @@ -1,25 +1,17 @@ package org.nl.acs.custompolicy; -import com.baomidou.mybatisplus.extension.conditions.query.LambdaQueryChainWrapper; -import org.nl.acs.custompolicy.server.CustomPolicyService; -import org.nl.acs.custompolicy.server.dto.CustomPolicyDTO; -import org.nl.acs.custompolicy.server.mapper.CustomPolicyMapper; -import org.nl.acs.device.service.mapper.DeviceMapper; import org.nl.acs.instruction.domain.Instruction; import org.nl.acs.instruction.service.InstructionService; -import org.nl.acs.storage_cell.domain.StorageCell; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; import java.util.*; +@Component public class DequeCustomerDeviceStrategy implements DeviceStrategy { + @Autowired InstructionService instructionService; - @Autowired - CustomPolicyService customPolicyService; - CustomerStragetyCacheService customerStragetyCacheService; - - CustomPolicyMapper customPolicyMapper; public DequeCustomerDeviceStrategy() { } @@ -32,13 +24,39 @@ public class DequeCustomerDeviceStrategy implements DeviceStrategy { return "自定义队列策略"; } - private String getType(String type, String from, String to) { - return null; - } - public WaitingInstructionDeque strategy(List instructions, String device_code) { //WaitingInstructionDeque deque = this.instructionService.findWaitingInstructionDequeByDeviceCode(device_code); - StackerStrategyDto cacheStragety = this.customerStragetyCacheService.getStragety(device_code); + System.out.println("自定义队列策略"); + Map> factory = new HashMap(); + + Instruction instruction; + Object list; + for(Iterator var5 = instructions.iterator(); var5.hasNext(); ((List)list).add(instruction)) { + instruction = (Instruction)var5.next(); + String type = instruction.getInstruction_type(); + list = (List)factory.get(type); + if (list == null) { + list = new ArrayList(); + factory.put(instruction.getInstruction_type(), (List) list); + } + } + + Set keys = factory.keySet(); + List sort_keys = new LinkedList(); + sort_keys.addAll(keys); + Collections.sort(sort_keys); +// SortUtlEx.sort(sort_keys, this.comparator); + Iterator var12 = sort_keys.iterator(); + + while(var12.hasNext()) { + String string = (String)var12.next(); + List list2 = (List)factory.get(string); + if (list2 != null && list2.size() > 0) { + //deque.offerIfNotExists((Instruction)list2.get(0)); + } + } + return null; } + } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/DequeDefaultDeviceStrategy.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/DequeDefaultDeviceStrategy.java index b42f5ff..267a405 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/DequeDefaultDeviceStrategy.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/DequeDefaultDeviceStrategy.java @@ -27,6 +27,7 @@ public class DequeDefaultDeviceStrategy implements DeviceStrategy { public WaitingInstructionDeque strategy(List instructions, String device_code) { //WaitingInstructionDeque deque = this.instructionService.findWaitingInstructionDequeByDeviceCode(device_code); + System.out.println("默认队列策略"); Map> factory = new HashMap(); Instruction instruction; diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/StockinFirstDeviceStrategy.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/StockinFirstDeviceStrategy.java index 1932900..e4a47e7 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/StockinFirstDeviceStrategy.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/StockinFirstDeviceStrategy.java @@ -1,12 +1,18 @@ package org.nl.acs.custompolicy; import org.nl.acs.instruction.domain.Instruction; +import org.nl.acs.instruction.service.InstructionService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; -import java.util.List; +import java.util.*; +@Component public class StockinFirstDeviceStrategy implements DeviceStrategy { + @Autowired + InstructionService instructionService; + public StockinFirstDeviceStrategy() { } @@ -19,6 +25,38 @@ public class StockinFirstDeviceStrategy implements DeviceStrategy { } public WaitingInstructionDeque strategy(List instructions, String device_code) { + //WaitingInstructionDeque deque = this.instructionService.findWaitingInstructionDequeByDeviceCode(device_code); + System.out.println("入库优先策略"); + Map> factory = new HashMap(); + + Instruction instruction; + Object list; + for(Iterator var5 = instructions.iterator(); var5.hasNext(); ((List)list).add(instruction)) { + instruction = (Instruction)var5.next(); + String type = instruction.getInstruction_type(); + list = (List)factory.get(type); + if (list == null) { + list = new ArrayList(); + factory.put(instruction.getInstruction_type(), (List) list); + } + } + + Set keys = factory.keySet(); + List sort_keys = new LinkedList(); + sort_keys.addAll(keys); + Collections.sort(sort_keys); +// SortUtlEx.sort(sort_keys, this.comparator); + Iterator var12 = sort_keys.iterator(); + + while(var12.hasNext()) { + String string = (String)var12.next(); + List list2 = (List)factory.get(string); + if (list2 != null && list2.size() > 0) { + //deque.offerIfNotExists((Instruction)list2.get(0)); + } + } + return null; } + } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/StockoutFirstDeviceStrategy.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/StockoutFirstDeviceStrategy.java index a2ecdb0..6056e8b 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/StockoutFirstDeviceStrategy.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/StockoutFirstDeviceStrategy.java @@ -1,12 +1,18 @@ package org.nl.acs.custompolicy; import org.nl.acs.instruction.domain.Instruction; +import org.nl.acs.instruction.service.InstructionService; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; -import java.util.List; +import java.util.*; +@Component public class StockoutFirstDeviceStrategy implements DeviceStrategy { + @Autowired + InstructionService instructionService; + public StockoutFirstDeviceStrategy() { } @@ -19,6 +25,38 @@ public class StockoutFirstDeviceStrategy implements DeviceStrategy { } public WaitingInstructionDeque strategy(List instructions, String device_code) { + //WaitingInstructionDeque deque = this.instructionService.findWaitingInstructionDequeByDeviceCode(device_code); + System.out.println("出库优先策略"); + Map> factory = new HashMap(); + + Instruction instruction; + Object list; + for(Iterator var5 = instructions.iterator(); var5.hasNext(); ((List)list).add(instruction)) { + instruction = (Instruction)var5.next(); + String type = instruction.getInstruction_type(); + list = (List)factory.get(type); + if (list == null) { + list = new ArrayList(); + factory.put(instruction.getInstruction_type(), (List) list); + } + } + + Set keys = factory.keySet(); + List sort_keys = new LinkedList(); + sort_keys.addAll(keys); + Collections.sort(sort_keys); +// SortUtlEx.sort(sort_keys, this.comparator); + Iterator var12 = sort_keys.iterator(); + + while(var12.hasNext()) { + String string = (String)var12.next(); + List list2 = (List)factory.get(string); + if (list2 != null && list2.size() > 0) { + //deque.offerIfNotExists((Instruction)list2.get(0)); + } + } + return null; } + } diff --git a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/server/impl/CustomPolicyServiceImpl.java b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/server/impl/CustomPolicyServiceImpl.java index 1c7ffb6..238f613 100644 --- a/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/server/impl/CustomPolicyServiceImpl.java +++ b/acs/nladmin-system/nlsso-server/src/main/java/org/nl/acs/custompolicy/server/impl/CustomPolicyServiceImpl.java @@ -161,12 +161,12 @@ public class CustomPolicyServiceImpl extends CommonServiceImpl findDeviceStrategyOption() { List strategys = this.findAllDeviceStrategy(); - Map map = new HashMap(); List strings = new ArrayList<>(); Iterator var3 = strategys.iterator(); while(var3.hasNext()) { DeviceStrategy strategy = (DeviceStrategy)var3.next(); + Map map = new HashMap(); map.put("code",strategy.getCode()); map.put("name",strategy.getName()); strings.add(map);