不可重复提交和重复撤销

master
hujl 4 years ago
parent 5c575390db
commit 1531014c94

@ -280,149 +280,166 @@ public class beHospitaledController {
return "请不要重复提交!";
}
response.setCharacterEncoding("utf-8");
// 从session获取用户名
Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER");
String username = user.getUserName();//获取前面登录的用户名
String handleName = user.getUserPosition();
String result="";
//判断该病案是否已经是提交,如果是提交,则前端提示并进行刷新表格
Archive_Master archiveMaster=new Archive_Master();
archiveMaster.setId(archiveMasterVo.getId());
archiveMaster.setCmtDoctor(archiveMasterVo.getCmtDoctor());
archiveMaster.setCmtNurse(archiveMasterVo.getCmtNurse());
Emr_Staff_Remark emrStaffRemark=new Emr_Staff_Remark();
emrStaffRemark.setEffective(1);
emrStaffRemark.setMasterId(archiveMasterVo.getId());
emrStaffRemark.setContent(archiveMasterVo.getContent());
Archive_Master_Following archive_master_following = new Archive_Master_Following();
archive_master_following.setMasterId(archiveMasterVo.getId());
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime = format1.format(new Date());
String result="";
int bol =0;
//判断id 不为空
if(!archiveMaster.getId().equals("")&&!archiveMaster.equals(null)) {
Archive_Master obj=archiveMasterService.selectById(archiveMaster.getId());
//病案记录存在
if(obj!=null) {
//如果是医生提交判断医生是否有缺陷未处理,如果是护士提交判断护士是否有缺陷未处理
//查询该病案号缺陷,如果有医生就退回医生如果有护士则退回护士否则不退回提示
Emr_Fault_Detail entityFault=new Emr_Fault_Detail();
entityFault.setArchiveDetailId(archiveMaster.getId());
List<Emr_Fault_Detail> faultList=emrFaultDetailService.selectByArchiveId(entityFault);
int doctorFlagNum=0;
int nurseFlagNum=0;
if(faultList!=null && faultList.size()>0){
//1医生 2护士
for (int k = 0; k < faultList.size(); k++) {
if ("1".equals(faultList.get(k).getBackFlag()) || "5".equals(faultList.get(k).getBackFlag())) {
doctorFlagNum+=1;
}
if ("2".equals(faultList.get(k).getBackFlag()) || "6".equals(faultList.get(k).getBackFlag())) {
nurseFlagNum+=1;
//不为初审、主任退回,且医生未提交或护士未提交
if((!obj.getArchivestate().equals("初审") || !obj.getArchivestate().equals("主任退回")) && (obj.getCmtDoctor()!=1 && archiveMasterVo.getCmtDoctor()==1)||(obj.getCmtNurse()!=1 && archiveMasterVo.getCmtNurse()==1)){
// 从session获取用户名
Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER");
String username = user.getUserName();//获取前面登录的用户名
String handleName = user.getUserPosition();
archiveMaster.setCmtDoctor(archiveMasterVo.getCmtDoctor());
archiveMaster.setCmtNurse(archiveMasterVo.getCmtNurse());
Emr_Staff_Remark emrStaffRemark=new Emr_Staff_Remark();
emrStaffRemark.setEffective(1);
emrStaffRemark.setMasterId(archiveMasterVo.getId());
emrStaffRemark.setContent(archiveMasterVo.getContent());
Archive_Master_Following archive_master_following = new Archive_Master_Following();
archive_master_following.setMasterId(archiveMasterVo.getId());
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime = format1.format(new Date());
int bol =0;
// Archive_Master obj=archiveMasterService.selectById(archiveMaster.getId());
//如果是医生提交判断医生是否有缺陷未处理,如果是护士提交判断护士是否有缺陷未处理
//查询该病案号缺陷,如果有医生就退回医生如果有护士则退回护士否则不退回提示
Emr_Fault_Detail entityFault=new Emr_Fault_Detail();
entityFault.setArchiveDetailId(archiveMaster.getId());
List<Emr_Fault_Detail> faultList=emrFaultDetailService.selectByArchiveId(entityFault);
int doctorFlagNum=0;
int nurseFlagNum=0;
if(faultList!=null && faultList.size()>0){
//1医生 2护士
for (int k = 0; k < faultList.size(); k++) {
if ("1".equals(faultList.get(k).getBackFlag()) || "5".equals(faultList.get(k).getBackFlag())) {
doctorFlagNum+=1;
}
if ("2".equals(faultList.get(k).getBackFlag()) || "6".equals(faultList.get(k).getBackFlag())) {
nurseFlagNum+=1;
}
}
}
}
//修改病案归档状态
if (archiveMaster.getCmtDoctor()==1) {
if(doctorFlagNum==0) {
//医生提交(医生和护士同时提交后,归档状态变更为:提交)
if (obj.getCmtNurse() == 1) {
archiveMaster.setArchivestate("提交");
archiveMaster.setCmtNurse(1);
//修改病案归档状态
if (archiveMaster.getCmtDoctor()==1 && obj.getCmtDoctor()!=1) {
if(doctorFlagNum==0) {
//医生提交(医生和护士同时提交后,归档状态变更为:提交)
if (obj.getCmtNurse() == 1) {
archiveMaster.setArchivestate("提交");
archiveMaster.setCmtNurse(1);
}
archiveMaster.setCmtDoctor(1);
archiveMaster.setDoctorName(username);
archiveMaster.setCmtDoctorDate(nowTime);
//添加医生备注记录
emrStaffRemark.setTypeFlag(0);
List<Emr_Staff_Remark> list = emrStaffRemarkService.selectByCol(emrStaffRemark);
if (list != null && list.size() > 0) {
//修改
list.get(0).setUpdateTime(nowTime);
list.get(0).setUpdater(username);
list.get(0).setContent(archiveMasterVo.getContent());
list.get(0).setUpdateTime(nowTime);
bol = emrStaffRemarkService.updateByClo(list.get(0));
} else {
//插入
emrStaffRemark.setCreater(username);
emrStaffRemark.setCreateTime(nowTime);
bol = emrStaffRemarkService.insertClo(emrStaffRemark);
}
//following表中添加归档医生提交操作记录
archive_master_following.setFollowingType("1");//followingType=1 归档医生提交
archive_master_following.setFollowingContent("主管医生提交");
archive_master_following.setHandleTime(nowTime);
archive_master_following.setHandleId(username);
archive_master_following.setHandleName(handleName);
bol = archive_master_followingService.insertSelective(archive_master_following);
//addArchiveOther(archiveMasterVo);
}else{
result = "医生提交失败,存在缺陷未处理!";
}
archiveMaster.setCmtDoctor(1);
archiveMaster.setDoctorName(username);
archiveMaster.setCmtDoctorDate(nowTime);
//添加医生备注记录
emrStaffRemark.setTypeFlag(0);
List<Emr_Staff_Remark> list = emrStaffRemarkService.selectByCol(emrStaffRemark);
if (list != null && list.size() > 0) {
//修改
list.get(0).setUpdateTime(nowTime);
list.get(0).setUpdater(username);
list.get(0).setContent(archiveMasterVo.getContent());
list.get(0).setUpdateTime(nowTime);
bol = emrStaffRemarkService.updateByClo(list.get(0));
} else {
//插入
emrStaffRemark.setCreater(username);
emrStaffRemark.setCreateTime(nowTime);
bol = emrStaffRemarkService.insertClo(emrStaffRemark);
} else if (archiveMaster.getCmtNurse()==1 && obj.getCmtNurse()!=1) {
if(nurseFlagNum==0) {
//护士提交(医生和护士同时提交后,归档状态变更为:提交)
if (obj.getCmtDoctor() == 1) {
archiveMaster.setArchivestate("提交");
archiveMaster.setCmtDoctor(1);
}
archiveMaster.setCmtNurse(1);
archiveMaster.setNurseName(username);
archiveMaster.setCmtNurseDate(nowTime);
//添加护士备注记录
emrStaffRemark.setTypeFlag(1);
List<Emr_Staff_Remark> list = emrStaffRemarkService.selectByCol(emrStaffRemark);
if (list != null && list.size() > 0) {
//修改
list.get(0).setUpdater(username);
list.get(0).setUpdateTime(nowTime);
list.get(0).setContent(archiveMasterVo.getContent());
bol = emrStaffRemarkService.updateByClo(list.get(0));
} else {
//插入
emrStaffRemark.setCreater(username);
emrStaffRemark.setCreateTime(nowTime);
bol = emrStaffRemarkService.insertClo(emrStaffRemark);
}
//following表中添加归档护士提交操作记录
archive_master_following.setFollowingType("3");
archive_master_following.setFollowingContent("护士长提交");
archive_master_following.setHandleTime(nowTime);
archive_master_following.setHandleId(username);
archive_master_following.setHandleName(handleName);
bol = archive_master_followingService.insertSelective(archive_master_following);
}else{
result = "护士提交失败,存在缺陷未处理!";
}
//following表中添加归档医生提交操作记录
archive_master_following.setFollowingType("1");//followingType=1 归档医生提交
archive_master_following.setFollowingContent("主管医生提交");
archive_master_following.setHandleTime(nowTime);
archive_master_following.setHandleId(username);
archive_master_following.setHandleName(handleName);
bol = archive_master_followingService.insertSelective(archive_master_following);
//addArchiveOther(archiveMasterVo);
}else{
result = "医生提交失败,存在缺陷未处理!";
}
} else if (archiveMaster.getCmtNurse()==1) {
if(nurseFlagNum==0) {
//护士提交(医生和护士同时提交后,归档状态变更为:提交)
if (obj.getCmtDoctor() == 1) {
archiveMaster.setArchivestate("提交");
archiveMaster.setCmtDoctor(1);
if(bol==1) {
archiveMaster.setIsscaned(archiveMasterVo.getIsscaned());
archiveMaster.setLockinfo(archiveMasterVo.getLockinfo());
bol = archiveMasterService.updateByClo(archiveMaster);
if(archiveMaster.getCmtDoctor()!=obj.getCmtDoctor()) {
result = "归档医生提交";
}else if(archiveMaster.getCmtNurse()!=obj.getCmtNurse()){
result = "归档护士提交";
}
archiveMaster.setCmtNurse(1);
archiveMaster.setNurseName(username);
archiveMaster.setCmtNurseDate(nowTime);
//添加护士备注记录
emrStaffRemark.setTypeFlag(1);
List<Emr_Staff_Remark> list = emrStaffRemarkService.selectByCol(emrStaffRemark);
if (list != null && list.size() > 0) {
//修改
list.get(0).setUpdater(username);
list.get(0).setUpdateTime(nowTime);
list.get(0).setContent(archiveMasterVo.getContent());
bol = emrStaffRemarkService.updateByClo(list.get(0));
} else {
//插入
emrStaffRemark.setCreater(username);
emrStaffRemark.setCreateTime(nowTime);
bol = emrStaffRemarkService.insertClo(emrStaffRemark);
if(bol==1){
result+="成功!";
}else{
result+= "失败!";
}
//following表中添加归档护士提交操作记录
archive_master_following.setFollowingType("3");
archive_master_following.setFollowingContent("护士长提交");
archive_master_following.setHandleTime(nowTime);
archive_master_following.setHandleId(username);
archive_master_following.setHandleName(handleName);
bol = archive_master_followingService.insertSelective(archive_master_following);
}else{
result = "护士提交失败,存在缺陷未处理!";
}
}
if(bol==1) {
archiveMaster.setIsscaned(archiveMasterVo.getIsscaned());
archiveMaster.setLockinfo(archiveMasterVo.getLockinfo());
bol = archiveMasterService.updateByClo(archiveMaster);
if(archiveMaster.getCmtDoctor()!=obj.getCmtDoctor()) {
result = "归档医生提交";
}else if(archiveMaster.getCmtNurse()!=obj.getCmtNurse()){
result = "归档护士提交";
}
if(bol==1){
result+="成功!";
}else{
result+= "失败!";
return "请不要重复提交!";
}
}else{
return "请不要重复提交!";
}
}else{
result = "病案不存在!";
}
}else{
result="病案不存在!";
result = "病案不存在!";
}
return result;
}
@ -456,7 +473,8 @@ public class beHospitaledController {
@RequestMapping(value = "/getDoctorInCharge")
public List<Archive_Master> getDoctorInCharge(HttpServletResponse response, Archive_Master archiveMaster) throws Exception {
//根据目前账号所在科室获取主管医生列表
return archiveMasterService.getDoctorInCharge(archiveMaster);
List<Archive_Master> list=archiveMasterService.getDoctorInCharge(archiveMaster);
return list;
}
@Transactional
@ -470,60 +488,65 @@ public class beHospitaledController {
response.setCharacterEncoding("utf-8");
Archive_Master archiveMaster=new Archive_Master();
archiveMaster.setId(archiveMasterVo.getId());
Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER");
String username = user.getUserName();//工号
String handleName = user.getUserPosition();//姓名
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime = format1.format(new Date());
String result="";
int bol =0;
//判断id 不为空
if(!"".equals(archiveMaster.getId()) && archiveMaster.getId() != null) {
Archive_Master obj = archiveMasterService.selectById(archiveMaster.getId());
if (obj!=null){
Archive_Master_Following archiveMasterFollowing = new Archive_Master_Following();
archiveMasterFollowing.setMasterId(archiveMasterVo.getId());
//backRole=1医生撤销
if (backRole == 1){
//医生撤回操作
archiveMaster.setCmtDoctorDate("");
archiveMaster.setDoctorName("");
archiveMaster.setCmtDoctor(0);
//following表中添加归档医生撤回操作记录
archiveMasterFollowing.setFollowingType("2");
archiveMasterFollowing.setFollowingContent("主管医生撤回提交");
archiveMasterFollowing.setHandleTime(nowTime);
archiveMasterFollowing.setHandleId(username);
archiveMasterFollowing.setHandleName(handleName);
bol = archive_master_followingService.insertSelective(archiveMasterFollowing);
result="归档医生撤回成功!";
}else if(backRole == 2){
//backRole=2护士撤销
//护士撤回操作
archiveMaster.setCmtNurseDate("");
archiveMaster.setNurseName("");
archiveMaster.setCmtNurse(0);
//following表中添加归档护士撤回操作记录
archiveMasterFollowing.setFollowingType("4");
archiveMasterFollowing.setFollowingContent("护士长撤回提交");
archiveMasterFollowing.setHandleTime(nowTime);
archiveMasterFollowing.setHandleId(username);
archiveMasterFollowing.setHandleName(handleName);
bol = archive_master_followingService.insertSelective(archiveMasterFollowing);
result="归档护士撤回成功!";
}
archiveMaster.setIsscaned(archiveMasterVo.getIsscaned());
//撤回后状态改为0
archiveMaster.setIsscaned("0");
bol=archiveMasterService.updateByClo(archiveMaster);
if (bol!=1){
if (archiveMasterVo.getCmtDoctor()==0){
result="归档医生撤回失败!";
//不重复撤销
if(obj.getArchivestate().equals("归档中") && (obj.getCmtDoctor()!=0 && archiveMasterVo.getCmtDoctor()==0)||(obj.getCmtNurse()!=0 && archiveMasterVo.getCmtNurse()==0)){
Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER");
String username = user.getUserName();//工号
String handleName = user.getUserPosition();//姓名
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String nowTime = format1.format(new Date());
Archive_Master_Following archiveMasterFollowing = new Archive_Master_Following();
archiveMasterFollowing.setMasterId(archiveMasterVo.getId());
//backRole=1医生撤销
if (backRole == 1){
//医生撤回操作
archiveMaster.setCmtDoctorDate("");
archiveMaster.setDoctorName("");
archiveMaster.setCmtDoctor(0);
//following表中添加归档医生撤回操作记录
archiveMasterFollowing.setFollowingType("2");
archiveMasterFollowing.setFollowingContent("主管医生撤回提交");
archiveMasterFollowing.setHandleTime(nowTime);
archiveMasterFollowing.setHandleId(username);
archiveMasterFollowing.setHandleName(handleName);
bol = archive_master_followingService.insertSelective(archiveMasterFollowing);
result="归档医生撤回成功!";
}else if(backRole == 2){
//backRole=2护士撤销
//护士撤回操作
archiveMaster.setCmtNurseDate("");
archiveMaster.setNurseName("");
archiveMaster.setCmtNurse(0);
//following表中添加归档护士撤回操作记录
archiveMasterFollowing.setFollowingType("4");
archiveMasterFollowing.setFollowingContent("护士长撤回提交");
archiveMasterFollowing.setHandleTime(nowTime);
archiveMasterFollowing.setHandleId(username);
archiveMasterFollowing.setHandleName(handleName);
bol = archive_master_followingService.insertSelective(archiveMasterFollowing);
result="归档护士撤回成功!";
}
if (archiveMasterVo.getCmtNurse()==0){
result="归档护士撤回失败!";
archiveMaster.setIsscaned(archiveMasterVo.getIsscaned());
//撤回后状态改为0
archiveMaster.setIsscaned("0");
bol=archiveMasterService.updateByClo(archiveMaster);
if (bol!=1){
if (archiveMasterVo.getCmtDoctor()==0){
result="归档医生撤回失败!";
}
if (archiveMasterVo.getCmtNurse()==0){
result="归档护士撤回失败!";
}
}
}else{
result = "请不要重复撤回!";
}
}else{
result = "病案不存在!";
@ -531,6 +554,7 @@ public class beHospitaledController {
}else{
result="病案不存在!";
}
return result;
}

@ -372,7 +372,8 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService {
emr_fault_vo.setEndDateTo(followList.get(i - 1).getHandleTime());
}
}else{
emr_fault_vo.setStartDateTo(followList.get(i).getHandleTime());
//第一次签收
emr_fault_vo.setStartDateTo("2000-01-01 01:00:00");
emr_fault_vo.setEndDateTo(followList.get(i).getHandleTime());
}
break;
@ -445,7 +446,8 @@ public class Emr_Fault_DetailServiceImpl implements Emr_Fault_DetailService {
emr_fault_vo.setEndDateTo(followList.get(i - 1).getHandleTime());
}
}else{
emr_fault_vo.setStartDateTo(followList.get(i).getHandleTime());
//第一次签收
emr_fault_vo.setStartDateTo("2000-01-01 01:00:00");
emr_fault_vo.setEndDateTo(followList.get(i).getHandleTime());
}
break;

@ -934,9 +934,10 @@
</if>
ORDER BY discharge_date_time desc
</select>
<!-- m.ArchiveState in('归档中','初审','提交','主任退回')-->
<select id="getDoctorInCharge" parameterType="com.emr.entity.Archive_Master" resultMap="BaseResultMap">
select DISTINCT m.DOCTOR_IN_CHARGE from archive_master m
where 1=1 --m.ArchiveState in('归档中','初审','提交','主任退回')
where 1=1
<if test="archivestate!= null and archivestate!= ''">
and m.ArchiveState in
<foreach item="item" collection="archivestate.split(',')" open="(" separator="," close=")">

@ -792,7 +792,7 @@
<div class="form-group">
<label class="col-sm-3 control-label">护士文书:</label>
<div class="col-sm-7">
<button type="button" class="btn btn-info btn-sm button5" id="button5" name="button5"style="width:"100>护士文书采集 </button>
<button type="button" class="btn btn-info btn-sm button5" id="button5" name="button5"style="width:100px">护士文书采集 </button>
</div>
</div>
</div>
@ -1167,8 +1167,8 @@
</div>
</div>
<iframe id="collection_page" name="collection_page" style="width:1500px;height:640px">
</iframe>
<%--<iframe id="collection_page" name="collection_page" style="width:1500px;height:640px">
</iframe>--%>
<%--审核弹窗--%>
<div class="modal fade" id="verifyModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
@ -1635,7 +1635,7 @@
$(function () {
initTableLg();
//initTableLg();
getFaultType();
var objUrl;
var img_html;
@ -2721,6 +2721,8 @@
$("#table").bootstrapTable("refresh");
toastr.success("归档医生提交成功!");
} else {
console.log("===================归档医生提交=================");
$("#table").bootstrapTable("refresh");
toastr.warning(result);
}
}
@ -2779,6 +2781,8 @@
$("#table").bootstrapTable("refresh");
toastr.success("归档护士提交成功!");
} else {
console.log("===================归档护士提交=================");
$("#table").bootstrapTable("refresh");
toastr.error(result);
}
}
@ -2833,17 +2837,24 @@
data: entity,
success: function (result) {
$("#WZModal2").modal('hide');
if (flag == 0) {
$("#doctorModal").modal('hide');
}else{
$("#nursModal").modal('hide');
}
$("#table").bootstrapTable("refresh");
if (result.indexOf("成功") != -1) {
if (flag == 0) {
$("#doctorModal").modal('hide');
$("#table").bootstrapTable("refresh");
//$("#doctorModal").modal('hide');
//$("#table").bootstrapTable("refresh");
toastr.success("归档医生提交成功!");
} else if (flag == 1) {
$("#nursModal").modal('hide');
$("#table").bootstrapTable("refresh");
//$("#nursModal").modal('hide');
// $("#table").bootstrapTable("refresh");
toastr.success("归档护士提交成功!");
}
} else {
// $("#table").bootstrapTable("refresh");
toastr.warning(result);
}
}
@ -4564,11 +4575,11 @@
data: {id: idCmt,backRole:$("#backRole").val(),formToken:$("#formToken1").val()},
success: function (result) {
if (result.indexOf("成功") != -1) {
$("#table").bootstrapTable("refresh");
toastr.success(result);
} else {
toastr.error(result);
toastr.warning(result);
}
$("#table").bootstrapTable("refresh");
}
});

Loading…
Cancel
Save