19 changed files with 289 additions and 43 deletions
-
14src/main/java/com/dreamworks/boditech/driver/Device.java
-
19src/main/java/com/dreamworks/boditech/driver/connection/ComLisClient.java
-
2src/main/java/com/dreamworks/boditech/driver/connection/ComWebsocketClient.java
-
6src/main/java/com/dreamworks/boditech/driver/entity/LisTestInfo.java
-
7src/main/java/com/dreamworks/boditech/driver/entity/TaskBatchTubeTestInfo.java
-
63src/main/java/com/dreamworks/boditech/driver/task/TaskBatchTubePrepare.java
-
39src/main/java/com/dreamworks/boditech/driver/task/TaskTestBase.java
-
4src/main/java/com/dreamworks/boditech/driver/task/TaskTestEmergency.java
-
12src/main/java/com/dreamworks/boditech/driver/task/TaskTestRegular.java
-
9src/main/java/com/dreamworks/boditech/driver/task/step/Step.java
-
22src/main/java/com/dreamworks/boditech/driver/task/step/StepBase.java
-
1src/main/java/com/dreamworks/boditech/driver/task/step/StepManager.java
-
5src/main/java/com/dreamworks/boditech/entity/ParamTestRegularAppendTask.java
-
19src/main/java/com/dreamworks/boditech/entity/Test.java
-
15src/main/java/com/dreamworks/boditech/entity/TestStepLogEntry.java
-
20src/main/java/com/dreamworks/boditech/mapper/TestMapper.java
-
19src/main/java/com/dreamworks/boditech/mapper/TestStepMapper.java
-
4src/main/java/com/dreamworks/boditech/service/DeviceService.java
-
42src/main/java/com/dreamworks/boditech/service/TestService.java
@ -0,0 +1,19 @@ |
|||
package com.dreamworks.boditech.driver.connection; |
|||
import com.dreamworks.boditech.driver.entity.LisTestInfo; |
|||
import org.springframework.stereotype.Component; |
|||
import java.util.ArrayList; |
|||
@Component |
|||
public class ComLisClient { |
|||
// request test info |
|||
public LisTestInfo requestTestInfo( String barCode ) { |
|||
if ( barCode.isEmpty() ) { |
|||
return null; |
|||
} |
|||
|
|||
LisTestInfo testInfo = new LisTestInfo(); |
|||
testInfo.sampleType = "WB"; |
|||
testInfo.projectNames = new ArrayList<>(); |
|||
testInfo.projectNames.add("hsCRP"); |
|||
return testInfo; |
|||
} |
|||
} |
@ -0,0 +1,6 @@ |
|||
package com.dreamworks.boditech.driver.entity; |
|||
import java.util.List; |
|||
public class LisTestInfo { |
|||
public List<String> projectNames; |
|||
public String sampleType; |
|||
} |
@ -1,15 +1,16 @@ |
|||
package com.dreamworks.boditech.entity; |
|||
import java.util.List; |
|||
public class ParamTestRegularAppendTask { |
|||
// tube index |
|||
public Integer tubeIndex; |
|||
// tube type |
|||
public String tubeType; |
|||
// project name |
|||
public String projectName; |
|||
public List<String> projectNames; |
|||
// blood type |
|||
public String bloodType; |
|||
// bar code |
|||
public String barCode; |
|||
// user id |
|||
public String patientId; |
|||
public String patientCode; |
|||
} |
@ -0,0 +1,19 @@ |
|||
package com.dreamworks.boditech.entity; |
|||
public class Test { |
|||
// id |
|||
public Integer id; |
|||
// patient code |
|||
public String patientCode; |
|||
// patient id |
|||
public String projectName; |
|||
// tube type |
|||
public String tubeType; |
|||
// sample type |
|||
public String sampleType; |
|||
// started at |
|||
public String startedAt; |
|||
// started by |
|||
public Integer startedBy; |
|||
// status |
|||
public String status; |
|||
} |
@ -0,0 +1,15 @@ |
|||
package com.dreamworks.boditech.entity; |
|||
public class TestStepLogEntry { |
|||
// id |
|||
public Integer id; |
|||
// test id |
|||
public Integer testId; |
|||
// step name |
|||
public String stepName; |
|||
// step options |
|||
public String stepOptions; |
|||
// start time |
|||
public String startedAt; |
|||
// finished time |
|||
public String finishedAt; |
|||
} |
@ -0,0 +1,20 @@ |
|||
package com.dreamworks.boditech.mapper; |
|||
import com.dreamworks.boditech.entity.Test; |
|||
import org.apache.ibatis.annotations.Insert; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Options; |
|||
import org.apache.ibatis.annotations.Update; |
|||
|
|||
@Mapper |
|||
public interface TestMapper { |
|||
@Insert("INSERT INTO bdt_tests (" + |
|||
"patientCode, projectName, sampleType, tubeType, startedAt, startedBy" + |
|||
") VALUES (" + |
|||
"#{patientCode}, #{projectName}, #{sampleType}, #{tubeType}, #{startedAt}, #{startedBy}" + |
|||
")") |
|||
@Options(useGeneratedKeys=true, keyProperty="id", keyColumn="id") |
|||
int insert(Test test); |
|||
|
|||
@Update("UPDATE bdt_tests SET status = #{status} WHERE id = #{id}") |
|||
int statusUpdate(Test test); |
|||
} |
@ -0,0 +1,19 @@ |
|||
package com.dreamworks.boditech.mapper; |
|||
import com.dreamworks.boditech.entity.TestStepLogEntry; |
|||
import org.apache.ibatis.annotations.Insert; |
|||
import org.apache.ibatis.annotations.Mapper; |
|||
import org.apache.ibatis.annotations.Options; |
|||
import org.apache.ibatis.annotations.Update; |
|||
@Mapper |
|||
public interface TestStepMapper { |
|||
@Insert("INSERT INTO bdt_test_steps (" + |
|||
"testId, stepName,stepOptions, startedAt" + |
|||
") VALUES (" + |
|||
"#{testId}, #{stepName}, #{stepOptions}, #{startedAt}" + |
|||
")") |
|||
@Options(useGeneratedKeys=true, keyProperty="id", keyColumn="id") |
|||
int insert(TestStepLogEntry entry); |
|||
|
|||
@Update("UPDATE bdt_test_steps SET finishedAt = #{finishedAt} WHERE id = #{id}") |
|||
int update(TestStepLogEntry entry); |
|||
} |
@ -0,0 +1,42 @@ |
|||
package com.dreamworks.boditech.service; |
|||
import com.dreamworks.boditech.entity.Test; |
|||
import com.dreamworks.boditech.entity.TestStepLogEntry; |
|||
import com.dreamworks.boditech.mapper.TestMapper; |
|||
import com.dreamworks.boditech.mapper.TestStepMapper; |
|||
import jakarta.annotation.Resource; |
|||
import org.springframework.stereotype.Service; |
|||
import java.time.LocalDateTime; |
|||
import java.time.format.DateTimeFormatter; |
|||
@Service |
|||
public class TestService { |
|||
@Resource |
|||
private TestMapper testMapper; |
|||
@Resource |
|||
private TestStepMapper testStepMapper; |
|||
|
|||
// create test |
|||
public void insert(Test test) { |
|||
test.startedAt = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); |
|||
// @TODO : startedBy should be set to the current user |
|||
test.startedBy = 0; |
|||
this.testMapper.insert(test); |
|||
} |
|||
|
|||
// update test |
|||
public void statusUpdate(Test test) { |
|||
this.testMapper.statusUpdate(test); |
|||
} |
|||
|
|||
// log step start |
|||
public void logStepStart(Test test, TestStepLogEntry entry ) { |
|||
entry.testId = test.id; |
|||
entry.startedAt = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); |
|||
this.testStepMapper.insert(entry); |
|||
} |
|||
|
|||
// log step end |
|||
public void logStepEnd(TestStepLogEntry entry) { |
|||
entry.finishedAt = LocalDateTime.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")); |
|||
this.testStepMapper.update(entry); |
|||
} |
|||
} |
Write
Preview
Loading…
Cancel
Save
Reference in new issue