package com.whyc.service;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.whyc.dto.Response;
|
import com.whyc.mapper.ExperimentMapper;
|
import com.whyc.mapper.ExperimentWindingStep1Mapper;
|
import com.whyc.mapper.ExperimentWindingStep2Mapper;
|
import com.whyc.mapper.ProjectMapper;
|
import com.whyc.pojo.Experiment;
|
import com.whyc.pojo.ExperimentWindingStep1;
|
import com.whyc.pojo.ExperimentWindingStep2;
|
import com.whyc.pojo.Project;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.jdbc.datasource.DataSourceTransactionManager;
|
import org.springframework.stereotype.Service;
|
import org.springframework.transaction.TransactionDefinition;
|
import org.springframework.transaction.TransactionStatus;
|
|
import javax.annotation.Resource;
|
import java.text.SimpleDateFormat;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
|
@Service
|
public class WindingExperimentService {
|
@Autowired
|
DataSourceTransactionManager dataSourceTransactionManager;
|
@Autowired
|
TransactionDefinition transactionDefinition;
|
|
@Resource
|
private ExperimentMapper mapper;
|
|
@Resource
|
private ExperimentWindingStep1Mapper mapper1;
|
|
@Resource
|
private ExperimentWindingStep2Mapper mapper2;
|
|
@Resource
|
private ProjectMapper projectMapper;
|
|
/**
|
* 绕组实验 开始实验
|
* @param experiment
|
* @return
|
*/
|
public Response<Object> addWindingExperiment(Experiment experiment) {
|
String id = "RZ_";
|
id+=new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
|
experiment.setId(id);
|
experiment.setCreateTime(new Date());
|
experiment.setStatus(0);
|
try {
|
if (mapper.insertmanual(experiment) > 0) {
|
return new Response().setMsg(1, "添加成功");
|
} else {
|
return new Response().setMsg(0, "添加失败");
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
return new Response().setMsg(0, "添加失败");
|
}
|
}
|
|
/**
|
* 绕组实验步骤1
|
* @param list
|
* @return
|
*/
|
public Response<Object> addExperimentWindingStep1(List<ExperimentWindingStep1> list) {
|
Boolean flag = true;
|
TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);
|
try {
|
for (int i = 0; i < list.size(); i++) {
|
ExperimentWindingStep1 windingStep1 = list.get(i);
|
if (mapper1.insert(windingStep1) > 0) {
|
flag = true;
|
} else {
|
flag = false;
|
}
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
dataSourceTransactionManager.rollback(transactionStatus); //事务回滚
|
return new Response().setMsg(0, "添加失败");
|
}
|
if (flag) {
|
dataSourceTransactionManager.commit(transactionStatus);
|
return new Response().setMsg(1, "添加成功");
|
} else {
|
dataSourceTransactionManager.rollback(transactionStatus);
|
return new Response().setMsg(0, "添加失败");
|
}
|
|
}
|
|
/**
|
* 绕组实验步骤2
|
* @param list
|
* @return
|
*/
|
public Response<Object> addExperimentWindingStep2(List<ExperimentWindingStep2> list) {
|
Boolean flag = true;
|
TransactionStatus transactionStatus = dataSourceTransactionManager.getTransaction(transactionDefinition);
|
try {
|
for (int i = 0; i < list.size(); i++) {
|
ExperimentWindingStep2 windingStep2 = list.get(i);
|
if (mapper2.insert(windingStep2) > 0) {
|
flag = true;
|
} else {
|
flag = false;
|
}
|
}
|
} catch (Exception e) {
|
e.printStackTrace();
|
dataSourceTransactionManager.rollback(transactionStatus); //事务回滚
|
return new Response().setMsg(0, "添加失败");
|
}
|
if (flag) {
|
dataSourceTransactionManager.commit(transactionStatus);
|
return new Response().setMsg(1, "添加成功");
|
} else {
|
dataSourceTransactionManager.rollback(transactionStatus);
|
return new Response().setMsg(0, "添加失败");
|
}
|
|
}
|
|
public Response<List<Project>> getProjectName() {
|
QueryWrapper<Project> wrapper = new QueryWrapper<>();
|
ArrayList<Object> arr = new ArrayList<>();
|
arr.add(1); //项目状态:0-已取消,1-进行中,2-完成,3-延期
|
arr.add(3);
|
wrapper.in("status", arr);
|
List<Project> list = projectMapper.selectList(wrapper);
|
Response<List<Project>> response = new Response<>();
|
response.set(1, list);
|
return response;
|
}
|
|
|
}
|