27 changed files with 640 additions and 460 deletions
-
27README.md
-
1src/main/java/a8k/controler/extapi/pagecontrol/ExtApiTabConfig.java
-
1src/main/java/a8k/dbservice/type/SampleRecord.java
-
78src/main/java/a8k/hardware/type/a8kcanprotocol/A8kEcode.java
-
2src/main/java/a8k/service/appdata/AppProjInfoMgrService.java
-
27src/main/java/a8k/service/appdata/AppSampleRecordMgrService.java
-
206src/main/java/a8k/service/appdevicectrl/AppConsumablesMgrService.java
-
50src/main/java/a8k/service/appdevicectrl/AppEmergencySamplePosStateMgrService.java
-
6src/main/java/a8k/service/appdevicectrl/action/base/A8kStepAction.java
-
7src/main/java/a8k/service/appdevicectrl/action/mainflow/DO_EJECT_TUBEHOLDER.java
-
38src/main/java/a8k/service/appdevicectrl/action/mainflow/SEQ1_ENTER_TUBEHOLDER_AND_SCAN.java
-
103src/main/java/a8k/service/appdevicectrl/action/mainflow/SEQ2_SWITCH_TO_THE_NEXT_TUBE.java
-
60src/main/java/a8k/service/appdevicectrl/action/mainflow/SEQ3_CHECK_THE_QUANTITY_OF_CONSUMABLES.java
-
28src/main/java/a8k/service/appstate/AppA8kGStateService.java
-
46src/main/java/a8k/service/appstate/AppSampleProcessContextMgrService.java
-
8src/main/java/a8k/service/appstate/type/EmergencyTubePos.java
-
10src/main/java/a8k/service/appstate/type/IncubationPlate.java
-
8src/main/java/a8k/service/appstate/type/Tube.java
-
15src/main/java/a8k/service/appstate/type/TubeHolder.java
-
18src/main/java/a8k/service/appstate/type/TubeProcessContext.java
-
8src/main/java/a8k/service/appstate/type/state/EmergencySampleState.java
-
1src/main/java/a8k/service/appstate/type/state/TubeHolderState.java
-
6src/main/java/a8k/service/appstate/type/state/TubeState.java
-
54src/main/java/a8k/service/devicedriver/ctrl/ConsumablesScanCtrl.java
@ -0,0 +1,46 @@ |
|||||
|
package a8k.service.appstate; |
||||
|
|
||||
|
import a8k.service.appstate.type.Tube; |
||||
|
import a8k.service.appstate.type.TubeProcessContext; |
||||
|
import org.springframework.stereotype.Component; |
||||
|
|
||||
|
import java.util.ArrayList; |
||||
|
import java.util.List; |
||||
|
|
||||
|
@Component |
||||
|
public class AppSampleProcessContextMgrService { |
||||
|
|
||||
|
List<TubeProcessContext> contexts = new ArrayList<>(); |
||||
|
|
||||
|
synchronized public void createNewTubeContext(Tube tube) { |
||||
|
assert tube != null; |
||||
|
assert !tube.sampleid.isEmpty(); |
||||
|
|
||||
|
TubeProcessContext context = new TubeProcessContext(); |
||||
|
context.sampleid = tube.sampleid; |
||||
|
context.isHighTube = tube.isHighTube; |
||||
|
context.isEmergency = tube.isEmergency; |
||||
|
context.bloodType = tube.bloodType; |
||||
|
context.sampleBarcode = tube.sampleBarcode; |
||||
|
context.userid = tube.userid; |
||||
|
context.projIndex = tube.projIndex; |
||||
|
contexts.add(context); |
||||
|
} |
||||
|
|
||||
|
synchronized public void createNewTubeContexts(Tube[] tube) { |
||||
|
for (Tube t : tube) { |
||||
|
createNewTubeContext(t); |
||||
|
} |
||||
|
} |
||||
|
|
||||
|
synchronized public TubeProcessContext getTubeContext(String sampleid) { |
||||
|
for (TubeProcessContext context : contexts) { |
||||
|
if (context.sampleid.equals(sampleid)) { |
||||
|
return context; |
||||
|
} |
||||
|
} |
||||
|
return null; |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
@ -0,0 +1,8 @@ |
|||||
|
package a8k.service.appstate.type; |
||||
|
|
||||
|
/** |
||||
|
* 急诊位位置状态 |
||||
|
*/ |
||||
|
public class EmergencyTubePos { |
||||
|
public Tube tube = new Tube(); |
||||
|
} |
@ -1,19 +1,21 @@ |
|||||
package a8k.service.appstate.type; |
package a8k.service.appstate.type; |
||||
|
|
||||
import a8k.service.appstate.type.state.EmergencySampleState; |
|
||||
import a8k.type.type.BloodType; |
import a8k.type.type.BloodType; |
||||
|
|
||||
import java.util.ArrayList; |
import java.util.ArrayList; |
||||
import java.util.List; |
import java.util.List; |
||||
|
|
||||
/** |
|
||||
* 急诊位位置状态 |
|
||||
*/ |
|
||||
public class EmergencyPosRunState { |
|
||||
public String userid = ""; //用户输入的样本ID,不做逻辑,只做展示 |
|
||||
|
public class TubeProcessContext { |
||||
|
public String sampleid; //样本ID-系统生成-唯一标识一个样本 |
||||
|
|
||||
|
public Boolean isHighTube = false; |
||||
|
public Boolean isEmergency = false; |
||||
|
|
||||
|
public BloodType bloodType = BloodType.WHOLE_BLOOD; //血液类型 |
||||
public String sampleBarcode = ""; //用于请求用户信息的条码ID |
public String sampleBarcode = ""; //用于请求用户信息的条码ID |
||||
|
public String userid = ""; //用户输入的样本ID,不做逻辑,只做展示 |
||||
public List<Integer> projIndex = new ArrayList<>(); //项目代码 |
public List<Integer> projIndex = new ArrayList<>(); //项目代码 |
||||
public BloodType bloodType = BloodType.WHOLE_BLOOD; //血型 |
|
||||
|
|
||||
public EmergencySampleState state = EmergencySampleState.IDLE; //急诊位状态 |
|
||||
|
|
||||
|
|
||||
} |
} |
@ -1,8 +0,0 @@ |
|||||
package a8k.service.appstate.type.state; |
|
||||
|
|
||||
public enum EmergencySampleState { |
|
||||
IDLE,// |
|
||||
PENDING,// |
|
||||
PROCESSING,// |
|
||||
FINISHED,// |
|
||||
} |
|
Write
Preview
Loading…
Cancel
Save
Reference in new issue