批量初审

master
zengwh 6 years ago
parent c15ad8a99a
commit a123c85634

@ -23,22 +23,20 @@ public class WebServiceLoad {
@PostConstruct
public void contextInitialized() {
new Thread(() -> {
for (int i = 0; i < 2; i++) {
String token = "ORsaVDUBE1RFRFRETE5BR05ERVQ3JyBURkRGRA==";
String POWER_URLHEAD = PropertiesUtils.getProperty("POWER_JSP");
//创建连接工厂
JAXDynamicClientFactory dcf = JAXDynamicClientFactory.newInstance();
//创建客户端
Client client = dcf.createClient(POWER_URLHEAD + "/WebService/PowerWebService?wsdl");
try {
//动态调用getInfosByUserId方法
client.invoke("getInfosByUserId", token, "emr_medical_record");
} catch (Exception e) {
e.printStackTrace();
}finally {
if(null != client) {
client.destroy();
}
String token = "ORsaVDUBE1RFRFRETE5BR05ERVQ3JyBURkRGRA==";
String POWER_URLHEAD = PropertiesUtils.getProperty("POWER_JSP");
//创建连接工厂
JAXDynamicClientFactory dcf = JAXDynamicClientFactory.newInstance();
//创建客户端
Client client = dcf.createClient(POWER_URLHEAD + "/WebService/PowerWebService?wsdl");
try {
//动态调用getInfosByUserId方法
client.invoke("getInfosByUserId", token, "emr_medical_record");
} catch (Exception e) {
e.printStackTrace();
}finally {
if(null != client) {
client.destroy();
}
}
}).start();

@ -38,9 +38,13 @@ public class Archive_Master_Vo extends Archive_Master{
private Integer role;//操作角色1,2,4
private String roles;//操作角色字符串
private Integer infoId;//流转流程的id
private Integer isSuccess = 0;//是否完整1完整0不完整
private String isSuccess = "0";//是否完整1完整0不完整
private String unSuccessAssortNames;//不完整分类字符串
}

@ -1,6 +1,7 @@
package com.emr.service.ipml;
import com.emr.dao.ArchiveCallbackInfoMapper;
import com.emr.dao.ArchiveFlowRoleMapper;
import com.emr.entity.ArchiveCallbackInfo;
import com.emr.entity.ArchiveFlowRole;
import com.emr.entity.Archive_Master;
@ -49,6 +50,8 @@ public class ArchiveCallbackInfoService {
private ArchiveFlowInfoService archiveFlowInfoService;
@Autowired
private StatisticsService statisticsService;
@Autowired
private ArchiveFlowRoleMapper flowRoleMapper;
/**
*
*
@ -74,7 +77,8 @@ public class ArchiveCallbackInfoService {
String remark = callbackInfo.getCallbackReason();
Integer targetCode = EnumVerify.DocState.CallBacked.getCode();
//获取当前节点和下个节点对象集合
List<ArchiveFlowRole> currentRoleAndNextRole = archiveFlowInfoService.getCurrentRoleAndNextRole(currentCode,targetCode);
List<ArchiveFlowRole> archiveFlowRoles = flowRoleMapper.selectAll();
List<ArchiveFlowRole> currentRoleAndNextRole = archiveFlowInfoService.getCurrentRoleAndNextRole(currentCode,targetCode,archiveFlowRoles);
archiveFlowInfoService.insertFlowInfo(masterId,remark,currentRoleAndNextRole.get(0),currentRoleAndNextRole.get(1),new Date());
//TODO 删除病案资料
callbackInfoMapper.deleteRecordByRecall(masterId);

@ -17,6 +17,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.LinkedList;
import java.util.List;
@ -58,7 +59,7 @@ public class ArchiveFlowInfoService {
* @throws Exception
*/
public Integer insertFlowInfo(String masterId,String remark,ArchiveFlowRole currentRole,ArchiveFlowRole nextRole,Date sumbitDate)throws Exception{
//添加退回流程
//添加流程
ArchiveFlowInfo flowInfo = new ArchiveFlowInfo();
//masterId;
flowInfo.setMasterId(masterId);
@ -110,18 +111,15 @@ public class ArchiveFlowInfoService {
* @param appointNextCode
* @return
*/
public List<ArchiveFlowRole> getCurrentRoleAndNextRole(String currentStatus,Integer appointNextCode){
public List<ArchiveFlowRole> getCurrentRoleAndNextRole(String currentStatus,Integer appointNextCode,List<ArchiveFlowRole> archiveFlowRoles){
List<ArchiveFlowRole> currentRoleAndNextRoleList = new LinkedList<>();
//查询审核角色集合根据有效进行计算状态code
List<ArchiveFlowRole> archiveFlowRoles = flowRoleMapper.selectAll();
//stepIndex:当前步骤
ArchiveFlowRole currentRole = getCurrentRoleByCurrentStatus(currentStatus, archiveFlowRoles);
currentRoleAndNextRoleList.add(currentRole);
if(null != appointNextCode){
//targetStep:下一步骤节点信息
ArchiveFlowRole nextRole = getNextRoleByCurrentStatus(appointNextCode, archiveFlowRoles, currentRole);
currentRoleAndNextRoleList.add(nextRole);
}
//targetStep:下一步骤节点信息
ArchiveFlowRole nextRole = getNextRoleByCurrentStatus(appointNextCode, archiveFlowRoles, currentRole);
currentRoleAndNextRoleList.add(nextRole);
return currentRoleAndNextRoleList;
}
@ -138,11 +136,13 @@ public class ArchiveFlowInfoService {
Date preDate = new Date();
//查询上次节点的时间
//查询上次节点的时间方法参数当前节点的名称,当下个节点为病案室终审不带当前审核名称查询该病案最后审核时间
List<ArchiveFlowInfo> archiveFlowInfos = new ArrayList<>();
String currentName = "";
if(!nextRole.getName().equals(EnumVerify.DocState.MedicalRoomCheck.getName())){
String name = nextRole.getName();
if (StringUtils.isNotBlank(name) && !name.equals(EnumVerify.DocState.MedicalRoomCheck.getName())) {
currentName = currentRole.getName();
}
List<ArchiveFlowInfo> archiveFlowInfos = flowInfoMapper.selectPreInfo(masterId,currentName);
archiveFlowInfos = flowInfoMapper.selectPreInfo(masterId, currentName);
if (null != archiveFlowInfos && !archiveFlowInfos.isEmpty()) {
//存在取最后一次提交时间
preDate = archiveFlowInfos.get(0).getCreatetime();

@ -80,7 +80,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
assort.setIsCheck(1);
List<Zd_Assort> assortList = assortMapper.selectAll(assort);
//循环遍历list集合判断是否完整完整isCheck赋值1且批量更新LockInfo字段为完整
checkSuccess(list, details, assortList);
updateMasterBySuccess(list, details, assortList);
}
}
long end = System.currentTimeMillis();
@ -94,7 +94,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
* @param details
* @param assortList
*/
private void checkSuccess(List<Archive_Master_Vo> list, List<Archive_Detail> details, List<Zd_Assort> assortList) {
private void updateMasterBySuccess(List<Archive_Master_Vo> list, List<Archive_Detail> details, List<Zd_Assort> assortList) {
//循环遍历list集合判断是否完整完整isCheck赋值1且批量更新LockInfo字段为完整
//定义通过完整性校验的masterIds
StringBuilder masterIds = new StringBuilder();
@ -120,7 +120,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
//如果成功匹配个数和需校验分类个数相等,全部匹配
if(successCount == assortList.size()){
//list的isSuccess字段值赋值1
master.setIsSuccess(1);
master.setIsSuccess("1");
//不完整的批量更新为完整
if(!"完整".equals(master.getLockinfo())) {
if (StringUtils.isBlank(masterIds)) {
@ -222,18 +222,18 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
//计算属于哪种审核角色
Msg role = getRole();
if(null != role) {
for (Archive_Master_Vo master_vo : list) {
String archivestate = master_vo.getArchivestate();
for (Archive_Master_Vo masterVo : list) {
String archivestate = masterVo.getArchivestate();
if (StringUtils.isNotBlank(archivestate)) {
//转换中文状态
boolean numeric = isNumeric(archivestate);
if (numeric) {
Integer status = Integer.valueOf(archivestate);
archivestate = EnumVerify.DocState.GetStepName(status, role.getCode());
master_vo.setStatus(archivestate);
masterVo.setStatus(archivestate);
//获取审核按钮和退回按钮集合
String btns = getBtns(status, flowRoles, master_vo.getId());
master_vo.setBtns(btns);
String btns = getBtns(status, flowRoles, masterVo.getId());
masterVo.setBtns(btns);
}
}
}
@ -586,7 +586,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
//循环添加进流转记录和缺陷记录
for(Integer backToCode : backToCodeList){
//获取当前节点和下个节点对象集合
List<ArchiveFlowRole> currentRoleAndNextRole = flowInfoService.getCurrentRoleAndNextRole(targetCode, backToCode);
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);
@ -659,32 +659,122 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
@Override
public Msg updateStateByArchivId(Archive_Master_Vo master) throws Exception{
//修改病案归档状态
//计算审核状态code
String archivestate = master.getArchivestate();
if (StringUtils.isNotBlank(archivestate)) {
Integer code = Integer.valueOf(archivestate);
if (StringUtils.isNotBlank(master.getArchivestate())) {
StringBuilder masterIds = new StringBuilder();
//查询审核角色集合根据有效进行计算状态code
List<ArchiveFlowRole> archiveFlowRoles = flowRoleMapper.selectAll();
Integer role = master.getRole();
//计算状态code
//code:当前状态coderole:角色1医生2护士3护士长archiveFlowRoles根据有效的审核角色进行计算
int statuCode = EnumVerify.DocState.GetNextStepCode(code,role, archiveFlowRoles);
master.setArchivestate(statuCode+"");
//复制对象
Archive_Master archiveMaster = new Archive_Master();
BeanUtils.copyProperties(master,archiveMaster);
//更新
updateByClo(archiveMaster);
//获取当前节点和下个节点对象集合
List<ArchiveFlowRole> currentRoleAndNextRole = flowInfoService.getCurrentRoleAndNextRole(master.getStatus()+"", null);
//添加进流转记录
flowInfoService.insertFlowInfo(master.getId(),master.getRemark(),currentRoleAndNextRole.get(0),new ArchiveFlowRole(),new Date());
return Msg.success();
//获取目前code集合
String[] archivestates = master.getArchivestate().split(",");
//获取主键id集合
String[] ids = master.getId().split(",");
//获取审核角色集合
String[] roleArr = master.getRoles().split(",");
//获取当前操作code集合
String[] roleCodes = master.getStatus().split(",");
//获取资料完整标识集合
String[] isSuccesses = master.getIsSuccess().split(",");
for (int i = 0; i < archivestates.length; i++) {
if(StringUtils.isNotBlank(archivestates[i])){
//完整或只有一个
if("1".equals(isSuccesses[i]) || ids.length == 1){
updateApprove(ids[i],master.getRemark(), roleArr[i], archiveFlowRoles, archivestates[i], roleCodes[i]);
}else{
if(StringUtils.isBlank(masterIds)){
masterIds.append("'").append(ids[i]).append("'");
}else{
masterIds.append(",'").append(ids[i]).append("'");
}
}
}
}
//不完整,根据不完整主键集合组织不对应不完整分类集合
List<Archive_Master_Vo> unSuccessList = new ArrayList<>();
if(StringUtils.isNotBlank(masterIds)){
unSuccessList = selectUnSuccessAssortByMasterIds(masterIds);
}
if(!CollectionUtils.isEmpty(unSuccessList)){
//存在不完整
return Msg.success().add("unSuccessList",unSuccessList);
}else{
//全部完整返回
return Msg.success();
}
} else {
return Msg.fail("初始状态出错了!");
}
}
/**
*
* @param remark
* @param role
* @param archiveFlowRoles
* @param archivestate
* @param masterId
* @param roleCode
* @throws Exception
*/
private void updateApprove(String masterId,String remark, String role, List<ArchiveFlowRole> archiveFlowRoles, String archivestate, String roleCode) throws Exception {
Archive_Master archiveMaster = new Archive_Master();
Integer code = Integer.valueOf(archivestate);
//计算状态code
// code:当前状态coderole:角色1医生2护士3护士长archiveFlowRoles根据有效的审核角色进行计算
int statuCode = EnumVerify.DocState.GetNextStepCode(code,Integer.valueOf(role), archiveFlowRoles);
archiveMaster.setArchivestate(statuCode+"");
archiveMaster.setId(masterId);
//更新
updateByClo(archiveMaster);
//获取当前节点和下个节点对象集合
List<ArchiveFlowRole> currentRoleAndNextRole = flowInfoService.getCurrentRoleAndNextRole(roleCode, null,archiveFlowRoles);
//添加进流转记录
flowInfoService.insertFlowInfo(masterId,remark,currentRoleAndNextRole.get(0),currentRoleAndNextRole.get(1),new Date());
}
/**
* masterId
* @param masterIds
* @return
*/
private List<Archive_Master_Vo> selectUnSuccessAssortByMasterIds(StringBuilder masterIds) {
List<Archive_Master_Vo> list = new ArrayList<>();
if(StringUtils.isNotBlank(masterIds)){
List<Archive_Detail> details = detailMapper.selectAssortIdsByMasterIds(masterIds.toString());
//查询需要校验完整性的分类集合
Zd_Assort assort = new Zd_Assort();
assort.setIsCheck(1);
List<Zd_Assort> assortList = assortMapper.selectAll(assort);
String[] masterIdArr = masterIds.toString().split(",");
for (String masterId:masterIdArr) {
masterId = masterId.replaceAll("\'", "");
Archive_Master_Vo master = new Archive_Master_Vo();
StringBuilder unSuccessAssortNames = new StringBuilder();
for(Zd_Assort assortFor : assortList){
//定义无匹配的分类
boolean flag = false;
for(Archive_Detail detail : details){
//判断主键相同且分类id相同
if(masterId.equals(detail.getMasterid()) && assortFor.getAssortId().equals(detail.getAssortid())){
flag = true;
break;
}
}
//该分类无匹配组织名称集合
if(!flag){
if(StringUtils.isBlank(unSuccessAssortNames)){
unSuccessAssortNames.append(assortFor.getAssortName());
}else{
unSuccessAssortNames.append(",").append(assortFor.getAssortName());
}
}
}
master.setId(masterId);
master.setUnSuccessAssortNames(unSuccessAssortNames.toString());
list.add(master);
}
}
return list;
}
/**
* author:zwh
*
@ -696,6 +786,7 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String ids = master.getId();
String[] idList = ids.split(",");
List<ArchiveFlowRole> archiveFlowRoles = flowRoleMapper.selectAll();
for(String id : idList) {
if(StringUtils.isNotBlank(id)) {
//修改病案归档状态
@ -724,60 +815,11 @@ public class Archive_MasterServiceImpl implements Archive_MasterService {
//是已召回将当前节点code置为病案室审核
String currentStatus = EnumVerify.DocState.MedicalRoomCheck.getCode() + "";
//获取当前节点和下个节点对象集合
List<ArchiveFlowRole> currentRoleAndNextRole = flowInfoService.getCurrentRoleAndNextRole(currentStatus, EnumVerify.DocState.MedicalRoomCheck.getCode());
List<ArchiveFlowRole> currentRoleAndNextRole = flowInfoService.getCurrentRoleAndNextRole(currentStatus, EnumVerify.DocState.MedicalRoomCheck.getCode(),archiveFlowRoles);
//添加流转节点
flowInfoService.insertFlowInfo(master.getId(), master.getRemark(), currentRoleAndNextRole.get(0), currentRoleAndNextRole.get(1), sumbitDate);
}
}
/*//masterId;
flowInfo.setMasterId(master.getId());
//stepIndex:当前步骤
ArchiveFlowRole currentRole = new ArchiveFlowRole();
//查询审核角色集合根据有效进行计算状态code
List<ArchiveFlowRole> archiveFlowRoles = flowRoleMapper.selectAll();
for (ArchiveFlowRole archiveFlowRole:archiveFlowRoles) {
if(archiveFlowRole.getCode().equals(EnumVerify.DocState.MedicalRoomCheck.getCode()+"")){
currentRole = archiveFlowRole;
break;
}
}
flowInfo.setStepIndex(currentRole.getStepIndex());
//startStep:当前步骤name
flowInfo.setStartStep(currentRole.getName());
//sumbitName:按钮名称
flowInfo.setSumbitName(currentRole.getSumbitName());
//targetStep:下一步骤name
flowInfo.setTargetStep("已归档");
//useSeconds:距离上次提交用时s数
Date preDate = new Date();
//查询上次节点的时间
List<ArchiveFlowInfo> archiveFlowInfos = flowInfoMapper.selectPreInfo(master.getId(), currentRole.getName());
if(null != archiveFlowInfos && !archiveFlowInfos.isEmpty()){
//存在取最后一次提交时间
preDate = archiveFlowInfos.get(0).getCreatetime();
}else{
//取出院时间
Archive_Master archiveMaster1 = archiveMasterMapper.selectByPrimaryKey(master.getId());
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dischargeDateTime = archiveMaster1.getDischargeDateTime();
if(StringUtils.isNotBlank(dischargeDateTime)){
preDate = fmt.parse(dischargeDateTime);
}
}
if(null != preDate){
long millis = sumbitDate.getTime() - preDate.getTime();
flowInfo.setUseSeconds(millis/1000);
}
//remark:提交内容
flowInfo.setRemark(master.getRemark());
//userName:提交人用户名
// 从session获取用户名
flowInfo.setUserName(username);
//createtime:提交时间
flowInfo.setSumbitTime(sumbitDate);
//createtime:创建时间
flowInfo.setCreatetime(new Date());
flowInfoMapper.insert(flowInfo);*/
}
/**

@ -538,7 +538,7 @@
<div class="row divCss2">
<span style="vertical-align:center;">评分:</span><input id="score" type="number" class="input-sm " min="1"/> 分
</div>
<div class="row divCss22">
<div class="row divCss22" style="margin-left: 0!important;">
<span>退给角色:</span>
<label id="returnDoctor" style="display: none"><input type="checkbox" name="returntoRole" class="returntoRole" value="DOCTOR"/>医生</label>
<label id="returnNurse" style="display: none"><input type="checkbox" name="returntoRole" value="NURSE"/>护士</label>
@ -575,6 +575,7 @@
<input id="roleCode" type="hidden"/>
<input id="archivestate" type="hidden"/>
<input id="role" type="hidden"/>
<input id="isSuccess" type="hidden"/>
<input id="approveCount" type="hidden"/>
<span style="vertical-align:top;">内容:</span><textarea rows="6" cols="70" id="verifyText"
maxlength="255"></textarea>
@ -633,6 +634,26 @@
</div>
</div>
</div>
<%--审核完成不完整表格弹窗--%>
<div class="modal fade verifyModal" id="unSuccessModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">
<div class="modal-content ">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
<h4 class="modal-title">批量审批结果</h4>
</div>
<h1 style="text-align: center" id="returnInfo"></h1>
<div class="modal-body">
<table id="table4" class="table text-nowrap table-striped"></table>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default btn-sm" data-dismiss="modal">关闭</button>
</div>
</div>
</div>
</div>
<%--查看流程弹窗--%>
<div class="modal fade" id="showFlowInfo" role="dialog" aria-labelledby="exampleModalLabel">
<div class="modal-dialog" role="document">

@ -1,4 +1,5 @@
var tipLoad = 1;
//列表复选框选中数组
var selects = '';
//出院列表
function initTable() {
@ -142,7 +143,7 @@ function initTable() {
align: 'center',
valign: 'middle',
formatter:function(value, row){
if(value == 0){
if(value == '0'){
return '<span style="color:red">否</span>';
}
}
@ -262,40 +263,41 @@ function initTable3() {
striped: true, //是否显示行间隔色
pagination: true, // 在表格底部显示分页组件默认false
pageSize:"5",
sidePagination: 'client',
pageList: [5,10,20,50,100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
undefinedText: '---', //当数据为 undefined 时显示的字符
height: 240, //定义表格的高度。
height: 230, //定义表格的高度。
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
columns: [
{
title: '住院号',
field: 'inpNo',
align: 'left',
valign: 'middle',
valign: 'middle'
},
{
title: '住院次数',
field: 'visitId',
align: 'center',
valign: 'middle',
valign: 'middle'
},
{
title: '姓名',
field: 'name',
align: 'left',
valign: 'middle',
valign: 'middle'
},
{
title: '性别',
field: 'sex',
align: 'center',
valign: 'middle',
valign: 'middle'
},
{
title: '出院科室',
field: 'deptName',
align: 'left',
valign: 'middle',
valign: 'middle'
},
{
title: '出院日期',
@ -317,19 +319,70 @@ function initTable3() {
onLoadError: function () { //加载失败时执行
}
});
getTdValue();
}
//
function getTdValue(){
var tableId = document.getElementById("table3");
for(var i = 1;i < tableId.rows.length;i++) {
console.log(tableId.rows[i])
if(tableId.rows[i].cells[x].innerHTML.indexOf("否") != -1 ){
tableId.rows[i].setAttribute("style","background: red;");
//审批存在不完整列表
function initTable4(data) {
$("#table4").bootstrapTable("destroy");
$("#table4").bootstrapTable({ // 对应table标签的id
data: data, // 获取表格数据的url
cache: false, // 设置为 false 禁用 AJAX 数据缓存, 默认为true
striped: true, //是否显示行间隔色
pagination: true, // 在表格底部显示分页组件默认false
sidePagination: 'client',
pageSize:"5",
pageList: [5,10,20,50,100], // 如果设置了分页设置可供选择的页面数据条数。设置为All 则显示所有记录。
undefinedText: '---', //当数据为 undefined 时显示的字符
height: 230, //定义表格的高度。
paginationDetailHAlign: 'left',//指定 分页详细信息 在水平方向的位置。'left' 或 'right'。
columns: [
{
title: '住院号',
field: 'inpNo',
align: 'left',
valign: 'middle'
},
{
title: '住院次数',
field: 'visitId',
align: 'center',
valign: 'middle'
},
{
title: '姓名',
field: 'name',
align: 'left',
valign: 'middle'
},
{
title: '出院科室',
field: 'deptName',
align: 'left',
valign: 'middle'
},
{
title: '出院日期',
field: 'dischargeDateTime',
align: 'center',
formatter: function (value, row, index) {
return operDisDate(value);
}
},
{
title: '缺失资料',
field: 'unSuccessAssortNames',
align: 'left',
formatter: function (value) {
return '<span style="color: red">'+value+'</span>';
}
}
],
onLoadSuccess: function (result) { //加载成功时执行
$(".page-list").show();
},
onLoadError: function () { //加载失败时执行
}
}
});
}
//格式化状态
function paramsMatter(value, row) {
var result = '';
@ -343,8 +396,10 @@ function paramsMatter(value, row) {
return value;
}
//审核弹窗
//审核弹窗 单个审批①
function verifyInfo(role,archivestate,roleCode,masterId){
//赋值审批一个
$("#approveCount").val(1);
//查询his判断医生护士是否全部提交
var result = 1;
//result = selectHis(row);
@ -365,9 +420,10 @@ function verifyInfo(role,archivestate,roleCode,masterId){
toastr.warning("his系统医生或护士未完成提交");
}
}
//提交审核
//提交审核 单个审批② 批量审批③
$("#verifyBtn").on('click', function () {
//生成表单token,防止表单重复提交
setFormToken();
var approveCount = $("#approveCount").val();
if(approveCount > 1) {
//大于一个弹出确认框
@ -383,8 +439,7 @@ $("#verifyBtn").on('click', function () {
var id = $("#archiveId").val();
//归档状态改为初审还是有就是初审内容保存
//判断完整性
var result = '';
result = checkSuccessMethod(id);
var result = checkSuccessMethod(id);
if (result != '完整') {
$("#verifyModal").modal('hide');
$("#resultLabel").text("完整性未通过:" + result + ",是否强制提交?");
@ -395,11 +450,16 @@ $("#verifyBtn").on('click', function () {
});
} else {
$("#verifyModal").modal('hide');
save();
save(1,'');
}
}
});
//批量初审功能
//强制提交 单个审批③
$("#wzSaveBtn").on('click', function () {
save(1,'');
});
//批量初审功能 批量审批①
$("#approvesBtn").on('click', function () {
selects = $("#table").bootstrapTable('getSelections');
var count = selects.length;
@ -411,22 +471,33 @@ $("#approvesBtn").on('click', function () {
var ids = '';
var roleCode = '';
var archivestate = '';
var isSuccess = '';
var roles = '';
for (var i = 0; i < count; i++) {
//需要审批的对象
var power = selects[i].btns;
if(power != '') {
approveCount++;
//赋值审批角色
var role = power.split("(")[1].split(",")[0];
//赋值审批code
var roleCodeTemp = power.split("(")[1].split(",")[2];
//获取当前code
var status = selects[i].archivestate;
if (i === 0) {
ids += selects[i].id;
roles += role;
roleCode += roleCodeTemp;
archivestate += status;
isSuccess += selects[i].isSuccess;
} else {
ids += "," + selects[i].id;
roles += "," + role;
roleCode += "," + roleCodeTemp;
archivestate += "," + status;
isSuccess += "," + selects[i].isSuccess;
}
$("#role").val(roles);
}else{
unSelects.push(i);
}
@ -445,67 +516,82 @@ $("#approvesBtn").on('click', function () {
}
}
}
callApproveDiag(ids,roleCode,archivestate,approveCount);
callApproveDiag(ids,roleCode,archivestate,isSuccess,approveCount);
}
}else{
toastr.warning("批量审批请至少选中一个");
}
});
//调用审批diag
function callApproveDiag(ids,roleCode,archivestate,approveCount) {
setFormToken();
$('#verifyModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
//调用审批diag 批量审批②
function callApproveDiag(ids,roleCode,archivestate,isSuccess,approveCount) {
$('#verifyModal').modal('show');
$("#archiveId").val(ids);
$("#roleCode").val(roleCode);
$("#archivestate").val(archivestate);
$("#isSuccess").val(isSuccess);
$("#verifyText").val("");
//审批个数
$("#approveCount").val(approveCount);
}
//终审功能
$("#verifyBtn").on('click', function () {
//审核信息保存
//获取审批个数
var approveCount = $("#approveCount").val();
if(approveCount > 1){
//大于一个弹出确认框
$("#verifyModal").modal('hide');
$('#sureModal').modal({
backdrop: 'static',//backdrop 为 static 时,点击模态对话框的外部区域不会将其关闭。
keyboard: false,//keyboard 为 false 时,按下 Esc 键不会关闭 Modal。
show: true//弹出对话框
});
}else{
//只有一个直接提交
approveMethod();
}
});
//提交审核方法
function save(){
//批量初审确认 批量审批④
$("#sureBtn").click(function(){
//生成表单token,防止表单重复提交
setFormToken();
//计算完整与不完整个数及不完整集合
var successCount = 0;
var failCount = 0;
var failSelects = [];
for (var i = 0; i < selects.length; i++) {
var isSuccess = selects[i].isSuccess;
if(isSuccess == '0'){
failCount++;
failSelects.push(selects[i]);
}else{
successCount++;
}
}
save(successCount,failSelects);
})
//提交后台审核
function save(successCount,failSelects){
var id = $("#archiveId").val();
var roleCode = $("#roleCode").val();
var firstTrial = $("#verifyText").val();
var archivestate = $("#archivestate").val();
var isSuccess = $("#isSuccess").val();
var role = $("#role").val();
$.ajax({
url: path+"/beHosp/updateStateByArchivId",
type: "POST",
data: {id: id, remark: firstTrial,archivestate:archivestate, status: roleCode,role:role,formToken:$("#formToken").val()},
data: {id: id, remark: firstTrial,archivestate:archivestate, isSuccess:isSuccess,status: roleCode,roles:role,formToken:$("#formToken").val()},
dataType:'json',
success: function (data) {
if(data.code == 100){
$("#WZModal").modal('hide');
var failList = data.extend.unSuccessList;
if(failList != undefined){
//存在不完整
for (var i = 0; i < failSelects.length; i++) {
for (var j = 0; j < failList.length; j++) {
var masterId = failList[j].id.replace(/\'/g, "");
if(failSelects[i].id == masterId){
failSelects[i].unSuccessAssortNames = failList[j].unSuccessAssortNames;
}
}
}
//赋值审核集合
var returnInfo = '审批成功'+successCount+'个,资料缺失审批失败'+failSelects.length+'个';
$("#returnInfo").text(returnInfo);
//加载表格
initTable4(failSelects);
$('#unSuccessModal').modal('show');
}else{
$("#verifyModal").modal('hide');
$("#WZModal").modal('hide');
toastr.success("审核成功!");
}
$("#sureModal").modal('hide');
$("#table").bootstrapTable("refresh");
toastr.success("审核成功!");
}else{
toastr.error(data.msg);
}
@ -513,11 +599,6 @@ function save(){
});
}
//强制提交
$("#wzSaveBtn").on('click', function () {
save();
});
//查看退回信息
$("#getRecallBtn").on('click', function () {
//退回信息保存

Loading…
Cancel
Save