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; |
|||
|
|||
import a8k.service.appstate.type.state.EmergencySampleState; |
|||
import a8k.type.type.BloodType; |
|||
|
|||
import java.util.ArrayList; |
|||
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 userid = ""; //用户输入的样本ID,不做逻辑,只做展示 |
|||
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