Browse Source

试管架列表更新

master
sige 2 years ago
parent
commit
e0d4973c13
  1. 53
      src/main/java/com/dreamworks/boditech/controller/TestController.java
  2. 3
      src/main/java/com/dreamworks/boditech/mapper/TestTubeRackTestTaskMapper.java
  3. 14
      src/main/java/com/dreamworks/boditech/service/TestService.java
  4. 1
      src/main/java/com/dreamworks/boditech/utils/AppError.java
  5. 3
      src/main/resources/static/i18n/messages_zh_CN.properties

53
src/main/java/com/dreamworks/boditech/controller/TestController.java

@ -24,17 +24,10 @@ public class TestController extends BaseController {
private ProjectService projectService;
@ResponseBody
@PostMapping("/api/test/test-tube-rack-save")
public ApiResponse testTubeRackTaskSave(@RequestBody ParamTestTubeRackTaskSave param ) {
MdbTestTubeRackTestTask task = this.testService.testTubeRackTaskSave(param);
return this.success(task);
}
@ResponseBody
@PostMapping("/api/test/test-tube-rack-list")
public ApiResponse testTubeRackList() {
List<Map<String,Object>> list = new ArrayList<>();
List<MdbTestTubeRackTestTask> racks = this.testService.testTubeRackTaskList();
List<MdbTestTubeRackTestTask> racks = this.testService.regularTaskEditableList();
for ( MdbTestTubeRackTestTask rack : racks ) {
Map<String,Object> item = MyCommon.objectToMap(rack);
@ -43,21 +36,7 @@ public class TestController extends BaseController {
List<Map<String,Object>> tubeList = new ArrayList<>();
for ( MdbTestTubeRackTestTaskTube tube : tubes ) {
Map<String,Object> tubeItem = MyCommon.objectToMap(tube);
// attach projects to tube
if ( tube.projectIds.isEmpty() ) {
tube.projectIds = "[]";
}
List<Integer> projectIds = MyCommon.jsonToObject(tube.projectIds, List.class);
List<Map<String,Object>> projectList = new ArrayList<>();
for ( Integer projectId : projectIds ) {
Project project = this.projectService.activeProjectGetById(projectId);
Map<String,Object> projectItem = MyCommon.objectToMap(project);
projectItem.remove("steps");
projectList.add(projectItem);
}
tubeItem.put("projects", projectList);
tubeItem.put("projectIds", projectIds.isEmpty() ? new ArrayList<>() : projectIds);
this.attachProjectsToMap(tubeItem, tube.projectIds);
tubeList.add(tubeItem);
}
item.put("tubes", tubeList);
@ -66,6 +45,34 @@ public class TestController extends BaseController {
return this.success(list);
}
// attach projects to map
private void attachProjectsToMap(Map<String,Object> map, String projectIdsJsonStr) {
// attach projects to tube
if ( projectIdsJsonStr.isEmpty() ) {
projectIdsJsonStr = "[]";
}
List<Integer> projectIds = MyCommon.jsonToObject(projectIdsJsonStr, List.class);
if ( projectIds.isEmpty() ) {
projectIds = new ArrayList<>();
}
List<Map<String,Object>> projectList = new ArrayList<>();
for ( Integer projectId : projectIds ) {
Project project = this.projectService.activeProjectGetById(projectId);
Map<String,Object> projectItem = MyCommon.objectToMap(project);
projectItem.remove("steps");
projectList.add(projectItem);
}
map.put("projects", projectList);
map.put("projectIds", projectIds);
}
@ResponseBody
@PostMapping("/api/test/test-tube-rack-save")
public ApiResponse testTubeRackTaskSave(@RequestBody ParamTestTubeRackTaskSave param ) {
MdbTestTubeRackTestTask task = this.testService.testTubeRackTaskSave(param);
return this.success(task);
}
@ResponseBody
@PostMapping("/api/test/test-tube-rack-delete")
public ApiResponse testTubeRackBatchDelete( @RequestBody Map<String,Object> params ) {

3
src/main/java/com/dreamworks/boditech/mapper/TestTubeRackTestTaskMapper.java

@ -55,4 +55,7 @@ public interface TestTubeRackTestTaskMapper {
@Update("UPDATE btd_test_tube_rack_test_tasks SET status = #{status}, execFinishedAt = #{execFinishedAt} WHERE id = #{id}")
void testCancel( MdbTestTubeRackTestTask task );
@Select("SELECT * FROM btd_test_tube_rack_test_tasks WHERE status IN ('WAITING','CONFIGURING') ORDER BY id ASC")
List<MdbTestTubeRackTestTask> findAllEditableTasks();
}

14
src/main/java/com/dreamworks/boditech/service/TestService.java

@ -143,11 +143,6 @@ public class TestService {
}
}
// test tube rack task list
public List<MdbTestTubeRackTestTask> testTubeRackTaskList() {
return this.testTubeRackTestTaskMapper.findAll();
}
// test tube rack task tube list
public List<MdbTestTubeRackTestTaskTube> testTubeRackTaskTubeListByRackId(Integer rackId) {
return this.testTubeRackTestTaskTubeMapper.findAllByRackId(rackId);
@ -162,6 +157,10 @@ public class TestService {
// test tube rack task lock
public void testTubeRackTestLock(Integer id) {
if ( !this.deviceService.isExecutorRunning() ) {
throw new AppRuntimeException(AppError.DEVICE_EXECUTING_REQUIRED);
}
this.actionLog.log("test-tube-rack-task.lock", id);
MdbTestTubeRackTestTask task = this.testTubeRackTestTaskMapper.findById(id);
if ( null == task ) {
@ -258,6 +257,11 @@ public class TestService {
this.testTubeRackTestTaskMapper.update(task);
}
// test tube rack task list
public List<MdbTestTubeRackTestTask> regularTaskEditableList() {
return this.testTubeRackTestTaskMapper.findAllEditableTasks();
}
// regular task start
public void regularTaskStart( MdbTestTubeRackTestTask task ) {
task.status = MdbTestTubeRackTestTask.STATUS_EXECUTING;

1
src/main/java/com/dreamworks/boditech/utils/AppError.java

@ -22,4 +22,5 @@ public enum AppError {
DEVICE_CONSUMABLE_NOT_ENOUGH,
DEVICE_NOT_STARTED,
DEVICE_STOP_FAILED,
DEVICE_EXECUTING_REQUIRED,
}

3
src/main/resources/static/i18n/messages_zh_CN.properties

@ -2,4 +2,5 @@ device.status.powerOn = 设备已开机
device.status.ready = 设备已就绪
device.status.consumablesLoaded = 耗材已装载
Error.ACCOUNT_LOGIN_INVALID_ACCOUNT_OR_PIN_CODE = 密码验证失败
Error.ACCOUNT_LOGIN_INVALID_ACCOUNT_OR_PIN_CODE = 密码验证失败
Error.DEVICE_EXECUTING_REQUIRED = 请先开始测试
Loading…
Cancel
Save