修改增加审核明细插入第三方库

master
zengwh 4 years ago
parent 651f8982b1
commit fec1c6eef5

@ -56,7 +56,7 @@ public class ArchiveFlowInfoService {
* @param sumbitDate
* @throws Exception
*/
public Integer insertFlowInfo(String masterId,String remark,ArchiveFlowRole currentRole,ArchiveFlowRole nextRole,Date sumbitDate)throws Exception{
public ArchiveFlowInfo insertFlowInfo(String masterId,String remark,ArchiveFlowRole currentRole,ArchiveFlowRole nextRole,Date sumbitDate)throws Exception{
//添加流程
ArchiveFlowInfo flowInfo = new ArchiveFlowInfo();
//masterId;
@ -100,7 +100,7 @@ public class ArchiveFlowInfoService {
//createtime:创建时间
flowInfo.setCreatetime(new Date());
flowInfoMapper.insertSelective(flowInfo);
return flowInfo.getId();
return flowInfo;
}
/**

@ -689,6 +689,92 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
return archiveMasterMapper.selectByPrimaryKey(id);
}
/**
* oracle
* @param flowInfo
*/
private void backInsertOracle(Integer code,ArchiveFlowInfo flowInfo){
//查询是否存在记录
String masterId = flowInfo.getMasterId();
String selectSql = "SELECT count(1) FROM ARCHIVE_FLOW_INFO where master_id = '"+masterId+"'";
List<String> counts = null;
try {
counts = OracleConnect.selectList(selectSql);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("审核时查询oracle记录失败");
}
if(code == 1 || !"0".equals(counts.get(0))) {
Archive_Master master = archiveMasterMapper.selectByPrimaryKey(masterId);
String patientId = master.getPatientId();
String sql = "insert all into archive_flow_info (" +
"master_id, " +
"step_index," +
"start_step_id, " +
"start_step, " +
"sumbit_name," +
"target_step_id, " +
"target_step, " +
"oper_role," +
"use_seconds, " +
"remark, " +
"user_name," +
"sumbit_time, " +
"createtime," +
"jzh," +
"is_available," +
"return," +
"return_time" +
")" +
"values ("
+ "'" + flowInfo.getMasterId() + "',"
+ flowInfo.getStepIndex() + ","
+ flowInfo.getStartStepId() + ","
+ "'" + flowInfo.getStartStep() + "',"
+ "'" + flowInfo.getSumbitName() + "',"
+ flowInfo.getTargetStepId() + ","
+ "'" + flowInfo.getTargetStep() + "',"
+ flowInfo.getOperRole() + ","
+ "'" + flowInfo.getUseSeconds() + "',"
+ "'" + flowInfo.getRemark() + "',"
+ "'" + flowInfo.getUserName() + "',"
+ "SYSDATE,"
+ "SYSDATE,"
+ "'" + patientId + "',"
+ "'" + "否" + "',"
+ "'" + "是" + "',"
+ "SYSDATE"
+ ") select * from dual";
try {
OracleConnect.insert(sql);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("审核信息插入oracle失败");
}
}
}
/**
* 退oracle 线'否',退''退
* @param roleIndex
* @param archiveDetailId
*/
private void updateOracle(String roleIndex, String archiveDetailId) {
//修改语句
String sql = "update ARCHIVE_FLOW_INFO set is_available = '否' where master_id = '"+archiveDetailId+"'";
if(StringUtils.isNotBlank(roleIndex)){
//修改单条支线
sql += " and OPER_ROLE in ("+roleIndex+",4)";
}
try {
OracleConnect.update(sql);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("退回修改oracle失败");
}
}
/**
* 退
* */
@ -725,6 +811,8 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
//修改复审内容
emrFaultDetail.setCreater(username);
emrFaultDetail.setCreateTime(nowTime);
//定义修改支线
String roleIndex = "";
switch (returntoRole) {
//退回给医生
case "DOCTOR":
@ -732,11 +820,13 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
status = EnumVerify.DocState.backToDoctor(Integer.valueOf(emrFaultDetail.getStatus()),archiveFlowRoles);
//退回的状态码
backToCodeList.add(EnumVerify.DocState.DortorBack.getCode());
roleIndex = "1";
break;
//退回给护士
case "NURSE":
status = EnumVerify.DocState.backToNurse(Integer.valueOf(emrFaultDetail.getStatus()),archiveFlowRoles);
backToCodeList.add(EnumVerify.DocState.NurseBack.getCode());
roleIndex = "2";
break;
//退回给医生和护士
case "ALL":
@ -751,8 +841,12 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
//获取当前节点和下个节点对象集合
List<ArchiveFlowRole> currentRoleAndNextRole = flowInfoService.getCurrentRoleAndNextRole(targetCode, backToCode,archiveFlowRoles);
//添加进流转记录
Integer flowInfoId = flowInfoService.insertFlowInfo(masterId,remark,currentRoleAndNextRole.get(0),currentRoleAndNextRole.get(1),new Date());
emrFaultDetail.setParentId(flowInfoId);
ArchiveFlowInfo flowInfo = flowInfoService.insertFlowInfo(masterId,remark,currentRoleAndNextRole.get(0),currentRoleAndNextRole.get(1),new Date());
//插入退回信息
backInsertOracle(0,flowInfo);
//修改退回信息
updateOracle(roleIndex,emrFaultDetail.getArchiveDetailId());
emrFaultDetail.setParentId(flowInfo.getId());
//添加缺陷记录
emrFaultDetailService.insertSel(emrFaultDetail);
}
@ -867,6 +961,72 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
}
}
/**
* oracle
* @param flowInfo
*/
private void insertOracle(Integer code,ArchiveFlowInfo flowInfo){
//查询是否存在记录
String masterId = flowInfo.getMasterId();
String selectSql = "SELECT count(1) FROM ARCHIVE_FLOW_INFO where master_id = '"+masterId+"'";
List<String> counts = null;
try {
counts = OracleConnect.selectList(selectSql);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException("审核时查询oracle记录失败");
}
log.info("masterId查询结果:"+counts.get(0));
if(code == 1 || !"0".equals(counts.get(0))) {
Archive_Master master = archiveMasterMapper.selectByPrimaryKey(masterId);
String patientId = master.getPatientId();
String sql = "insert all into archive_flow_info (" +
"master_id, " +
"step_index," +
"start_step_id, " +
"start_step, " +
"sumbit_name," +
"target_step_id, " +
"target_step, " +
"oper_role," +
"use_seconds, " +
"remark, " +
"user_name," +
"sumbit_time, " +
"createtime," +
"jzh," +
"is_available" +
")" +
"values ("
+ "'" + flowInfo.getMasterId() + "',"
+ flowInfo.getStepIndex() + ","
+ flowInfo.getStartStepId() + ","
+ "'" + flowInfo.getStartStep() + "',"
+ "'" + flowInfo.getSumbitName() + "',"
+ flowInfo.getTargetStepId() + ","
+ "'" + flowInfo.getTargetStep() + "',"
+ flowInfo.getOperRole() + ","
+ "'" + flowInfo.getUseSeconds() + "',"
+ "'" + flowInfo.getRemark() + "',"
+ "'" + flowInfo.getUserName() + "',"
+ "SYSDATE,"
+ "SYSDATE,"
+ "'" + patientId + "',"
+ "'" + "是" + "'"
+ ") select * from dual";
log.info("sql:"+sql);
try {
OracleConnect.insert(sql);
log.info("成功");
} catch (Exception e) {
e.printStackTrace();
log.info("失败");
throw new RuntimeException("审核信息插入oracle失败");
}
}
}
/**
*
* @param remark
@ -890,7 +1050,9 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
//获取当前节点和下个节点对象集合
List<ArchiveFlowRole> currentRoleAndNextRole = flowInfoService.getCurrentRoleAndNextRole(roleCode, null,archiveFlowRoles);
//添加进流转记录
flowInfoService.insertFlowInfo(masterId,remark,currentRoleAndNextRole.get(0),currentRoleAndNextRole.get(1),new Date());
ArchiveFlowInfo flowInfo = flowInfoService.insertFlowInfo(masterId,remark,currentRoleAndNextRole.get(0),currentRoleAndNextRole.get(1),new Date());
//处于初始状态的添加进第三方oracle库里
insertOracle(code,flowInfo);
}
/**
@ -1000,7 +1162,8 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
//获取当前节点和下个节点对象集合
List<ArchiveFlowRole> currentRoleAndNextRole = flowInfoService.getCurrentRoleAndNextRole(currentStatus, EnumVerify.DocState.MedicalRoomCheck.getCode(),archiveFlowRoles);
//添加流转节点
flowInfoService.insertFlowInfo(master.getId(), master.getRemark(), currentRoleAndNextRole.get(0), currentRoleAndNextRole.get(1), sumbitDate);
ArchiveFlowInfo flowInfo = flowInfoService.insertFlowInfo(master.getId(), master.getRemark(), currentRoleAndNextRole.get(0), currentRoleAndNextRole.get(1), sumbitDate);
insertOracle(0,flowInfo);
//添加纸质位置
paperPostionService.savePaperPostion(master);
}

@ -22,6 +22,12 @@ public class OracleConnect {
private static PreparedStatement pst = null;
public static ResultSet rs = null;
// private String url = "127.0.0.1:1521/ORCL";
// private String userName = "docus";
// private String passWord = "docus702";
private String url = "200.100.100.1:1521/orc1";
private String userName = "Jswzh";
private String passWord = "Jswzh";
/**
*
*/
@ -30,10 +36,10 @@ public class OracleConnect {
if (dataSourceTest == null) {
dataSourceTest = new DruidDataSource();
// 设置连接参数
dataSourceTest.setUrl("jdbc:oracle:thin:@200.100.100.1:1521/orc1");
dataSourceTest.setUrl("jdbc:oracle:thin:@" + url);
dataSourceTest.setDriverClassName("oracle.jdbc.driver.OracleDriver");
dataSourceTest.setUsername("Jswzh");
dataSourceTest.setPassword("Jswzh");
dataSourceTest.setUsername(userName);
dataSourceTest.setPassword(passWord);
dataSourceTest.setInitialSize(3);
dataSourceTest.setMaxActive(10);
}
@ -63,16 +69,27 @@ public class OracleConnect {
* @param conn Connection
* @throws Exception
*/
private static void CloseConn(ResultSet rs, Statement stat, Connection conn)
throws Exception {
private static void CloseConn(ResultSet rs, Statement stat, Connection conn){
if (rs != null) {
rs.close();
try {
rs.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (stat != null) {
stat.close();
try {
stat.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
if (conn != null) {
conn.close();
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
@ -111,11 +128,28 @@ public class OracleConnect {
return str;
}
public static int insert(String sql) throws Exception {
public static int insert(String sql){
Connection conn = new OracleConnect().getConnect();
try {
pst=conn.prepareStatement(sql);
return pst.executeUpdate();
int i = pst.executeUpdate();
conn.commit();
return i;
} catch (SQLException e) {
e.printStackTrace();
throw new RuntimeException("");
}finally {
OracleConnect.CloseConn(null, pst, conn);
}
}
public static int update(String sql) throws Exception {
Connection conn = new OracleConnect().getConnect();
try {
Statement stmt=conn.createStatement();//创建一个Statement对象
int i = stmt.executeUpdate(sql);//执行SQL语句
conn.commit();
return i;
} catch (SQLException e) {
e.printStackTrace();
}finally {

Loading…
Cancel
Save