潮州人医快速借阅、快速归还

master
linjj 2 years ago
parent 8d559dd7bd
commit c19f6cea51

@ -1,5 +1,6 @@
package com.emr.controller; package com.emr.controller;
import com.emr.dto.FastBorrowingDto;
import com.emr.entity.BatchApplyDetails; import com.emr.entity.BatchApplyDetails;
import com.emr.service.BatchApplyDetails.BatchApplyDetailsService; import com.emr.service.BatchApplyDetails.BatchApplyDetailsService;
import com.emr.util.ExceptionPrintUtil; import com.emr.util.ExceptionPrintUtil;
@ -9,6 +10,7 @@ import com.emr.vo.commomSearch.CommomVo;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo; import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.Model; import org.springframework.ui.Model;
@ -70,13 +72,13 @@ public class BatchApplyDetailsController {
*/ */
@RequestMapping("getBatchApplyDetails") @RequestMapping("getBatchApplyDetails")
@ResponseBody @ResponseBody
public PageInfo getBatchApplyDetails(Integer page, Integer limit, int batchId,String inpatientNo) { public PageInfo getBatchApplyDetails(Integer page, Integer limit, int batchId, String inpatientNo) {
if (null != page && null != limit) { if (null != page && null != limit) {
PageHelper.startPage(page, limit); PageHelper.startPage(page, limit);
} }
try { try {
//查询 //查询
List<BatchApplyDetails> list = batchApplyDetailsService.getBatchApplyDetails(batchId,inpatientNo); List<BatchApplyDetails> list = batchApplyDetailsService.getBatchApplyDetails(batchId, inpatientNo);
return new PageInfo<>(list); return new PageInfo<>(list);
} catch (Exception e) { } catch (Exception e) {
ExceptionPrintUtil.printException(e); ExceptionPrintUtil.printException(e);
@ -97,11 +99,8 @@ public class BatchApplyDetailsController {
if (StringUtils.isBlank(batchBorrowingVo.getPatientIds())) { if (StringUtils.isBlank(batchBorrowingVo.getPatientIds())) {
return Msg.fail("病案主键为空"); return Msg.fail("病案主键为空");
} }
int i = batchApplyDetailsService.addBatchBorrowing(batchBorrowingVo); Msg msg = batchApplyDetailsService.addBatchBorrowing(batchBorrowingVo);
if (i == 0) { return msg;
return Msg.fail("批量申请保存失败");
}
return Msg.success("批量申请保存成功");
} }
/** /**
@ -113,8 +112,8 @@ public class BatchApplyDetailsController {
*/ */
@RequestMapping("deleteById") @RequestMapping("deleteById")
@ResponseBody @ResponseBody
public int deleteById(int id,int batchId) { public int deleteById(int id, int batchId) {
return batchApplyDetailsService.deleteById(id,batchId); return batchApplyDetailsService.deleteById(id, batchId);
} }
/** /**
@ -139,7 +138,90 @@ public class BatchApplyDetailsController {
*/ */
@RequestMapping("agreeById") @RequestMapping("agreeById")
@ResponseBody @ResponseBody
public int agreeById(String ids,Integer batchId) { public int agreeById(String ids, Integer batchId) {
return batchApplyDetailsService.agreeById(ids,batchId); return batchApplyDetailsService.agreeById(ids, batchId);
}
/**
* @description:
* @params: barCode
* @return: int
* @author linjj
* @date: 2023/12/27 17:05
*/
@RequestMapping("updateReturn")
@ResponseBody
public int updateReturn(String barCode,String barCodeName) {
return batchApplyDetailsService.updateReturn(barCode,barCodeName);
} }
/**
* @description:
* @params: FastBorrowingDto
* @return: Msg
* @author linjj
* @date: 2023/12/29 10:06
*/
@RequestMapping("fastBorrowing")
@ResponseBody
public Msg fastBorrowing(FastBorrowingDto dto) {
if (null==dto.getEffeDays()) {
return Msg.BorrowingFail("申请天数不能为空!!");
}
if (StringUtils.isBlank(dto.getApplyType())) {
return Msg.BorrowingFail("申请类型不能为空!!");
}
if (StringUtils.isBlank(dto.getApplyReason())) {
return Msg.BorrowingFail("申请理由不能为空");
}
if (StringUtils.isBlank(dto.getBarCode())) {
return Msg.BorrowingFail("条形码不能为空");
}
return batchApplyDetailsService.addFastBorrowing(dto);
}
/**
* @description:
* @params: barCode
* @return: barCodeName
* @author linjj
* @date: 2024/1/8 9:02
*/
@RequestMapping("updateBatchApply")
@ResponseBody
public Msg updateBatchApply(String barCode,String barCodeName,Integer batchId){
if (StringUtils.isBlank(barCode)){
return Msg.BorrowingFail("条形码不能为空");
}
if (StringUtils.isBlank(barCodeName)){
return Msg.BorrowingFail("归还人工号不能为空");
}
return batchApplyDetailsService.updateBatchApply(barCode,barCodeName,batchId);
}
/**
* @description:
* @params: fastBatchApply
* @return: FastBorrowingDto
* @author linjj
* @date: 2024/1/8 14:52
*/
@RequestMapping("fastBatchApply")
@ResponseBody
public Msg fastBatchApply(FastBorrowingDto dto) {
if (null==dto.getEffeDays()) {
return Msg.BorrowingFail("申请天数不能为空!!");
}
if (StringUtils.isBlank(dto.getApplyType())) {
return Msg.BorrowingFail("申请类型不能为空!!");
}
if (StringUtils.isBlank(dto.getApplyReason())) {
return Msg.BorrowingFail("申请理由不能为空");
}
if (StringUtils.isBlank(dto.getBarCode())) {
return Msg.BorrowingFail("条形码不能为空");
}
return batchApplyDetailsService.fastBatchApply(dto);
}
} }

@ -550,6 +550,7 @@ public class ApproveController {
return ResultUtil.ok(); return ResultUtil.ok();
} }
/** /**
* @MethodName: exportExcelApplyList * @MethodName: exportExcelApplyList
* @Description: excel, * @Description: excel,

@ -0,0 +1,27 @@
package com.emr.dao;
import com.emr.vo.UpdateReturnVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @InterfaceName Archive_MasterMapper
* @Description
* @Author linjj
* @Date 2023/12/27 17:09
* @Version 1.0
*/
@Mapper
public interface Archive_MasterMapper {
/**
* @description: id
* @params: barCode
* @return: UpdateReturnVo
* @author linjj
* @date: 2023/12/27 17:11
*/
List<UpdateReturnVo> getInpNoAndVisitIdByBarCode(@Param("barCode") String barCode);
}

@ -32,4 +32,14 @@ public interface BatchApplyDetailsMapper {
int upadteApplyDetailsList(@Param("list") List<BatchApplyDetailsVo> list); int upadteApplyDetailsList(@Param("list") List<BatchApplyDetailsVo> list);
String getEffectiveTime(@Param("ids") Integer ids,@Param("examineTimes") String examineTimes); String getEffectiveTime(@Param("ids") Integer ids,@Param("examineTimes") String examineTimes);
int getNumInpNoAndAdmissTimes(@Param("inpatientNo")String inpatientNo,@Param("admissTimes")int admissTimes,@Param("batchId")int batchId);
List<String> getIdInpNoAndAdmissTimes(@Param("inpatientNo")String inpatientNo,@Param("admissTimes")String admissTimes,@Param("batchId")int batchId);
int updateBatchApplyDetails(@Param("id")String id,@Param("userName")String userName,@Param("barCodeName")String barCodeName,@Param("returnTime")String returnTime);
} }

@ -140,4 +140,6 @@ public interface CommomMapper {
int selectAllMaster(@Param("inpatientNo")String inpatientNo,@Param("idCard")String idCar); int selectAllMaster(@Param("inpatientNo")String inpatientNo,@Param("idCard")String idCar);
String getPatientIdByInpNoAndVisitId(@Param("inpNo")String inpNo,@Param("visitId")String visitId);
} }

@ -1,6 +1,7 @@
package com.emr.dao.approve; package com.emr.dao.approve;
import com.emr.entity.approve.Emr_Apply_Approve; import com.emr.entity.approve.Emr_Apply_Approve;
import com.emr.vo.ApplyStateVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import java.util.List; import java.util.List;
@ -82,4 +83,26 @@ public interface Emr_Apply_ApproveMapper {
Emr_Apply_Approve selectByApplyerAndPatientId(@Param("userName")String userName,@Param("patientId")String patientId); Emr_Apply_Approve selectByApplyerAndPatientId(@Param("userName")String userName,@Param("patientId")String patientId);
List<String>expireTime(@Param("currentTime") String currentTime,@Param("effeDays") int effeDays); List<String>expireTime(@Param("currentTime") String currentTime,@Param("effeDays") int effeDays);
/**
* @description:
* @author linjj
* @date: 2023/12/27 17:14
*/
int UpdateReturnState(@Param("id") String id, @Param("returnName")String returnName, @Param("returnTime")String returnTime,
@Param("returnNameString")String returnNameString);
/**
* @description:
* @author linjj
* @date: 2023/12/28 16:11
*/
List<ApplyStateVo> getReturnState(@Param("inpNo") String inpNo, @Param("visitId") String visitId, @Param("userName")String userName);
/**
* @description:
* @params:
* @return:
* @author linjj
* @date: 2023/12/29 10:20
*/
List<Emr_Apply_Approve> getApproverState(@Param("inpNo") String inpNo, @Param("visitId") String visitId, @Param("userName")String userName);
} }

@ -0,0 +1,26 @@
package com.emr.dto;
import lombok.Data;
/**
* @ClassName FastBorrowingDto
* @Description
* @Author linjj
* @Date 2023/12/29 10:03
* @Version 1.0
*/
@Data
public class FastBorrowingDto {
private Integer effeDays;
private String applyType;
private String applyReason;
private String barCode;
private String userName;
private int batchId;
}

@ -28,4 +28,6 @@ public class BatchApply {
//创建时间 //创建时间
private String applyName; private String applyName;
private Integer readNums;
} }

@ -49,5 +49,14 @@ public class BatchApplyDetails {
private String examineName; private String examineName;
//审批时间 //审批时间
private String examineTime; private String examineTime;
//归还人
private String returnName;
//归还人姓名
private String returnNameString;
//归还时间
private String returnTime;
//申请人姓名
private String handlingNameString;
//审批人姓名
private String examineNameString;
} }

@ -9,6 +9,16 @@ public class Emr_Apply_Approve {
private String applyTime; private String applyTime;
private String returnState;
public String getReturnState() {
return returnState;
}
public void setReturnState(String returnState) {
this.returnState = returnState;
}
private String effeTime; private String effeTime;
private Integer effeDays; private Integer effeDays;
@ -262,4 +272,34 @@ public class Emr_Apply_Approve {
public void setDisDate(Date disDate) { public void setDisDate(Date disDate) {
this.disDate = disDate; this.disDate = disDate;
} }
private String returnName;
private String returnTime;
private String returnNameString;
public String getReturnName() {
return returnName;
}
public void setReturnName(String returnName) {
this.returnName = returnName;
}
public String getReturnTime() {
return returnTime;
}
public void setReturnTime(String returnTime) {
this.returnTime = returnTime;
}
public String getReturnNameString() {
return returnNameString;
}
public void setReturnNameString(String returnNameString) {
this.returnNameString = returnNameString;
}
} }

@ -1,7 +1,9 @@
package com.emr.service.BatchApplyDetails; package com.emr.service.BatchApplyDetails;
import com.emr.dto.FastBorrowingDto;
import com.emr.entity.BatchApplyDetails; import com.emr.entity.BatchApplyDetails;
import com.emr.vo.BatchBorrowingVo; import com.emr.vo.BatchBorrowingVo;
import com.emr.vo.Msg;
import com.emr.vo.commomSearch.CommomVo; import com.emr.vo.commomSearch.CommomVo;
import java.util.List; import java.util.List;
@ -21,11 +23,19 @@ public interface BatchApplyDetailsService {
List<BatchApplyDetails> getBatchApplyDetails(int batchId,String inpatientNo); List<BatchApplyDetails> getBatchApplyDetails(int batchId,String inpatientNo);
int addBatchBorrowing(BatchBorrowingVo batchBorrowingVo); Msg addBatchBorrowing(BatchBorrowingVo batchBorrowingVo);
int deleteById(int id,int batchId); int deleteById(int id,int batchId);
int rejectById(int id); int rejectById(int id);
int agreeById(String ids,Integer batchId); int agreeById(String ids,Integer batchId);
int updateReturn(String barCode,String barCodeName);
Msg addFastBorrowing(FastBorrowingDto dto);
Msg updateBatchApply(String barCode,String barCodeName,int batchId);
Msg fastBatchApply(FastBorrowingDto dto);
} }

@ -1,19 +1,22 @@
package com.emr.service.BatchApplyDetails; package com.emr.service.BatchApplyDetails;
import com.emr.dao.BatchApplyDetailsMapper; import com.emr.dao.*;
import com.emr.dao.BatchApplyMapper; import com.emr.dao.approve.Emr_Apply_ApproveMapper;
import com.emr.dao.EmrComomSetMapper; import com.emr.dto.FastBorrowingDto;
import com.emr.dao.Emr_DictionaryMapper;
import com.emr.entity.*; import com.emr.entity.*;
import com.emr.entity.approve.Emr_Apply_Approve;
import com.emr.service.CommomService;
import com.emr.service.approve.ApplyApproveService;
import com.emr.util.ListUtils; import com.emr.util.ListUtils;
import com.emr.util.Setters; import com.emr.util.Setters;
import com.emr.vo.BatchApplyDetailsVo; import com.emr.vo.*;
import com.emr.vo.BatchApplyVo;
import com.emr.vo.BatchBorrowingVo;
import com.emr.vo.commomSearch.CommomVo; import com.emr.vo.commomSearch.CommomVo;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.apache.ibatis.annotations.Param;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes; import org.springframework.web.context.request.ServletRequestAttributes;
@ -39,6 +42,21 @@ public class BatchApplyDetailsServiceImpl implements BatchApplyDetailsService {
BatchApplyDetailsMapper batchApplyDetailsMapper; BatchApplyDetailsMapper batchApplyDetailsMapper;
@Autowired @Autowired
EmrComomSetMapper emrComomSetMapper; EmrComomSetMapper emrComomSetMapper;
@Autowired
Archive_MasterMapper archiveMasterMapper;
@Autowired
Emr_Apply_ApproveMapper emrApplyApproveMapper;
@Autowired
private Emr_Apply_ApproveMapper applyApproveMapper;
@Autowired
private CommomMapper commomMapper;
@Value("${applyApproveFlag}")
private String applyApproveFlag;
@Autowired
private ApplyApproveService applyApproveService;
@Autowired
private CommomService commomService;
@Override @Override
public List<CommomVo> addCommomVo(CommomVo commomVo) { public List<CommomVo> addCommomVo(CommomVo commomVo) {
@ -47,21 +65,27 @@ public class BatchApplyDetailsServiceImpl implements BatchApplyDetailsService {
convertDepartment(list); convertDepartment(list);
//当查询集合中只有一条记录时直接插入申请列表 //当查询集合中只有一条记录时直接插入申请列表
if (commomVo.getRefreshTable() == 1) { if (commomVo.getRefreshTable() == 1) {
addApplyDetails(list, commomVo.getBatchId(),commomVo.getApplyName()); //判断是否已经存在并且未过期
int i = batchApplyDetailsMapper.getNumInpNoAndAdmissTimes(list.get(0).getInpatientNo(), list.get(0).getAdmissTimes(), commomVo.getBatchId());
if (i == 0) {
addApplyDetails(list, commomVo.getBatchId(), commomVo.getApplyName());
} else {
list.get(0).setApplyStatc("住院号:" + list.get(0).getInpatientNo() + "住院次数:" + list.get(0).getAdmissTimes() + "已经申请且在有效期内,无需重复申请!!!");
}
} }
return list; return list;
} }
@Override @Override
public List<BatchApplyDetails> getBatchApplyDetails(int batchId,String inpatientNo) { public List<BatchApplyDetails> getBatchApplyDetails(int batchId, String inpatientNo) {
//获取系统当前时间 //获取系统当前时间
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
String format = fmt.format(new Date()); String format = fmt.format(new Date());
List<BatchApplyDetails> batchApplyDetails = batchApplyDetailsMapper.getBatchApplyDetails(batchId,inpatientNo); List<BatchApplyDetails> batchApplyDetails = batchApplyDetailsMapper.getBatchApplyDetails(batchId, inpatientNo);
for (BatchApplyDetails list : batchApplyDetails) { for (BatchApplyDetails list : batchApplyDetails) {
//判断是否过期如果过期状态为4 //判断是否过期如果过期状态为4
String effectiveTime = list.getEffectiveTime(); String effectiveTime = list.getEffectiveTime();
if (StringUtils.isNotBlank(effectiveTime) ) { if (StringUtils.isNotBlank(effectiveTime)) {
if ((effectiveTime.compareTo(format)) == -1) { if ((effectiveTime.compareTo(format)) == -1) {
list.setApplyStatc(4); list.setApplyStatc(4);
} }
@ -71,14 +95,25 @@ public class BatchApplyDetailsServiceImpl implements BatchApplyDetailsService {
} }
@Override @Override
public int addBatchBorrowing(BatchBorrowingVo batchBorrowingVo) { public Msg addBatchBorrowing(BatchBorrowingVo batchBorrowingVo) {
//查询患者基础数据 //查询患者基础数据
List<CommomVo> commomList = batchApplyMapper.getCommomVoByPatientIds(batchBorrowingVo.getPatientIds()); List<CommomVo> commomList = batchApplyMapper.getCommomVoByPatientIds(batchBorrowingVo.getPatientIds());
return addApplyDetailsList(commomList, batchBorrowingVo); //判断是否已经存在并且未过期
for (CommomVo list : commomList) {
int i = batchApplyDetailsMapper.getNumInpNoAndAdmissTimes(list.getInpatientNo(), list.getAdmissTimes(), batchBorrowingVo.getBatchId());
if (i > 0) {
return Msg.addBatchFail("住院号:" + list.getInpatientNo() + "住院次数:" + list.getAdmissTimes() + "已经申请且在有效期内,无需重复申请!!!");
}
}
int i = addApplyDetailsList(commomList, batchBorrowingVo);
if (i == 1) {
return Msg.addBatchSuccess("批量申请保存成功");
}
return Msg.addBatchFail("批量申请保存失败");
} }
@Override @Override
public int deleteById(int id,int batchId) { public int deleteById(int id, int batchId) {
//更新批次数量 //更新批次数量
delBorrowingNum(batchId); delBorrowingNum(batchId);
return batchApplyDetailsMapper.deleteById(id); return batchApplyDetailsMapper.deleteById(id);
@ -93,7 +128,8 @@ public class BatchApplyDetailsServiceImpl implements BatchApplyDetailsService {
// 从session获取用户名 // 从session获取用户名
Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER"); Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER");
BatchApplyDetailsVo batchApplyDetailsVo = new BatchApplyDetailsVo(); BatchApplyDetailsVo batchApplyDetailsVo = new BatchApplyDetailsVo();
batchApplyDetailsVo.setExamineName(user.getUserPosition()); batchApplyDetailsVo.setExamineName(user.getUserName());
batchApplyDetailsVo.setExamineNameString(user.getUserPosition());
batchApplyDetailsVo.setExamineTime(fmt.format(new Date())); batchApplyDetailsVo.setExamineTime(fmt.format(new Date()));
batchApplyDetailsVo.setId(id); batchApplyDetailsVo.setId(id);
batchApplyDetailsVo.setApplyStatc(3); batchApplyDetailsVo.setApplyStatc(3);
@ -102,7 +138,7 @@ public class BatchApplyDetailsServiceImpl implements BatchApplyDetailsService {
@Override @Override
public int agreeById(String ids, Integer batchId) { public int agreeById(String ids, Integer batchId) {
int i=0; int i = 0;
//获取系统当前时间 //获取系统当前时间
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
//获取登录用户信息 //获取登录用户信息
@ -116,7 +152,8 @@ public class BatchApplyDetailsServiceImpl implements BatchApplyDetailsService {
//遍历审核信息 //遍历审核信息
for (Integer id : idsList) { for (Integer id : idsList) {
BatchApplyDetailsVo batchApplyDetailsVo = new BatchApplyDetailsVo(); BatchApplyDetailsVo batchApplyDetailsVo = new BatchApplyDetailsVo();
batchApplyDetailsVo.setExamineName(user.getUserPosition()); batchApplyDetailsVo.setExamineName(user.getUserName());
batchApplyDetailsVo.setExamineNameString(user.getUserPosition());
batchApplyDetailsVo.setExamineTime(fmt.format(new Date())); batchApplyDetailsVo.setExamineTime(fmt.format(new Date()));
batchApplyDetailsVo.setApplyStatc(1); batchApplyDetailsVo.setApplyStatc(1);
batchApplyDetailsVo.setId(id); batchApplyDetailsVo.setId(id);
@ -125,32 +162,217 @@ public class BatchApplyDetailsServiceImpl implements BatchApplyDetailsService {
//给有效时间赋值 //给有效时间赋值
upDateEffectiveTimeList(list); upDateEffectiveTimeList(list);
boolean b = upadteApplyDetais(list); boolean b = upadteApplyDetais(list);
if (b){ if (b) {
i=1; i = 1;
} }
//更新审批数量 //更新审批数量
upDateAgreeNum(batchId,list.size()); upDateAgreeNum(batchId, list.size());
return i;
}
@Override
public int updateReturn(String barCode, String barCodeName) {
int i = 0;
Power_User user = new Power_User();
//获取系统当前时间
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");
//获取登录用户信息
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
//不为空直接用barCodeName为空拿当前登录userName
if (StringUtils.isNotBlank(barCodeName)) {
user.setUserName(barCodeName);
String s = convertUserName(user.getUserName());
if (StringUtils.isBlank(s)) {
return i;
}
user.setUserPosition(s);
} else {
// 从session获取用户名
user = (Power_User) request.getSession().getAttribute("CURRENT_USER");
}
List<UpdateReturnVo> inpNoAndVisitIdByBarCode = archiveMasterMapper.getInpNoAndVisitIdByBarCode(barCode);
//集合为空则返回2无需要归还病历
if (CollectionUtils.isEmpty(inpNoAndVisitIdByBarCode)) {
i = 2;
return i;
}
//查询是否有需要归还病历
for (UpdateReturnVo list : inpNoAndVisitIdByBarCode) {
List<ApplyStateVo> ids = emrApplyApproveMapper.getReturnState(list.getInpNo(), list.getVisitId(), user.getUserName());
//集合为空则返回2无需要归还病历
if (CollectionUtils.isEmpty(ids)) {
i = 2;
return i;
}
//需要归还病历id
ApplyStateVo applyStateVo = ids.get(ids.size() - 1);
//如果最后一条记录是已归还则不需要在次归还
if (StringUtils.isNotBlank(applyStateVo.getReturnState())) {
i = 2;
return i;
}
i = emrApplyApproveMapper.UpdateReturnState(applyStateVo.getId(), user.getUserName(), fmt.format(new Date()), user.getUserPosition());
return i;
}
return i; return i;
} }
private void upDateAgreeNum(int batchId,int readNum){ @Override
public Msg addFastBorrowing(FastBorrowingDto dto) {
Power_User user = new Power_User();
//保存实体
Emr_Apply_Approve applyApprove = new Emr_Apply_Approve();
//获取系统当前时间
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");
//获取登录用户信息
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
if (StringUtils.isNotBlank(dto.getUserName())) {
user.setUserName(dto.getUserName());
} else {
// 从session获取用户名
user = (Power_User) request.getSession().getAttribute("CURRENT_USER");
}
//查询是否未过期
//根据条形码查询信息
List<UpdateReturnVo> list = archiveMasterMapper.getInpNoAndVisitIdByBarCode(dto.getBarCode());
//集合为空则返回无该条形码病历
if (CollectionUtils.isEmpty(list)) {
return Msg.BorrowingFail("无该条形码病历");
}
//查询patientId
String patientId = commomMapper.getPatientIdByInpNoAndVisitId(list.get(0).getInpNo(), list.get(0).getVisitId());
if (StringUtils.isBlank(patientId)) {
return Msg.BorrowingFail("无该条形码已归档病历");
}
//判断是否有未过期切未归还病历
List<Emr_Apply_Approve> approves = applyApproveMapper.getApproverState(list.get(0).getInpNo(), list.get(0).getVisitId(), user.getUserName());
if (!CollectionUtils.isEmpty(approves)) {
return Msg.BorrowingFail("该病案另一个申请还处于有效期,无须重复申请!");
}
//有效期是否过滤节假日
if (applyApproveFlag.equals("1")) {
SimpleDateFormat fmt1 = new SimpleDateFormat("yyyy-MM-dd");
List<String> expireTimeList = applyApproveService.expireTime(fmt1.format(new Date()), applyApprove.getEffeDays());
String s = expireTimeList.get(expireTimeList.size() - 1);
applyApprove.setEffeTime(s);
} else {
Calendar calendar2 = Calendar.getInstance();
SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd");
calendar2.add(Calendar.DATE, 3);
applyApprove.setEffeTime(sdf2.format(calendar2.getTime()));
}
applyApprove.setApplyer(user.getUserName());
applyApprove.setApplyTime(fmt.format(new Date()));
applyApprove.setEffeDays(dto.getEffeDays());
applyApprove.setApplyType(dto.getApplyType());
applyApprove.setApplyReason(dto.getApplyReason());
applyApprove.setApplyState("2");
applyApprove.setPatientId(patientId);
applyApprove.setAdmissId(list.get(0).getInpNo());
applyApprove.setInpatientNo(list.get(0).getInpNo());
applyApprove.setAdmissTimes(Short.parseShort(list.get(0).getVisitId()));
applyApprove.setDisDate(list.get(0).getDischargeDateTime());
int i = applyApproveMapper.insertSelective(applyApprove);
if (i == 1) {
return Msg.success("条形码" + dto.getBarCode() + "快速借阅成功");
}
return Msg.BorrowingFail("条形码" + dto.getBarCode() + "快速借阅失败");
}
@Override
public Msg updateBatchApply(String barCode, String barCodeName, int batchId) {
//转换用户名
String userName = convertUserName(barCodeName);
//获取系统当前时间
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss ");
if (StringUtils.isBlank(userName)){
return Msg.BorrowingFail("该工号:" + barCodeName + "查询不到对应用户名");
}
//根据条形码查询病历
List<UpdateReturnVo> list = archiveMasterMapper.getInpNoAndVisitIdByBarCode(barCode);
//集合为空则未查询到该条形码病历
if (CollectionUtils.isEmpty(list)) {
return Msg.BorrowingFail("未查询到该条形码病历");
}
//根据条形码查询批量表需要归还病历
List<String> ids = batchApplyDetailsMapper.getIdInpNoAndAdmissTimes(list.get(0).getInpNo(), list.get(0).getVisitId(), batchId);
if (CollectionUtils.isEmpty(ids)) {
return Msg.BorrowingFail("该条形码:" + barCode + "无需要归还的病历");
}
int i = batchApplyDetailsMapper.updateBatchApplyDetails(ids.get(ids.size() - 1), userName, barCodeName, fmt.format(new Date()));
if (i==1){
return Msg.success("该条形码:" + barCode + "快速归还成功");
}
return Msg.BorrowingFail("该条形码:" + barCode + "快速归还失败");
}
@Override
public Msg fastBatchApply(FastBorrowingDto dto) {
//获取系统当前时间
SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
//获取登录用户信息
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
// 从session获取用户名
Power_User user = (Power_User) request.getSession().getAttribute("CURRENT_USER");
List<BatchApplyDetailsVo> NewList = Collections.synchronizedList(new ArrayList<>());
//根据条形码查询信息
List<UpdateReturnVo> updateReturnVo = archiveMasterMapper.getInpNoAndVisitIdByBarCode(dto.getBarCode());
//集合为空则返回无该条形码病历
if (CollectionUtils.isEmpty(updateReturnVo)) {
return Msg.BorrowingFail("无该条形码病历");
}
//判断是否已经借阅
for (UpdateReturnVo list:updateReturnVo){
int i = batchApplyDetailsMapper.getNumInpNoAndAdmissTimes(list.getInpNo(), Integer.parseInt(list.getVisitId()), dto.getBatchId());
if (i > 0) {
return Msg.addBatchFail("住院号:" + list.getInpNo() + "住院次数:" + list.getVisitId() + "已经申请且在有效期内,无需重复申请!!!");
}
//插入申请借阅详情集合
BatchApplyDetailsVo batchApplyDetailsVo = new BatchApplyDetailsVo();
batchApplyDetailsVo.setBatchId(dto.getBatchId());
batchApplyDetailsVo.setApplyName(dto.getUserName());
batchApplyDetailsVo.setApplyDate(user.getRemark());
batchApplyDetailsVo.setApplyTime(fmt.format(new Date()));
batchApplyDetailsVo.setEffectiveDay(dto.getEffeDays());
batchApplyDetailsVo.setInpatientNo(list.getInpNo());
batchApplyDetailsVo.setAdmissTimes(Short.parseShort(list.getVisitId()));
batchApplyDetailsVo.setPatientName(list.getName());
batchApplyDetailsVo.setDisTime(list.getDischargeDateTime().toString());
batchApplyDetailsVo.setApplyReason(dto.getApplyReason());
batchApplyDetailsVo.setApplyFlag(2);
batchApplyDetailsVo.setApplyStatc(2);
batchApplyDetailsVo.setHandlingName(user.getUserName());
batchApplyDetailsVo.setHandlingNameString(user.getUserPosition());
//将对象传入集合
NewList.add(batchApplyDetailsVo);
}
//同步数量
updateNum(dto.getBatchId(), NewList.size());
int i = batchApplyDetailsMapper.addBatchApplyDetails(NewList);
if (i==1){
return Msg.success("条形码:"+dto.getBarCode()+"快速借阅成功");
}
return Msg.BorrowingFail("条形码:"+dto.getBarCode()+"快速借阅成功");
}
private void upDateAgreeNum(int batchId, int readNum) {
BatchApplyVo batchApplyVo = batchApplyMapper.getreadNum(batchId); BatchApplyVo batchApplyVo = batchApplyMapper.getreadNum(batchId);
int i = readNum + batchApplyVo.getReadNum(); int i = readNum + batchApplyVo.getReadNum();
batchApplyMapper.updateReadNumm(i,batchId); batchApplyMapper.updateReadNumm(i, batchId);
// //如果借阅数量跟审批数量一样则改为已审批 // //如果借阅数量跟审批数量一样则改为已审批
if (batchApplyVo.getBorrowingNum()==i){ if (batchApplyVo.getBorrowingNum() == i) {
batchApplyMapper.updateStatc(2,batchId); batchApplyMapper.updateStatc(2, batchId);
}else { } else {
batchApplyMapper.updateStatc(3,batchId); batchApplyMapper.updateStatc(3, batchId);
} }
} }
private boolean upadteApplyDetais(List<BatchApplyDetailsVo> list){ private boolean upadteApplyDetais(List<BatchApplyDetailsVo> list) {
boolean flag=false; boolean flag = false;
for (BatchApplyDetailsVo batchApplyDetailsVo:list){ for (BatchApplyDetailsVo batchApplyDetailsVo : list) {
batchApplyDetailsMapper.upadteApplyDetails(batchApplyDetailsVo); batchApplyDetailsMapper.upadteApplyDetails(batchApplyDetailsVo);
flag=true; flag = true;
} }
return flag; return flag;
} }
@ -186,6 +408,7 @@ public class BatchApplyDetailsServiceImpl implements BatchApplyDetailsService {
batchApplyDetailsVo.setApplyFlag(batchBorrowingVo.getApplyFlag()); batchApplyDetailsVo.setApplyFlag(batchBorrowingVo.getApplyFlag());
batchApplyDetailsVo.setApplyStatc(2); batchApplyDetailsVo.setApplyStatc(2);
batchApplyDetailsVo.setHandlingName(user.getUserName()); batchApplyDetailsVo.setHandlingName(user.getUserName());
batchApplyDetailsVo.setHandlingNameString(user.getUserPosition());
//将对象传入集合 //将对象传入集合
list.add(batchApplyDetailsVo); list.add(batchApplyDetailsVo);
} }
@ -214,7 +437,7 @@ public class BatchApplyDetailsServiceImpl implements BatchApplyDetailsService {
} }
private void addApplyDetails(List<CommomVo> list, int batchId,String ApplyName) { private void addApplyDetails(List<CommomVo> list, int batchId, String ApplyName) {
//获取系统设置的默认参数 //获取系统设置的默认参数
EmrComomSet emrComomSet = emrComomSetMapper.selectByPrimaryKey(1); EmrComomSet emrComomSet = emrComomSetMapper.selectByPrimaryKey(1);
//获取登录用户信息 //获取登录用户信息
@ -238,6 +461,7 @@ public class BatchApplyDetailsServiceImpl implements BatchApplyDetailsService {
batchApplyDetailsVo.setApplyReason("需要借阅这份病历"); batchApplyDetailsVo.setApplyReason("需要借阅这份病历");
batchApplyDetailsVo.setApplyFlag(1); batchApplyDetailsVo.setApplyFlag(1);
batchApplyDetailsVo.setApplyStatc(2); batchApplyDetailsVo.setApplyStatc(2);
batchApplyDetailsVo.setHandlingNameString(user.getUserPosition());
List<BatchApplyDetailsVo> batchApplyDetailsList = Arrays.asList(batchApplyDetailsVo); List<BatchApplyDetailsVo> batchApplyDetailsList = Arrays.asList(batchApplyDetailsVo);
batchApplyDetailsMapper.addBatchApplyDetails(batchApplyDetailsList); batchApplyDetailsMapper.addBatchApplyDetails(batchApplyDetailsList);
//新增时同步批次数量先获取原先数量 //新增时同步批次数量先获取原先数量
@ -268,5 +492,25 @@ public class BatchApplyDetailsServiceImpl implements BatchApplyDetailsService {
batchApplyMapper.updateBorrowingNum(i, batchId); batchApplyMapper.updateBorrowingNum(i, batchId);
} }
//转换用户名
private String convertUserName(String userName) {
String userNameString = null;
//获取登录用户信息
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
//获取用户名
List<User> userList = null;
try {
userList = commomService.getUserList(userName, request);
} catch (Exception e) {
throw new RuntimeException(e);
}
for (User user1 : userList) {
String name = user1.getName();
if (StringUtils.isNotBlank(userName) && user1.getUserName().equals(userName)) {
userNameString = name;
}
}
return userNameString;
}
} }

@ -7,6 +7,7 @@ import com.emr.entity.BatchApply;
import com.emr.entity.BatchApplyDetails; import com.emr.entity.BatchApplyDetails;
import com.emr.entity.Emr_Dictionary; import com.emr.entity.Emr_Dictionary;
import com.emr.entity.Power_User; import com.emr.entity.Power_User;
import com.emr.util.ListUtil;
import com.emr.util.ListUtils; import com.emr.util.ListUtils;
import com.emr.util.Setters; import com.emr.util.Setters;
import com.emr.vo.BatchApplyDetailsVo; import com.emr.vo.BatchApplyDetailsVo;
@ -54,7 +55,22 @@ public class BatchApplyServiceImpl implements BatchApplyService {
batchApplyVo.setCreateName(user.getUserName()); batchApplyVo.setCreateName(user.getUserName());
} }
} }
return batchApplyMapper.selectBatchApply(batchApplyVo); List<BatchApply> batchApplies = batchApplyMapper.selectBatchApply(batchApplyVo);
for (BatchApply list:batchApplies){
//判断该批次审批状态
if (list.getReadNums()==0){
list.setStatc(0);
continue;
}
if (list.getReadNums()==list.getBorrowingNum()){
list.setStatc(2);
continue;
}
if (list.getReadNums()<list.getBorrowingNum()){
list.setStatc(3);
}
}
return batchApplies;
} }
@Override @Override

@ -0,0 +1,73 @@
package com.emr.util;
import org.springframework.util.CollectionUtils;
import java.util.*;
public final class ListUtil {
public static <T, K> Map<K, T> toMap(List<T> list, FieldSelector<T, K> selector) {
if (CollectionUtils.isEmpty(list)) return Collections.emptyMap();
Map<K, T> map = new HashMap<>(list.size());
for (T t : list) {
K key = selector.select(t);
if (key != null) map.put(key, t);
}
return map;
}
public static <T, K> Map<K, List<T>> groupBy(List<T> list, FieldSelector<T, K> selector) {
if (CollectionUtils.isEmpty(list)) return Collections.emptyMap();
Map<K, List<T>> map = new HashMap<>();
for (T t : list) {
K key = selector.select(t);
if (key == null) continue;
if (!map.containsKey(key)) {
map.put(key, new ArrayList<T>());
}
map.get(key).add(t);
}
return map;
}
public static <T, K> List<K> select(List<T> list, FieldSelector<T, K> selector) {
if (CollectionUtils.isEmpty(list)) return Collections.emptyList();
List<K> filedList = new ArrayList<>(list.size());
for (T t : list) {
K key = selector.select(t);
if (key != null) filedList.add(key);
}
return filedList;
}
public static <T, K> List<K> distinctSelect(List<T> list, FieldSelector<T, K> selector) {
if (CollectionUtils.isEmpty(list)) return Collections.emptyList();
Set<K> filedSet = new HashSet<>();
for (T t : list) {
K key = selector.select(t);
if (key != null) filedSet.add(key);
}
return new ArrayList<>(filedSet);
}
@SafeVarargs
public static <T> List<T> unionWithoutDuplicate(List<T>... values) {
if (null == values || values.length <= 0) return Collections.emptyList();
Set<T> unionFiledSet = new HashSet<>();
for (List<T> value : values) {
if (!CollectionUtils.isEmpty(value)) {
unionFiledSet.addAll(value);
}
}
return new ArrayList<>(unionFiledSet);
}
public static <T, K> List<T> skipDuplicateKey(List<T> list, FieldSelector<T, K> selector) {
if (CollectionUtils.isEmpty(list)) return Collections.emptyList();
List<T> filedList = new ArrayList<>(list.size());
Map<K, T> map = toMap(list, selector);
for (K key : map.keySet()) {
filedList.add(map.get(key));
}
return filedList;
}
}

@ -29,6 +29,47 @@ public final class ListUtils {
return map; return map;
} }
public static <T> List<List<T>> partition(List<T> list, int size) {
if (list == null) {
throw new NullPointerException("List must not be null");
} else if (size <= 0) {
throw new IllegalArgumentException("Size must be greater than 0");
} else {
return new Partition(list, size);
}
}
private static class Partition<T> extends AbstractList<List<T>> {
private final List<T> list;
private final int size;
private Partition(List<T> list, int size) {
this.list = list;
this.size = size;
}
public List<T> get(int index) {
int listSize = this.size();
if (index < 0) {
throw new IndexOutOfBoundsException("Index " + index + " must not be negative");
} else if (index >= listSize) {
throw new IndexOutOfBoundsException("Index " + index + " must be less than size " + listSize);
} else {
int start = index * this.size;
int end = Math.min(start + this.size, this.list.size());
return this.list.subList(start, end);
}
}
public int size() {
return (int)Math.ceil((double)this.list.size() / (double)this.size);
}
public boolean isEmpty() {
return this.list.isEmpty();
}
}
public static <T, K> List<K> select(List<T> list, FieldSelector<T, K> selector) { public static <T, K> List<K> select(List<T> list, FieldSelector<T, K> selector) {
if (CollectionUtils.isEmpty(list)) return Collections.emptyList(); if (CollectionUtils.isEmpty(list)) return Collections.emptyList();
List<K> filedList = new ArrayList<>(list.size()); List<K> filedList = new ArrayList<>(list.size());

@ -0,0 +1,16 @@
package com.emr.vo;
import lombok.Data;
/**
* @ClassName ApplyState
* @Author linjj
* @Date 2023/12/29 9:15
* @Version 1.0
*/
@Data
public class ApplyStateVo {
private String id;
private String returnState;
}

@ -49,4 +49,8 @@ public class BatchApplyDetailsVo {
private String examineName; private String examineName;
//审批时间 //审批时间
private String examineTime; private String examineTime;
//申请人姓名
private String handlingNameString;
//审批人姓名
private String examineNameString;
} }

@ -66,12 +66,41 @@ public class Msg {
} }
public static Msg success(String msg){ public static Msg success(String msg){
Msg result=new Msg();
result.setCode(200);
result.setMsg(msg);
return result;
}
public static Msg addBatchSuccess(String msg){
Msg result=new Msg();
result.setCode(200);
result.setMsg(msg);
return result;
}
public static Msg addBatchFail(String msg){
Msg result=new Msg(); Msg result=new Msg();
result.setCode(100); result.setCode(100);
result.setMsg(msg); result.setMsg(msg);
return result; return result;
} }
public static Msg BorrowingFail(String msg){
Msg result=new Msg();
result.setCode(100);
result.setMsg(msg);
return result;
}
public Msg add(String key,Object value){ public Msg add(String key,Object value){
this.getExtend().put(key, value); this.getExtend().put(key, value);
return this; return this;

@ -0,0 +1,23 @@
package com.emr.vo;
import lombok.Data;
import java.util.Date;
/**
* @ClassName updateReturnVo
* @Description
* @Author linjj
* @Date 2023/12/27 17:08
* @Version 1.0
*/
@Data
public class UpdateReturnVo {
private String inpNo;
private String visitId;
private Date dischargeDateTime;
private String name;
}

@ -11,8 +11,19 @@ public class CommomVo {
private String name;//姓名 private String name;//姓名
private String applyStatc;
private String admissId;//住院号 private String admissId;//住院号
public String getApplyStatc() {
return applyStatc;
}
public void setApplyStatc(String applyStatc) {
this.applyStatc = applyStatc;
}
private String sex;//性别 private String sex;//性别
private String age;//年龄(岁) private String age;//年龄(岁)

@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
<mapper namespace="com.emr.dao.Archive_MasterMapper">
<select id="getInpNoAndVisitIdByBarCode" resultType="com.emr.vo.UpdateReturnVo">
select inp_no,visit_id,discharge_date_time,name from archive_master where bar_code=#{barCode}
</select>
</mapper>

@ -4,12 +4,12 @@
<insert id="addBatchApplyDetails" parameterType="java.util.List"> <insert id="addBatchApplyDetails" parameterType="java.util.List">
insert into batch_apply_details (batch_id,apply_name,apply_time,apply_reason,apply_flag, insert into batch_apply_details (batch_id,apply_name,apply_time,apply_reason,apply_flag,
apply_date,apply_statc,dis_time,effective_day,patient_name,inpatient_no,admiss_times,handling_name apply_date,apply_statc,dis_time,effective_day,patient_name,inpatient_no,admiss_times,handling_name,handling_name_string
) )
values values
<foreach collection="list" item="item" separator=",">(#{item.batchId},#{item.applyName},#{item.applyTime}, <foreach collection="list" item="item" separator=",">(#{item.batchId},#{item.applyName},#{item.applyTime},
#{item.applyReason},#{item.applyFlag},#{item.applyDate},#{item.applyStatc}, #{item.applyReason},#{item.applyFlag},#{item.applyDate},#{item.applyStatc},
#{item.disTime},#{item.effectiveDay},#{item.patientName},#{item.inpatientNo},#{item.admissTimes},#{item.handlingName} #{item.disTime},#{item.effectiveDay},#{item.patientName},#{item.inpatientNo},#{item.admissTimes},#{item.handlingName},#{item.handlingNameString}
) )
</foreach> </foreach>
</insert> </insert>
@ -31,6 +31,9 @@
<if test="applyStatc != null"> <if test="applyStatc != null">
apply_statc=#{applyStatc}, apply_statc=#{applyStatc},
</if> </if>
<if test="examineNameString != null">
examine_name_string=#{examineNameString},
</if>
</set> </set>
where id = #{id} where id = #{id}
</update> </update>
@ -57,6 +60,10 @@
where id = #{item.id} where id = #{item.id}
</foreach> </foreach>
</update> </update>
<update id="updateBatchApplyDetails">
update batch_apply_details set apply_statc=5,return_name=#{barCodeName},return_time=#{returnTime},return_name_string=#{userName}
where id=#{id}
</update>
<delete id="deleteByBatchId"> <delete id="deleteByBatchId">
@ -84,4 +91,13 @@
</if> </if>
</where> </where>
</select> </select>
<select id="getNumInpNoAndAdmissTimes" resultType="java.lang.Integer">
SELECT COUNT(*) FROM batch_apply_details WHERE apply_statc !=3 AND effective_time>convert(varchar(10),getdate()-1,120)
AND inpatient_no=#{inpatientNo} AND admiss_times=#{admissTimes} AND batch_id=#{batchId}
</select>
<select id="getIdInpNoAndAdmissTimes" resultType="java.lang.String">
SELECT id FROM batch_apply_details WHERE apply_statc !=3 and apply_statc !=2 and apply_statc!=5
AND inpatient_no=#{inpatientNo} AND admiss_times=#{admissTimes} AND batch_id=#{batchId}
</select>
</mapper> </mapper>

@ -68,7 +68,9 @@
<select id="selectBatchApply" resultType="com.emr.entity.BatchApply"> <select id="selectBatchApply" resultType="com.emr.entity.BatchApply">
select * from batch_apply select * ,
(SELECT COUNT(id)FROM batch_apply_details WHERE apply_statc in(1,5) AND batch_id=batch_apply.id) readNums
from batch_apply
<where> 1=1 <where> 1=1
<if test="batchName != null and batchName != ''"> <if test="batchName != null and batchName != ''">
and batch_name=#{batchName} and batch_name=#{batchName}

@ -1320,6 +1320,9 @@
</where> </where>
order by visit_id desc order by visit_id desc
</select> </select>
<select id="getPatientIdByInpNoAndVisitId" resultType="java.lang.String">
select patient_id from commomtable where inpatient_no=#{inpNo} and admiss_times=#{visitId}
</select>
<!--修改病案备注--> <!--修改病案备注-->
<update id="updateRecordReMark" parameterType="com.emr.vo.commomSearch.CommomVo"> <update id="updateRecordReMark" parameterType="com.emr.vo.commomSearch.CommomVo">
update commomtable update commomtable

@ -19,6 +19,10 @@
<result column="inpatient_no" property="inpatientNo" jdbcType="CHAR"/> <result column="inpatient_no" property="inpatientNo" jdbcType="CHAR"/>
<result column="admiss_times" property="admissTimes" jdbcType="SMALLINT"/> <result column="admiss_times" property="admissTimes" jdbcType="SMALLINT"/>
<result column="dis_date" property="disDate" jdbcType="TIMESTAMP"/> <result column="dis_date" property="disDate" jdbcType="TIMESTAMP"/>
<result column="return_state" property="returnState" jdbcType="VARCHAR"/>
<result column="return_name" property="returnName" jdbcType="VARCHAR"/>
<result column="return_time" property="returnTime" jdbcType="VARCHAR"/>
<result column="return_name_string" property="returnNameString" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, applyer, apply_time, effe_time, effe_days, apply_type, apply_reason, apply_state, id, applyer, apply_time, effe_time, effe_days, apply_type, apply_reason, apply_state,
@ -269,6 +273,8 @@
AND AND
approve_state != '2' approve_state != '2'
AND AND
approver is not null
AND
applyer = #{userName} applyer = #{userName}
<if test="patientId != null and patientId != ''"> <if test="patientId != null and patientId != ''">
AND patient_id IN (${patientId}) AND patient_id IN (${patientId})
@ -322,7 +328,11 @@
CASE WHEN effe_time &lt;= convert(varchar(10),getdate()-1,23) THEN '已过期' WHEN approve_state = '1' THEN '审核通过' WHEN approve_state='2' THEN CASE WHEN effe_time &lt;= convert(varchar(10),getdate()-1,23) THEN '已过期' WHEN approve_state = '1' THEN '审核通过' WHEN approve_state='2' THEN
'审核不通过' WHEN approve_state is null THEN '待审批' END approve_state, '审核不通过' WHEN approve_state is null THEN '待审批' END approve_state,
c.name, c.name,
CASE WHEN emr_lock.id is null THEN 0 ELSE 1 END lockStatus CASE WHEN emr_lock.id is null THEN 0 ELSE 1 END lockStatus,
return_state,
return_name,
return_time,
return_name_string
FROM FROM
emr_apply_approve a emr_apply_approve a
LEFT JOIN LEFT JOIN
@ -407,7 +417,11 @@
CASE WHEN effe_time &lt;= convert(varchar(10),getdate(),23) THEN '已过期' WHEN approve_state = '1' THEN '审核通过' WHEN approve_state='2' THEN CASE WHEN effe_time &lt;= convert(varchar(10),getdate(),23) THEN '已过期' WHEN approve_state = '1' THEN '审核通过' WHEN approve_state='2' THEN
'审核不通过' WHEN approve_state is null THEN '待审批' WHEN approve_state = '' THEN '待审批' END approve_state, '审核不通过' WHEN approve_state is null THEN '待审批' WHEN approve_state = '' THEN '待审批' END approve_state,
c.name, c.name,
CASE WHEN emr_lock.id is null THEN 0 ELSE 1 END lockStatus CASE WHEN emr_lock.id is null THEN 0 ELSE 1 END lockStatus,
return_state,
return_name,
return_time,
return_name_string
FROM FROM
emr_apply_approve a emr_apply_approve a
LEFT JOIN LEFT JOIN
@ -661,6 +675,11 @@
</set> </set>
where id in (${idsStr}) where id in (${idsStr})
</update> </update>
<update id="UpdateReturnState">
update emr_apply_approve set return_state='1',return_name=#{returnName},
return_time=#{returnTime},return_name_string=#{returnNameString}
where id=#{id}
</update>
<select id="selectCountByApproveState" resultMap="BaseResultMap"> <select id="selectCountByApproveState" resultMap="BaseResultMap">
SELECT * SELECT *
FROM FROM
@ -690,6 +709,30 @@
<select id="expireTime" resultType="java.lang.String"> <select id="expireTime" resultType="java.lang.String">
SELECT top (${effeDays}) date FROM emr_holiday_set where date> #{currentTime} AND flag=1 SELECT top (${effeDays}) date FROM emr_holiday_set where date> #{currentTime} AND flag=1
</select> </select>
<select id="getReturnState" resultType="com.emr.vo.ApplyStateVo">
SELECT
id,return_state
FROM
emr_apply_approve
WHERE
applyer = #{userName}
AND inpatient_no = #{inpNo}
AND admiss_times=#{visitId}
AND approver is not null
ORDER BY
effe_time
</select>
<select id="getApproverState" resultType="com.emr.entity.approve.Emr_Apply_Approve">
SELECT patient_id
FROM emr_apply_approve
WHERE effe_time > convert(varchar (10), getdate() - 1, 120)
AND apply_state = '2'
AND approver is null
AND applyer = #{userName}
AND inpatient_no = #{inpNo}
AND admiss_times=#{visitId}
GROUP BY patient_id
</select>
</mapper> </mapper>

@ -5,7 +5,7 @@
<%@ include file="/WEB-INF/jspf/common.jspf" %> <%@ include file="/WEB-INF/jspf/common.jspf" %>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8"/>
<title>申请列表</title> <title>申请列表</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta http-equiv="X-UA-Compatible" content="IE=edge">
@ -19,71 +19,87 @@
var path = "${path}"; var path = "${path}";
</script> </script>
<style type="text/css"> <style type="text/css">
.mainDiv{ .mainDiv {
background-color: #fff; background-color: #fff;
} }
/**搜索区*/ /**搜索区*/
.searchDiv{ .searchDiv {
padding-top:5px; padding-top: 5px;
height: 30px; height: 30px;
} }
.searchDiv1{
.searchDiv1 {
margin-top: 10px; margin-top: 10px;
height: 30px; height: 30px;
} }
.tableDiv{
.tableDiv {
width: 100%; width: 100%;
background-color: #fff; background-color: #fff;
margin-left: 1%; margin-left: 1%;
margin-top:-10px; margin-top: -10px;
} }
.dateSearchDiv{
width:29%; .dateSearchDiv {
width: 29%;
} }
.dateSearchInput{
width:30%; .dateSearchInput {
margin-left:3%; width: 30%;
margin-left: 3%;
} }
.dateLabelDiv{
.dateLabelDiv {
width: 30%; width: 30%;
text-align: right; text-align: right;
} }
.searchInput{
width:20%; .searchInput {
width: 20%;
} }
.searchElement{
.searchElement {
width: 40%; width: 40%;
} }
.searchInputElement{
.searchInputElement {
width: 60%; width: 60%;
} }
.labelDiv{
padding-top:4%; .labelDiv {
padding-top: 4%;
margin-left: 5px; margin-left: 5px;
} }
/**查询按钮组*/ /**查询按钮组*/
.btnsDiv{ .btnsDiv {
text-align: right; text-align: right;
height:30px; height: 30px;
margin-right: 25px; margin-right: 25px;
} }
.btn{
.btn {
margin-left: 1%; margin-left: 1%;
} }
/**级联病案号内容*/ /**级联病案号内容*/
.mouseOver{ .mouseOver {
background-color: #708090; background-color: #708090;
color:#FFFAFA; color: #FFFAFA;
} }
.mouseOut{
.mouseOut {
background-color: #FFFAFA; background-color: #FFFAFA;
color:#000000; color: #000000;
} }
/*模态框头*/ /*模态框头*/
.modal-header{ .modal-header {
background-color: #199ED8; background-color: #199ED8;
text-align: center; text-align: center;
} }
.loading { .loading {
width: 160px; width: 160px;
height: 56px; height: 56px;
@ -136,10 +152,12 @@
<label class="labelDiv">申请日期:</label> <label class="labelDiv">申请日期:</label>
</div> </div>
<div class="dateSearchInput left"> <div class="dateSearchInput left">
<input type="text" class="form-control input-sm" id="startTime1" placeholder="开始时间" autocomplete="off"> <input type="text" class="form-control input-sm" id="startTime1" placeholder="开始时间"
autocomplete="off">
</div> </div>
<div class="dateSearchInput left"> <div class="dateSearchInput left">
<input type="text" class="form-control input-sm" id="endTime1" placeholder="结束时间" autocomplete="off"> <input type="text" class="form-control input-sm" id="endTime1" placeholder="结束时间"
autocomplete="off">
</div> </div>
</div> </div>
<div class="searchInput left"> <div class="searchInput left">
@ -162,7 +180,7 @@
</div> </div>
<div class="searchDiv1"> <div class="searchDiv1">
<div class="searchInput left" style="margin-left: 10px;"> <div class="searchInput left" style="margin-left: 10px;">
<div class="searchElement left" > <div class="searchElement left">
<label class="labelDiv">申请状态:</label> <label class="labelDiv">申请状态:</label>
</div> </div>
<div class="searchInputElement left"> <div class="searchInputElement left">
@ -179,14 +197,27 @@
</div> </div>
</div> </div>
<div class="btnsDiv"> <div class="btnsDiv">
<shiro:hasPermission name="/approve/updateReturn">
<button class="btn btn-sm btn-warning btns" data-toggle="modal" data-target="#myModal">快速归还</button>
</shiro:hasPermission>
<shiro:hasPermission name="/approve/updateReturn">
<button class="btn btn-sm btn-warning btns" data-toggle="modal" data-target="#myBorrowing">快速借阅
</button>
</shiro:hasPermission>
<shiro:hasPermission name="/approve/addApplyApprove"> <shiro:hasPermission name="/approve/addApplyApprove">
<button type="button" class="btn btn-sm btn-warning btns" onclick="addApproves()" data-toggle="modal" data-target="#myModal5"> + 批量申请</button> <button type="button" class="btn btn-sm btn-warning btns" onclick="addApproves()" data-toggle="modal"
data-target="#myModal5"> + 批量申请
</button>
</shiro:hasPermission> </shiro:hasPermission>
<shiro:hasPermission name="/approve/addApplyApprove"> <shiro:hasPermission name="/approve/addApplyApprove">
<button type="button" class="btn btn-sm btn-warning btns" onclick="addApprove()" data-toggle="modal" data-target="#myModal3"> + 增加</button> <button type="button" class="btn btn-sm btn-warning btns" onclick="addApprove()" data-toggle="modal"
data-target="#myModal3"> + 增加
</button>
</shiro:hasPermission> </shiro:hasPermission>
<shiro:hasPermission name="/approve/deleteApproveById"> <shiro:hasPermission name="/approve/deleteApproveById">
<button type="button" class="btn btn-sm btn-primary btns" onclick="exportExcel()"><i class="fa fa-reply"></i>导出</button> <button type="button" class="btn btn-sm btn-primary btns" onclick="exportExcel()"><i
class="fa fa-reply"></i>导出
</button>
</shiro:hasPermission> </shiro:hasPermission>
</div> </div>
<!--数据表格--> <!--数据表格-->
@ -196,6 +227,78 @@
</div> </div>
</div> </div>
</div> </div>
<%--快速归还弹窗--%>
<div class="modal fade" id="myModal" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
<font size="30">&times;</font>
</button>
<h4 class="modal-title" style="font-weight: bold">
快速归还
</h4>
</div>
<div class="modal-body">
<form onsubmit="return false;" id="barCodeReturnTable">
<div class="form-group">
<label class="col-form-label">条形码:</label>
<input type="text" autofocus class="form-control" id="barCodeReturn">
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal" onclick="emptyForm()">取消</button>
<button type="button" class="btn btn-primary" onclick="updateReturn()">确定</button>
</div>
</div>
</div>
</div>
<%--快速借阅弹窗--%>
<div class="modal fade" id="myBorrowing" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
<font size="30">&times;</font>
</button>
<h4 class="modal-title" style="font-weight: bold">
快速借阅
</h4>
</div>
<div class="modal-body">
<form onsubmit="return false;" id="borrowingTable">
<div class="form-group">
<label class="col-form-label">申请天数:</label>
<input type="text" autofocus class="form-control" id="effeDaysBorrowing">
</div>
<div class="form-group">
<label class="col-form-label">申请类型:</label>
<select class="form-control" id="applyTypeBorrowing" name="applyTypeBorrowing">
</select>
<div class="col-sm-1"></div>
</div>
<div class="form-group">
<label class="col-form-label">申请理由:</label>
<input type="text" autofocus class="form-control" id="applyReasonBorrowing">
</div>
<div class="form-group">
<label class="col-form-label">条形码:</label>
<input type="text" autofocus class="form-control" id="barCodeBorrowing">
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal" onclick="emptyBorrowingForm()">取消</button>
<button type="button" class="btn btn-primary" onclick="fastBorrowing()">确定</button>
</div>
</div>
</div>
</div>
<!-- 模态框3Modal添加 --> <!-- 模态框3Modal添加 -->
<div class="modal fade" id="myModal3" tabindex="-1" role="dialog" aria-labelledby="myModalLabe3" aria-hidden="true"> <div class="modal fade" id="myModal3" tabindex="-1" role="dialog" aria-labelledby="myModalLabe3" aria-hidden="true">
<div class="modal-dialog"> <div class="modal-dialog">
@ -217,7 +320,8 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label">有效时间:</label> <label class="col-sm-4 control-label">有效时间:</label>
<div class="col-sm-7"> <div class="col-sm-7">
<input type="text" class="form-control input-sm input" name="effeTime" id="effeTime" maxlength="10" autocomplete="off"> <input type="text" class="form-control input-sm input" name="effeTime" id="effeTime"
maxlength="10" autocomplete="off">
</div> </div>
<div class="col-sm-1"></div> <div class="col-sm-1"></div>
</div> </div>
@ -226,7 +330,8 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label">申请天数:</label> <label class="col-sm-4 control-label">申请天数:</label>
<div class="col-sm-7"> <div class="col-sm-7">
<input type="number" class="form-control input-sm input" name="effeDays" id="effeDays" oninput="if(value.length>4)value=value.slice(0,4)"> <input type="number" class="form-control input-sm input" name="effeDays" id="effeDays"
oninput="if(value.length>4)value=value.slice(0,4)">
</div> </div>
<div class="col-sm-1"></div> <div class="col-sm-1"></div>
</div> </div>
@ -255,7 +360,8 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label">申请原因:</label> <label class="col-sm-4 control-label">申请原因:</label>
<div class="col-sm-7"> <div class="col-sm-7">
<textarea class="form-control input-sm input" id="applyReason" name="applyReason" maxlength="250"></textarea> <textarea class="form-control input-sm input" id="applyReason" name="applyReason"
maxlength="250"></textarea>
</div> </div>
<div class="col-sm-1"></div> <div class="col-sm-1"></div>
</div> </div>
@ -274,11 +380,14 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label collectLabel">病案号:</label> <label class="col-sm-4 control-label collectLabel">病案号:</label>
<div class="col-sm-7"> <div class="col-sm-7">
<input type="text" class="form-control input-sm input" name="inpatientNo" id="inpatientNo" onkeyup="getInpatientNoContents('inpatientNo')" onfocus="getInpatientNoContents('inpatientNo')" onblur="clearContent('inpatientNo')" maxlength="16"> <input type="text" class="form-control input-sm input" name="inpatientNo"
id="inpatientNo" onkeyup="getInpatientNoContents('inpatientNo')"
onfocus="getInpatientNoContents('inpatientNo')"
onblur="clearContent('inpatientNo')" maxlength="16">
<div id="inpatientNoDiv"> <div id="inpatientNoDiv">
<table id="inpatientNoContent_table" bgcolor="#FFFAFA" border="0" <table id="inpatientNoContent_table" bgcolor="#FFFAFA" border="0"
cellspacing="0" cellpadding="0"> cellspacing="0" cellpadding="0">
<tbody id="inpatientNoContent"> </tbody> <tbody id="inpatientNoContent"></tbody>
</table> </table>
</div> </div>
</div> </div>
@ -289,11 +398,13 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label collectLabel">患者姓名:</label> <label class="col-sm-4 control-label collectLabel">患者姓名:</label>
<div class="col-sm-7"> <div class="col-sm-7">
<input type="text" class="form-control input-sm input" name="name" id="name" onkeyup="getNameContents('name')" onfocus="getNameContents('name')" onblur="clearContent('name')" maxlength="16"> <input type="text" class="form-control input-sm input" name="name" id="name"
onkeyup="getNameContents('name')" onfocus="getNameContents('name')"
onblur="clearContent('name')" maxlength="16">
<div id="nameDiv"> <div id="nameDiv">
<table id="nameContent_table" bgcolor="#FFFAFA" border="0" <table id="nameContent_table" bgcolor="#FFFAFA" border="0"
cellspacing="0" cellpadding="0"> cellspacing="0" cellpadding="0">
<tbody id="nameContent"> </tbody> <tbody id="nameContent"></tbody>
</table> </table>
</div> </div>
</div> </div>
@ -304,7 +415,8 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label collectLabel">住院次数:</label> <label class="col-sm-4 control-label collectLabel">住院次数:</label>
<div class="col-sm-7"> <div class="col-sm-7">
<input type="number" class="form-control input-sm input" min="1" name="admissTimes" id="admissTimes" oninput="if(value.length>4)value=value.slice(0,4)"> <input type="number" class="form-control input-sm input" min="1" name="admissTimes"
id="admissTimes" oninput="if(value.length>4)value=value.slice(0,4)">
</div> </div>
<div class="col-sm-1"></div> <div class="col-sm-1"></div>
</div> </div>
@ -313,9 +425,16 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label collectLabel">出院日期:</label> <label class="col-sm-4 control-label collectLabel">出院日期:</label>
<div class="col-sm-7"> <div class="col-sm-7">
<div class="col-sm-5" style="padding: 0!important"><input type="text" class="form-control input-sm input" id="startTime2" name="startTime2" autocomplete="off"></div> <div class="col-sm-5" style="padding: 0!important"><input type="text"
class="form-control input-sm input"
id="startTime2"
name="startTime2"
autocomplete="off"></div>
<div class="col-sm-1">-</div> <div class="col-sm-1">-</div>
<div class="col-sm-5" style="padding: 0!important"><input type="text" class="form-control input-sm input" id="endTime2" name="endTime2" autocomplete="off"></div> <div class="col-sm-5" style="padding: 0!important"><input type="text"
class="form-control input-sm input"
id="endTime2" name="endTime2"
autocomplete="off"></div>
</div> </div>
<div class="col-sm-1"></div> <div class="col-sm-1"></div>
</div> </div>
@ -343,7 +462,8 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label">有效时间:</label> <label class="col-sm-4 control-label">有效时间:</label>
<div class="col-sm-7"> <div class="col-sm-7">
<input type="text" class="form-control input-sm input" name="effeTime" id="effeTime5" maxlength="10" autocomplete="off"> <input type="text" class="form-control input-sm input" name="effeTime" id="effeTime5"
maxlength="10" autocomplete="off">
</div> </div>
<div class="col-sm-1"></div> <div class="col-sm-1"></div>
</div> </div>
@ -352,7 +472,8 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label">申请天数:</label> <label class="col-sm-4 control-label">申请天数:</label>
<div class="col-sm-7"> <div class="col-sm-7">
<input type="number" class="form-control input-sm input" name="effeDays" id="effeDays5" oninput="if(value.length>4)value=value.slice(0,4)"> <input type="number" class="form-control input-sm input" name="effeDays" id="effeDays5"
oninput="if(value.length>4)value=value.slice(0,4)">
</div> </div>
<div class="col-sm-1"></div> <div class="col-sm-1"></div>
</div> </div>
@ -381,7 +502,8 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label">申请原因:</label> <label class="col-sm-4 control-label">申请原因:</label>
<div class="col-sm-7"> <div class="col-sm-7">
<textarea class="form-control input-sm input" id="applyReason5" name="applyReason" maxlength="250"></textarea> <textarea class="form-control input-sm input" id="applyReason5" name="applyReason"
maxlength="250"></textarea>
</div> </div>
<div class="col-sm-1"></div> <div class="col-sm-1"></div>
</div> </div>
@ -397,7 +519,9 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label collectLabel">下载模板:</label> <label class="col-sm-4 control-label collectLabel">下载模板:</label>
<div class="col-sm-7"> <div class="col-sm-7">
<button type="button" class="btn btn-sm btn-primary" onclick="window.open('${path }/static/js/template/借阅申请模板.xls');">下载模板</button> <button type="button" class="btn btn-sm btn-primary"
onclick="window.open('${path }/static/js/template/借阅申请模板.xls');">下载模板
</button>
</div> </div>
<div class="col-sm-1"></div> <div class="col-sm-1"></div>
</div> </div>
@ -434,7 +558,8 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label">有效时间:</label> <label class="col-sm-4 control-label">有效时间:</label>
<div class="col-sm-7"> <div class="col-sm-7">
<input type="text" class="form-control input-sm input" readonly id="effeTime1" maxlength="10" autocomplete="off"> <input type="text" class="form-control input-sm input" readonly id="effeTime1"
maxlength="10" autocomplete="off">
</div> </div>
<div class="col-sm-1"></div> <div class="col-sm-1"></div>
</div> </div>
@ -506,7 +631,8 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label collectLabel">住院次数:</label> <label class="col-sm-4 control-label collectLabel">住院次数:</label>
<div class="col-sm-7"> <div class="col-sm-7">
<input type="number" class="form-control input-sm input" min="1" readonly id="admissTimes1"> <input type="number" class="form-control input-sm input" min="1" readonly
id="admissTimes1">
</div> </div>
<div class="col-sm-1"></div> <div class="col-sm-1"></div>
</div> </div>

@ -33,10 +33,19 @@
height: 30px; height: 30px;
} }
.searchDiv2 {
padding-top: 3%;
height: 30px;
}
.tableDiv { .tableDiv {
width: 100%; width: 100%;
background-color: #fff; background-color: #fff;
margin-left: 1%; margin-left: 1%;
transform:translateY(8%);/**下移元素**/
-ms-transform:translateY(8%);
-webkit-transform:translateY(8%);
} }
.dateSearchDiv { .dateSearchDiv {
@ -80,6 +89,7 @@
margin-right: 5px; margin-right: 5px;
margin-left: 10px; margin-left: 10px;
} }
/**批准驳回按钮组*/ /**批准驳回按钮组*/
.approveBtns { .approveBtns {
margin-left: 110px; margin-left: 110px;
@ -118,10 +128,12 @@
<label class="labelDiv">申请日期:</label> <label class="labelDiv">申请日期:</label>
</div> </div>
<div class="dateSearchInput left"> <div class="dateSearchInput left">
<input type="text" class="form-control input-sm" id="startTime1" placeholder="开始时间" autocomplete="off"> <input type="text" class="form-control input-sm" id="startTime1" placeholder="开始时间"
autocomplete="off">
</div> </div>
<div class="dateSearchInput left"> <div class="dateSearchInput left">
<input type="text" class="form-control input-sm" id="endTime1" placeholder="结束时间" autocomplete="off"> <input type="text" class="form-control input-sm" id="endTime1" placeholder="结束时间"
autocomplete="off">
</div> </div>
</div> </div>
<div class="searchInput left"> <div class="searchInput left">
@ -162,10 +174,12 @@
<label class="labelDiv">审批日期:</label> <label class="labelDiv">审批日期:</label>
</div> </div>
<div class="dateSearchInput left"> <div class="dateSearchInput left">
<input type="text" class="form-control input-sm" id="startTime2" placeholder="开始时间" autocomplete="off"> <input type="text" class="form-control input-sm" id="startTime2" placeholder="开始时间"
autocomplete="off">
</div> </div>
<div class="dateSearchInput left"> <div class="dateSearchInput left">
<input type="text" class="form-control input-sm" id="endTime2" placeholder="结束时间" autocomplete="off"> <input type="text" class="form-control input-sm" id="endTime2" placeholder="结束时间"
autocomplete="off">
</div> </div>
</div> </div>
<div class="searchInput left"> <div class="searchInput left">
@ -178,11 +192,27 @@
</div> </div>
<div class="btnsDiv"> <div class="btnsDiv">
<button type="button" class="btn btn-sm btn-primary" onclick="refreshTable()">查询</button> <button type="button" class="btn btn-sm btn-primary" onclick="refreshTable()">查询</button>
</div>
</div>
<div class="searchDiv2">
<div class="btnsDiv">
<shiro:hasPermission name="/approve/updateApprove"> <shiro:hasPermission name="/approve/updateApprove">
<button id="addApprovesMore" type="button" class="btn btn-sm btn-warning" onclick="addApprovesMore()"> + 批量审批</button> <button id="addApprovesMore" type="button" class="btn btn-sm btn-warning"
onclick="addApprovesMore()">批量审批
</button>
</shiro:hasPermission> </shiro:hasPermission>
<shiro:hasPermission name="/approve/exportExcelApproveList"> <shiro:hasPermission name="/approve/exportExcelApproveList">
<button type="button" class="btn btn-sm btn-primary" onclick="exportExcel()"><i class="fa fa-reply"></i>导出</button> <button type="button" class="btn btn-sm btn-primary" onclick="exportExcel()"><i
class="fa fa-reply"></i>导出
</button>
</shiro:hasPermission>
<shiro:hasPermission name="/approve/updateReturn">
<button class="btn btn-sm btn-warning btns" data-toggle="modal" data-target="#myModal">快速归还
</button>
</shiro:hasPermission>
<shiro:hasPermission name="/approve/updateReturn">
<button class="btn btn-sm btn-warning btns" data-toggle="modal" data-target="#myBorrowing">快速借阅
</button>
</shiro:hasPermission> </shiro:hasPermission>
</div> </div>
</div> </div>
@ -222,7 +252,8 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label">有效时间:</label> <label class="col-sm-4 control-label">有效时间:</label>
<div class="col-sm-7"> <div class="col-sm-7">
<input type="text" class="form-control input-sm input" id="effeTime" name="effeTime" autocomplete="off"> <input type="text" class="form-control input-sm input" id="effeTime" name="effeTime"
autocomplete="off">
</div> </div>
<div class="col-sm-1"></div> <div class="col-sm-1"></div>
</div> </div>
@ -231,7 +262,8 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label">申请天数:</label> <label class="col-sm-4 control-label">申请天数:</label>
<div class="col-sm-7"> <div class="col-sm-7">
<input type="number" class="form-control input-sm input" id="effeDays" name="effeDays" oninput="if(value.length>4)value=value.slice(0,4)"> <input type="number" class="form-control input-sm input" id="effeDays" name="effeDays"
oninput="if(value.length>4)value=value.slice(0,4)">
</div> </div>
<div class="col-sm-1"></div> <div class="col-sm-1"></div>
</div> </div>
@ -343,18 +375,22 @@
<div class="form-group"> <div class="form-group">
<label class="col-sm-4 control-label">批注:</label> <label class="col-sm-4 control-label">批注:</label>
<div class="col-sm-7"> <div class="col-sm-7">
<textarea class="form-control input-sm input" id="moreApproveNotes" name="approveNotes" maxlength="250"></textarea> <textarea class="form-control input-sm input" id="moreApproveNotes" name="approveNotes"
maxlength="250"></textarea>
</div> </div>
<div class="col-sm-1"></div> <div class="col-sm-1"></div>
</div> </div>
</div> </div>
<div class=""> <div class="">
<button type="button" class="btn btn-sm btn-primary approveBtns" onclick="moreAdd(1)">批准</button> <button type="button" class="btn btn-sm btn-primary approveBtns" onclick="moreAdd(1)">批准
<button type="button" class="btn btn-sm btn-danger approveBtns" onclick="moreAdd(2)">驳回</button> </button>
<button type="button" class="btn btn-sm btn-danger approveBtns" onclick="moreAdd(2)">驳回
</button>
</div> </div>
</form> </form>
<div id="tabDiv" style="height: 490px;overflow: auto;"> <div id="tabDiv" style="height: 490px;overflow: auto;">
<table id="moreApproveTable" class="table table-striped" bgcolor="#FFFAFA" border="0" cellspacing="0" cellpadding="0"> <table id="moreApproveTable" class="table table-striped" bgcolor="#FFFAFA" border="0"
cellspacing="0" cellpadding="0">
<caption>所选批量审批信息</caption> <caption>所选批量审批信息</caption>
<thead> <thead>
<tr> <tr>
@ -399,6 +435,87 @@
</div> </div>
</div> </div>
</div> </div>
<%--快速归还弹窗--%>
<div class="modal fade" id="myModal" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
<font size="30">&times;</font>
</button>
<h4 class="modal-title" style="font-weight: bold">
快速归还
</h4>
</div>
<div class="modal-body">
<form onsubmit="return false;" id="barCodeReturnTable">
<div class="form-group">
<label class="col-form-label">归还人:</label>
<input type="text" autofocus class="form-control" id="barCodeName">
</div>
<div class="form-group">
<label class="col-form-label">条形码:</label>
<input type="text" autofocus class="form-control" id="barCodeReturn">
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal" onclick="emptyForm()">取消</button>
<button type="button" class="btn btn-primary" onclick="updateReturn()">确定</button>
</div>
</div>
</div>
</div>
<%--快速借阅弹窗--%>
<div class="modal fade" id="myBorrowing" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
<font size="30">&times;</font>
</button>
<h4 class="modal-title" style="font-weight: bold">
快速借阅
</h4>
</div>
<div class="modal-body">
<form onsubmit="return false;" id="borrowingTable">
<div class="form-group">
<label class="col-form-label">申请天数:</label>
<input type="text" autofocus class="form-control" id="effeDaysBorrowing">
</div>
<div class="form-group">
<label class="col-form-label">申请类型:</label>
<select class="form-control" id="applyTypeBorrowing" name="applyTypeBorrowing">
</select>
<div class="col-sm-1"></div>
</div>
<div class="form-group">
<label class="col-form-label">申请理由:</label>
<input type="text" autofocus class="form-control" id="applyReasonBorrowing">
</div>
<div class="form-group">
<label class="col-form-label">申请人工号:</label>
<input type="text" autofocus class="form-control" id="applyUserName">
</div>
<div class="form-group">
<label class="col-form-label">条形码:</label>
<input type="text" autofocus class="form-control" id="barCodeBorrowing">
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal" onclick="emptyBorrowingForm()">取消
</button>
<button type="button" class="btn btn-primary" onclick="fastBorrowing()">确定</button>
</div>
</div>
</div>
</div>
<script> <script>
$(function () { $(function () {
$(".modal-dialog").draggable();//为模态对话框添加拖拽 $(".modal-dialog").draggable();//为模态对话框添加拖拽

@ -173,7 +173,7 @@
</h4> </h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<form> <form id="borrowingTable">
<div class="form-group"> <div class="form-group">
<label for="batchName" class="col-form-label">批次名称:</label> <label for="batchName" class="col-form-label">批次名称:</label>
<input type="text" autofocus class="form-control" id="batchNotes"> <input type="text" autofocus class="form-control" id="batchNotes">
@ -185,7 +185,7 @@
</form> </form>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal">取消</button> <button type="button" class="btn btn-primary" data-dismiss="modal" onclick="emptyBorrowingForm()">取消</button>
<button type="button" class="btn btn-primary" onclick="insertBatch()">确定</button> <button type="button" class="btn btn-primary" onclick="insertBatch()">确定</button>
</div> </div>
</div> </div>

@ -2,6 +2,7 @@
<%@ page contentType="text/html;charset=UTF-8" language="java" %> <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<c:set var="path" value="${pageContext.request.contextPath}"/> <c:set var="path" value="${pageContext.request.contextPath}"/>
<%@ include file="/WEB-INF/jspf/common.jspf" %> <%@ include file="/WEB-INF/jspf/common.jspf" %>
<%@taglib prefix="shiro" uri="http://shiro.apache.org/tags" %>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="utf-8"/> <meta charset="utf-8"/>
@ -136,7 +137,9 @@
<div class="btnsDiv"> <div class="btnsDiv">
<button type="button" class="btn btn-sm btn-primary" onclick="refreshTable()">查询</button> <button type="button" class="btn btn-sm btn-primary" onclick="refreshTable()">查询</button>
<button type="button" class="btn btn-sm btn-primary" onclick="empty()">清空</button> <button type="button" class="btn btn-sm btn-primary" onclick="empty()">清空</button>
<button class="btn btn-sm btn-warning btns" id="borrowings" data-toggle="modal" data-target="#borrowingModal" onclick="addApprovesMore()">批量添加</button> <button class="btn btn-sm btn-warning btns" id="borrowings" data-toggle="modal"
data-target="#borrowingModal" onclick="addApprovesMore()">批量添加
</button>
</div> </div>
</div> </div>
<div class="searchDiv1"> <div class="searchDiv1">
@ -158,7 +161,8 @@
</div> </div>
<!-- 模态框1Modal借阅申请 --> <!-- 模态框1Modal借阅申请 -->
<div class="modal fade" id="borrowingModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true"> <div class="modal fade" id="borrowingModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel"
aria-hidden="true">
<div class="modal-dialog"> <div class="modal-dialog">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
@ -202,7 +206,8 @@
</div> </div>
</form> </form>
<div id="tabDiv" style="height: 490px;overflow: auto;"> <div id="tabDiv" style="height: 490px;overflow: auto;">
<table id="moreApproveTable" class="table table-striped" bgcolor="#FFFAFA" border="0" cellspacing="0" cellpadding="0"> <table id="moreApproveTable" class="table table-striped" bgcolor="#FFFAFA" border="0"
cellspacing="0" cellpadding="0">
<caption>所选批量申请借阅信息</caption> <caption>所选批量申请借阅信息</caption>
<thead> <thead>
<tr> <tr>
@ -230,23 +235,8 @@
</div> </div>
</div> </div>
<!--申请借阅列表-->
<%--<div class="main">--%> <%--------------------------------------------------------------------------<申请借阅列表>-------------------------------------------------------%>
<%-- <div class="headDiv">--%>
<%-- <div class="headSpanDiv">--%>
<%-- <span class="headspan">--%>
<%-- 申请借阅列表--%>
<%-- </span>--%>
<%-- </div>--%>
<%-- </div>--%>
<%-- <div class="mainDiv">--%>
<%-- --%>
<%-- <div id="borrowingDiv" class="table-responsive tableDiv">--%>
<%-- <table id="borrowingTab" class="table text-nowrap table-bordered">--%>
<%-- </table>--%>
<%-- </div>--%>
<%-- </div>--%>
<%--</div>--%>
<div class="main"> <div class="main">
@ -272,7 +262,17 @@
<div class="btnsDiv"> <div class="btnsDiv">
<button type="button" class="btn btn-sm btn-primary" onclick="refreshBorrowingTab()">查询</button> <button type="button" class="btn btn-sm btn-primary" onclick="refreshBorrowingTab()">查询</button>
<button type="button" class="btn btn-sm btn-primary" onclick="borrowingEmpty()">清空</button> <button type="button" class="btn btn-sm btn-primary" onclick="borrowingEmpty()">清空</button>
<button class="btn btn-sm btn-warning btns" id="addApprove" data-toggle="modal" data-target="#approveModal" onclick="batchApprove()">批量审核</button> <shiro:hasPermission name="/approve/updateReturn">
<button class="btn btn-sm btn-warning btns" data-toggle="modal" data-target="#myModal">快速归还
</button>
</shiro:hasPermission>
<shiro:hasPermission name="/approve/updateReturn">
<button class="btn btn-sm btn-warning btns" data-toggle="modal" data-target="#myBorrowing">快速借阅
</button>
</shiro:hasPermission>
<button class="btn btn-sm btn-warning btns" id="addApprove" data-toggle="modal"
data-target="#approveModal" onclick="batchApprove()">批量审核
</button>
</div> </div>
</div> </div>
<div id="borrowingDiv" class="table-responsive tableDiv"> <div id="borrowingDiv" class="table-responsive tableDiv">
@ -297,7 +297,8 @@
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div id="approveTabDiv" style="height: 490px;overflow: auto;"> <div id="approveTabDiv" style="height: 490px;overflow: auto;">
<table id="approveTable" class="table table-striped" bgcolor="#FFFAFA" border="0" cellspacing="0" cellpadding="0"> <table id="approveTable" class="table table-striped" bgcolor="#FFFAFA" border="0" cellspacing="0"
cellpadding="0">
<caption>所选批量审核信息</caption> <caption>所选批量审核信息</caption>
<thead> <thead>
<tr> <tr>
@ -326,6 +327,84 @@
</div> </div>
<%--快速归还弹窗--%>
<div class="modal fade" id="myModal" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
<font size="30">&times;</font>
</button>
<h4 class="modal-title" style="font-weight: bold">
快速归还
</h4>
</div>
<div class="modal-body">
<form onsubmit="return false;" id="barCodeReturnTable">
<div class="form-group">
<label class="col-form-label">归还人:</label>
<input type="text" autofocus class="form-control" id="barCodeName">
</div>
<div class="form-group">
<label class="col-form-label">条形码:</label>
<input type="text" autofocus class="form-control" id="barCodeReturn">
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal" onclick="emptyForm()">取消</button>
<button type="button" class="btn btn-primary" onclick="updateReturn()">确定</button>
</div>
</div>
</div>
</div>
<%--快速借阅弹窗--%>
<div class="modal fade" id="myBorrowing" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">
<font size="30">&times;</font>
</button>
<h4 class="modal-title" style="font-weight: bold">
快速借阅
</h4>
</div>
<div class="modal-body">
<form onsubmit="return false;" id="borrowingTable">
<div class="form-group">
<label class="col-form-label">申请天数:</label>
<input type="text" autofocus class="form-control" id="effeDaysBorrowing">
</div>
<div class="form-group">
<label class="col-form-label">申请类型:</label>
<input type="text" class="form-control input-sm input" id="applyTypeBorrowing"
name="applyTypeBorrowing" ovalue="2" placeholder="纸质申请" readonly="readonly">
</div>
<div class="form-group">
<label class="col-form-label">申请理由:</label>
<input type="text" autofocus class="form-control" id="applyReasonBorrowing">
</div>
<div class="form-group">
<label class="col-form-label">申请人工号:</label>
<input type="text" autofocus class="form-control" id="applyUserName">
</div>
<div class="form-group">
<label class="col-form-label">条形码:</label>
<input type="text" autofocus class="form-control" id="barCodeBorrowing">
</div>
</form>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-primary" data-dismiss="modal" onclick="emptyBorrowingForm()">取消
</button>
<button type="button" class="btn btn-primary" onclick="fastBorrowing()">确定</button>
</div>
</div>
</div>
</div>
<script src="${path}/static/js/batchApply/batchApplyDetails.js?t=2021-08-20"></script> <script src="${path}/static/js/batchApply/batchApplyDetails.js?t=2021-08-20"></script>

@ -4,23 +4,25 @@ $(function () {
//加载时间 //加载时间
initDateInput(2); initDateInput(2);
//加载申请类型 //加载申请类型
loadSelect(path+ '/approve/loadType','searchApplyType','applyType'); loadSelect(path + '/approve/loadType', 'searchApplyType', 'applyType');
//加载申请类型 //加载申请类型
loadSelect(path+ '/approve/loadType','applyType5',''); loadSelect(path + '/approve/loadType', 'applyType5', '');
//加载申请类型
loadSelect(path + '/approve/loadType', 'applyTypeBorrowing', '');
}) })
var pageNumber; var pageNumber;
//申请原因模板级联内容 //申请原因模板级联内容
$("#parentId").change(function(){ $("#parentId").change(function () {
$("#applyReason").val(""); $("#applyReason").val("");
var parentId = $("#parentId").val(); var parentId = $("#parentId").val();
if(parentId != '' && parentId != null){ if (parentId != '' && parentId != null) {
$.ajax({ $.ajax({
type:'get', type: 'get',
url:path+'/annotationTemplate/getAnnoTemplateByParentId?parentId='+parentId, url: path + '/annotationTemplate/getAnnoTemplateByParentId?parentId=' + parentId,
dataType:'json', dataType: 'json',
success:function (data) { success: function (data) {
if(data != null && data != ''){ if (data != null && data != '') {
$("#applyReason").val(data); $("#applyReason").val(data);
} }
} }
@ -31,26 +33,26 @@ $("#parentId").change(function(){
* 加载数据表格 * 加载数据表格
*/ */
$('#mytab').bootstrapTable({ $('#mytab').bootstrapTable({
height:5000, height: 5000,
toolbar: '#toolbar', //工具按钮用哪个容器 toolbar: '#toolbar', //工具按钮用哪个容器
striped: true, //是否显示行间隔色 striped: true, //是否显示行间隔色
cache: false, //是否使用缓存默认为true所以一般情况下需要设置一下这个属性* cache: false, //是否使用缓存默认为true所以一般情况下需要设置一下这个属性*
pagination: true, //是否显示分页(* pagination: true, //是否显示分页(*
sidePagination: "server", //分页方式client客户端分页server服务端分页* sidePagination: "server", //分页方式client客户端分页server服务端分页*
paginationPreText : '上一页', paginationPreText: '上一页',
paginationNextText : '下一页', paginationNextText: '下一页',
pageNumber: 1, //初始化加载第一页,默认第一页 pageNumber: 1, //初始化加载第一页,默认第一页
pageSize: 5, //每页的记录行数(* pageSize: 10, //每页的记录行数(*
pageList: [5,10,15,20,30,50],//可供选择的每页的行数(* pageList: [5, 10, 15, 20, 30, 50],//可供选择的每页的行数(*
height: $(window).height()-134, //行高如果没有设置height属性表格自动根据记录条数觉得表格高度 height: $(window).height() - 134, //行高如果没有设置height属性表格自动根据记录条数觉得表格高度
columns:[ columns: [
{ {
title:'全选', title: '全选',
field:'select', field: 'select',
checkbox:true, checkbox: true,
width:25, width: 25,
align:'center', align: 'center',
valign:'middle' valign: 'middle'
}, },
{ {
field: 'no', field: 'no',
@ -58,175 +60,187 @@ $('#mytab').bootstrapTable({
sortable: true, sortable: true,
formatter: function (value, row, index) { formatter: function (value, row, index) {
//获取每页显示的数量 //获取每页显示的数量
var pageSize=$('#mytab').bootstrapTable('getOptions').pageSize; var pageSize = $('#mytab').bootstrapTable('getOptions').pageSize;
//获取当前是第几页 //获取当前是第几页
var pageNumber=$('#mytab').bootstrapTable('getOptions').pageNumber; var pageNumber = $('#mytab').bootstrapTable('getOptions').pageNumber;
//返回序号注意index是从0开始的所以要加上1 //返回序号注意index是从0开始的所以要加上1
return pageSize * (pageNumber - 1) + index + 1; return pageSize * (pageNumber - 1) + index + 1;
} }
}, },
{ {
title:'申请人', title: '申请人',
field:'applyer', field: 'applyer',
}, },
{ {
title:'申请日期', title: '申请日期',
field:'applyTime', field: 'applyTime',
}, },
{ {
title:'有效日期', title: '有效日期',
field:'effeTime', field: 'effeTime',
}, },
{ {
title:'有效天数', title: '有效天数',
field:'effeDays', field: 'effeDays',
}, },
{ {
title:'姓名', title: '姓名',
field:'name', field: 'name',
}, },
{ {
title:'病案号', title: '病案号',
field:'inpatientNo', field: 'inpatientNo',
}, },
{ {
title:'住院次数', title: '住院次数',
field:'admissTimes', field: 'admissTimes',
}, },
{ {
title:'出院日期', title: '出院日期',
field:'disDate', field: 'disDate',
formatter: crtTimeFtt formatter: crtTimeFtt
}, },
{ {
title:'申请原因', title: '申请原因',
field:'applyReason', field: 'applyReason',
}, },
{ {
title:'申请类型', title: '申请类型',
field:'applyType', field: 'applyType',
}, },
{ {
title:'申请状态', title: '申请状态',
field:'applyState', field: 'applyState',
formatter: function (value, row, index) { formatter: function (value, row, index) {
var spanValue; var spanValue;
if(value == '已过期'){ if (value == '已过期') {
spanValue = '<p class="text-danger">已过期</p>'; spanValue = '<p class="text-danger">已过期</p>';
}else if(value == '未提交'){ } else if (value == '未提交') {
spanValue = '<p style="color:grey">未提交</p>'; spanValue = '<p style="color:grey">未提交</p>';
}else if(value == '已提交'){ } else if (value == '已提交') {
spanValue = '<p class="text-success">已提交</p>'; spanValue = '<p class="text-success">已提交</p>';
} }
return spanValue; return spanValue;
} }
}, },
{ {
title:'审批状态', title: '审批状态',
field:'approveState', field: 'approveState',
formatter: function (value, row, index) { formatter: function (value, row, index) {
var returnState = row.returnState;
var spanValue; var spanValue;
if(value == '已过期'){ if (returnState == '1') {
spanValue = '<p class="text-success">已归还</p>';
return spanValue;
}
if (value == '已过期') {
spanValue = '<p class="text-danger">已过期</p>'; spanValue = '<p class="text-danger">已过期</p>';
}else if(value == '待审批'){ } else if (value == '待审批') {
spanValue = '<p style="color:grey">待审批</p>'; spanValue = '<p style="color:grey">待审批</p>';
}else if(value == '审核通过'){ } else if (value == '审核通过') {
spanValue = '<p class="text-success">审核通过</p>'; spanValue = '<p class="text-success">审核通过</p>';
}else if(value == '审核不通过'){ } else if (value == '审核不通过') {
spanValue = '<p class="text-danger">审核不通过</p>'; spanValue = '<p class="text-danger">审核不通过</p>';
} }
return spanValue; return spanValue;
} }
}, },
{ {
title:'批注内容', title: '批注内容',
field:'approveNotes', field: 'approveNotes',
},
{
title: '归还人',
field: 'returnNameString',
},
{
title: '归还时间',
field: 'returnTime',
}, },
{ {
title:'操作', title: '操作',
formatter: function(value,row,index){ formatter: function (value, row, index) {
var patientId = "'" + row.patientId + "'"; var returnState = row.returnState;
var editanddrop = ''; var editanddrop = '';
var addOper = row.addOper; var addOper = row.addOper;
var updateOper = row.updateOper; var updateOper = row.updateOper;
var deleteOper = row.deleteOper; var deleteOper = row.deleteOper;
if(row.lockStatus == 0){ if (row.lockStatus == 0) {
if(row.applyState != '已提交'){ if (row.applyState != '已提交') {
if(row.approveState != '已过期'){ if (row.approveState != '已过期') {
//非已提交,提供申请,编辑,删除 //非已提交,提供申请,编辑,删除
if(addOper == 1){ if (addOper == 1) {
editanddrop += '<button type="button" onclick="updateThenAdd('+row.id+')" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#myModal3">提交申请</button>'; editanddrop += '<button type="button" onclick="updateThenAdd(' + row.id + ')" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#myModal3">提交申请</button>';
} }
} }
if(updateOper == 1){ if (updateOper == 1) {
//非已提交,提供申请,编辑,删除 //非已提交,提供申请,编辑,删除
editanddrop += '<button type="button" onclick="updateApprove('+row.id+')" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#myModal3">编辑</button>'; editanddrop += '<button type="button" onclick="updateApprove(' + row.id + ')" class="btn btn-sm btn-primary" data-toggle="modal" data-target="#myModal3">编辑</button>';
} }
} }
if(row.applyState == '已提交'){ if (row.applyState == '已提交') {
if(row.approveState == '审核通过'){ if (row.approveState == '审核通过' && returnState !== "1") {
editanddrop += '<a type="button" href="'+path+'/commom/showRecord174?patientId='+row.patientId+'" class="btn btn-danger TableView btn-sm" target="_blank">查看详情</a>'; editanddrop += '<a type="button" href="' + path + '/commom/showRecord174?patientId=' + row.patientId + '" class="btn btn-danger TableView btn-sm" target="_blank">查看详情</a>';
}else{ } else {
//已提交,提供查看 //已提交,提供查看
editanddrop += '<button type="button" onclick="showApprove('+row.id+')" class="btn btn-sm btn-success" data-toggle="modal" data-target="#myModal4">查看历史</button>'; editanddrop += '<button type="button" onclick="showApprove(' + row.id + ')" class="btn btn-sm btn-success" data-toggle="modal" data-target="#myModal4">查看历史</button>';
} }
} }
} }
if(deleteOper == 1){ if (deleteOper == 1) {
editanddrop += '<button type="button" onclick="deleteApprove('+row.id+')" class="btn btn-sm btn-danger">删除</button>'; editanddrop += '<button type="button" onclick="deleteApprove(' + row.id + ')" class="btn btn-sm btn-danger">删除</button>';
} }
return editanddrop; return editanddrop;
} }
} }
], ],
locale:'zh-CN',//中文支持, locale: 'zh-CN',//中文支持,
url:path+'/approve/getApproveList',//排序方式 url: path + '/approve/getApproveList',//排序方式
queryParams: function (params) { queryParams: function (params) {
return{ return {
limit : params.limit, // 每页显示数量 limit: params.limit, // 每页显示数量
offset : params.offset, // SQL语句起始索引 offset: params.offset, // SQL语句起始索引
page : (params.offset / params.limit) + 1, //当前页码, page: (params.offset / params.limit) + 1, //当前页码,
startTime1:$("#startTime1").val(), startTime1: $("#startTime1").val(),
endTime1:$("#endTime1").val(), endTime1: $("#endTime1").val(),
applyer:$("#applyerSearch").val(), applyer: $("#applyerSearch").val(),
name:$("#searchName").val(), name: $("#searchName").val(),
applyType:$("#searchApplyType").val(), applyType: $("#searchApplyType").val(),
applyState:$("#searchApplyState").val() applyState: $("#searchApplyState").val()
} }
}, },
responseHandler:function(res){ responseHandler: function (res) {
//在ajax获取到数据渲染表格之前修改数据源 //在ajax获取到数据渲染表格之前修改数据源
var nres = []; var nres = [];
nres.push({total:res.total,rows:res.list}); nres.push({total: res.total, rows: res.list});
return nres[0]; return nres[0];
}, },
onLoadSuccess:function(){ onLoadSuccess: function () {
$(".page-list").show(); $(".page-list").show();
$(".fixed-table-body").css("overflow","auto"); $(".fixed-table-body").css("overflow", "auto");
}, },
//监听分页点击事件 //监听分页点击事件
onPageChange: function(num, type) { onPageChange: function (num, type) {
pageNumber = num; pageNumber = num;
}, },
//选中单个复选框 //选中单个复选框
onCheck:function(row){ onCheck: function (row) {
var checks = $("#checks").val(); var checks = $("#checks").val();
$("#checks").val(checks+="'"+row.id + "',"); $("#checks").val(checks += "'" + row.id + "',");
}, },
//取消单个复选框 //取消单个复选框
onUncheck:function(row){ onUncheck: function (row) {
var checks = $("#checks").val(); var checks = $("#checks").val();
checks = checks.replace("'"+row.id + "',",""); checks = checks.replace("'" + row.id + "',", "");
$("#checks").val(checks); $("#checks").val(checks);
}, },
//全选 //全选
onCheckAll:function(rows){ onCheckAll: function (rows) {
$("#checks").val(""); $("#checks").val("");
var checks = ''; var checks = '';
for(var i=0;i<rows.length;i++) for (var i = 0; i < rows.length; i++) {
{ checks += "'" + rows[i].id + "',"
checks += "'"+rows[i].id + "',"
} }
$("#checks").val(checks); $("#checks").val(checks);
}, },
@ -246,27 +260,27 @@ function crtTimeFtt(val) {
/** /**
* 查询按钮 * 查询按钮
*/ */
function refreshTable(){ function refreshTable() {
$("#checks").val(""); $("#checks").val("");
$('#mytab').bootstrapTable('refresh',{ $('#mytab').bootstrapTable('refresh', {
url : path+'/approve/getApproveList' url: path + '/approve/getApproveList'
}) })
} }
/** /**
* 批量添加按钮 * 批量添加按钮
*/ */
function addApproves(){ function addApproves() {
pickTime("effeTime5", null); pickTime("effeTime5", null);
form5.reset(); form5.reset();
//加载申请原因模板 //加载申请原因模板
loadSelect(path+ '/approve/loadReasonModle','parentId5',''); loadSelect(path + '/approve/loadReasonModle', 'parentId5', '');
} }
/** /**
* 添加按钮 * 添加按钮
*/ */
function addApprove(){ function addApprove() {
pickTime("effeTime", null); pickTime("effeTime", null);
setFormToken(); setFormToken();
$("#inpatientNo").removeAttr("readonly"); $("#inpatientNo").removeAttr("readonly");
@ -275,16 +289,16 @@ function addApprove(){
$("#approveId").val(""); $("#approveId").val("");
form3.reset(); form3.reset();
//加载申请原因模板 //加载申请原因模板
loadSelect(path+ '/approve/loadReasonModle','parentId',''); loadSelect(path + '/approve/loadReasonModle', 'parentId', '');
} }
/** /**
* 批量申请保存 * 批量申请保存
* @returns {boolean} * @returns {boolean}
*/ */
function addSimple(){ function addSimple() {
if($("#effeTime5").val() != ''){ if ($("#effeTime5").val() != '') {
if($("#applyType5").val() != '') { if ($("#applyType5").val() != '') {
var url = "/approve/simpleAddApprove174"; var url = "/approve/simpleAddApprove174";
var fileDir = $("#upfile").val(); var fileDir = $("#upfile").val();
var suffix = fileDir.substr(fileDir.lastIndexOf(".")); var suffix = fileDir.substr(fileDir.lastIndexOf("."));
@ -304,7 +318,7 @@ function addSimple(){
type: 'POST', type: 'POST',
url: url, url: url,
dataType: 'text',//服务器返回的数据类型 可选XML ,Json jsonp script html text等 dataType: 'text',//服务器返回的数据类型 可选XML ,Json jsonp script html text等
data: {upfile:$("#upfile").val()}, data: {upfile: $("#upfile").val()},
error: function () { error: function () {
$("#form5").removeAttr('disabled'); $("#form5").removeAttr('disabled');
toastr.warning("导入excel出错!") toastr.warning("导入excel出错!")
@ -339,11 +353,11 @@ function addSimple(){
$("#form5").removeAttr('disabled'); $("#form5").removeAttr('disabled');
} }
}); });
}else{ } else {
toastr.warning("申请类型不能为空!"); toastr.warning("申请类型不能为空!");
$("#applyType5").focus(); $("#applyType5").focus();
} }
}else{ } else {
toastr.warning("有效时间不能为空!"); toastr.warning("有效时间不能为空!");
$("#effeTime5").focus(); $("#effeTime5").focus();
} }
@ -353,22 +367,22 @@ function addSimple(){
* 编辑 * 编辑
* @param id * @param id
*/ */
function updateApprove(id){ function updateApprove(id) {
pickTime("effeTime", null); pickTime("effeTime", null);
//加载申请原因模板 //加载申请原因模板
loadSelect(path+ '/approve/loadReasonModle','parentId',''); loadSelect(path + '/approve/loadReasonModle', 'parentId', '');
$("#inpatientNo").prop("readonly",true); $("#inpatientNo").prop("readonly", true);
$("#name").prop("readonly",true); $("#name").prop("readonly", true);
$("#admissTimes").prop("readonly",true); $("#admissTimes").prop("readonly", true);
$("#startTime2").prop("readonly",true); $("#startTime2").prop("readonly", true);
$("#endTime2").prop("readonly",true); $("#endTime2").prop("readonly", true);
$.ajax({ $.ajax({
type:'get', type: 'get',
url:path+'/approve/getApproveById', url: path + '/approve/getApproveById',
data:{id:id}, data: {id: id},
dataType:'json', dataType: 'json',
success:function(data){ success: function (data) {
if(null != data){ if (null != data) {
$("#approveId").val(data.id); $("#approveId").val(data.id);
$("#effeTime").val(data.effeTime); $("#effeTime").val(data.effeTime);
$("#effeDays").val(data.effeDays); $("#effeDays").val(data.effeDays);
@ -393,26 +407,26 @@ function updateApprove(id){
* 查看详情 * 查看详情
* @param patientId * @param patientId
*/ */
function showDetail(patientId){ function showDetail(patientId) {
//隐藏模板选项 //隐藏模板选项
window.location.href=path+"/commom/showRecord174?patientId="+patientId; window.location.href = path + "/commom/showRecord174?patientId=" + patientId;
} }
/** /**
* 显示申请信息详情 * 显示申请信息详情
* @param id * @param id
*/ */
function showApprove(id){ function showApprove(id) {
loadSelect(path+ '/approve/loadType',null,'applyType1'); loadSelect(path + '/approve/loadType', null, 'applyType1');
//加载申请原因模板 //加载申请原因模板
loadSelect(path+ '/approve/loadReasonModle',null,'parentId1'); loadSelect(path + '/approve/loadReasonModle', null, 'parentId1');
$.ajax({ $.ajax({
type:'get', type: 'get',
url:path+'/approve/getApproveById', url: path + '/approve/getApproveById',
data:{id:id}, data: {id: id},
dataType:'json', dataType: 'json',
success:function(data){ success: function (data) {
if(null != data){ if (null != data) {
$("#approveId1").val(data.id); $("#approveId1").val(data.id);
$("#effeTime1").val(data.effeTime); $("#effeTime1").val(data.effeTime);
$("#effeDays1").val(data.effeDays); $("#effeDays1").val(data.effeDays);
@ -432,11 +446,11 @@ function showApprove(id){
* 提交申请按钮功能 * 提交申请按钮功能
* @param id * @param id
*/ */
function updateThenAdd(id){ function updateThenAdd(id) {
updateApprove(id); updateApprove(id);
setTimeout(function(){ setTimeout(function () {
add(); add();
},1000) }, 1000)
$('#mytab').bootstrapTable('selectPage', pageNumber); $('#mytab').bootstrapTable('selectPage', pageNumber);
} }
@ -444,7 +458,7 @@ function updateThenAdd(id){
* 删除 * 删除
* @param id * @param id
*/ */
function deleteApprove(id){ function deleteApprove(id) {
Common.confirm({ Common.confirm({
title: "提示", title: "提示",
message: "请确认是否删除该对象?", message: "请确认是否删除该对象?",
@ -472,22 +486,122 @@ function deleteApprove(id){
/** /**
* 导出excel功能 * 导出excel功能
*/ */
function exportExcel(){ function exportExcel() {
var checks = $("#checks").val(); var checks = $("#checks").val();
if(checks != '') { if (checks != '') {
checks = checks.substring(0, checks.length - 1); checks = checks.substring(0, checks.length - 1);
var url = path+"/approve/exportExcelApplyList?checks="+checks; var url = path + "/approve/exportExcelApplyList?checks=" + checks;
window.location.href = url; window.location.href = url;
}else{ } else {
Common.confirm({ Common.confirm({
title: "提示", title: "提示",
message: "没有选中,您确定要按搜索栏条件导出?", message: "没有选中,您确定要按搜索栏条件导出?",
operate: function (reselt) { operate: function (reselt) {
if (reselt) { if (reselt) {
var url = path+"/approve/exportExcelApplyList?startTime="+$("#startTime1").val()+"&endTime="+$("#endTime1").val()+"&name="+$("#searchName").val()+"&applyer="+$("#applyerSearch").val()+"&applyType="+$("#searchApplyType").val()+"&applyState="+$("#searchApplyState").val(); var url = path + "/approve/exportExcelApplyList?startTime=" + $("#startTime1").val() + "&endTime=" + $("#endTime1").val() + "&name=" + $("#searchName").val() + "&applyer=" + $("#applyerSearch").val() + "&applyType=" + $("#searchApplyType").val() + "&applyState=" + $("#searchApplyState").val();
window.location.href = url; window.location.href = url;
} }
} }
}) })
} }
} }
//快速归还
function updateReturn() {
var barCode = $("#barCodeReturn").val();
$.ajax({
type: 'post',
url: path + '/applyDetails/updateReturn',
data: {barCode: barCode},
dataType: 'json',
success: function (data) {
if (data == 0) {
refreshTable();
document.getElementById("barCodeReturn").value = "";
return toastr.warning("归还失败,查询不到病历!");
}
if (data == 2) {
refreshTable();
document.getElementById("barCodeReturn").value = "";
return toastr.warning("查询不到需要归还病历!");
}
if (data == 1) {
refreshTable();
document.getElementById("barCodeReturn").value = "";
return toastr.success("归还成功!");
}
}
})
}
//清空快速归还、快速借阅表单
function emptyForm(){
$('#barCodeReturnTable')[0].reset();
$('#borrowingTable')[0].reset();
}
//清空快速归还、快速借阅表单
function emptyBorrowingForm(){
$('#borrowingTable')[0].reset();
}
//快速借阅
function fastBorrowing() {
var effeDays = $("#effeDaysBorrowing").val()
var applyType = $("#applyTypeBorrowing").val()
var applyReason = $("#applyReasonBorrowing").val()
var barCode = $("#barCodeBorrowing").val()
$.ajax({
type: 'post',
url: path + '/applyDetails/fastBorrowing',
data: {effeDays: effeDays, applyType: applyType, applyReason: applyReason, barCode: barCode},
dataType: 'json',
success: function (data) {
if (data.code==100){
document.getElementById("barCodeBorrowing").value = "";
refreshTable();
return toastr.warning(data.msg);
}
if (data.code==200){
document.getElementById("barCodeBorrowing").value = "";
refreshTable();
return toastr.success(data.msg)
}
}
})
}
//监听回车立即搜索
//键盘回车查询
$("#barCodeReturnTable").bind("keypress", function (e) {
// 兼容FF和IE和Opera
var theEvent = e || window.event;
var code = theEvent.keyCode || theEvent.which || theEvent.charCode;
if (code == 13) {
e.preventDefault();
//回车执行查询
updateReturn();
}
});
//监听回车立即搜索
//键盘回车查询
$("#borrowingTable").bind("keypress", function (e) {
// 兼容FF和IE和Opera
var theEvent = e || window.event;
var code = theEvent.keyCode || theEvent.which || theEvent.charCode;
if (code == 13) {
e.preventDefault();
//回车执行查询
fastBorrowing();
}
});

@ -1,3 +1,9 @@
$(function () {
//加载申请类型
loadSelect(path + '/approve/loadType', 'applyTypeBorrowing', '');
})
var pageNumber; var pageNumber;
var tabChecks; var tabChecks;
//申请原因模板级联内容 //申请原因模板级联内容
@ -96,7 +102,12 @@ $('#mytab').bootstrapTable({
title:'审批状态', title:'审批状态',
field:'approveState', field:'approveState',
formatter: function (value, row, index) { formatter: function (value, row, index) {
var returnState = row.returnState;
var spanValue; var spanValue;
if (returnState == '1') {
spanValue = '<p class="text-success">已归还</p>';
return spanValue;
}
if(value == '已过期'){ if(value == '已过期'){
spanValue = '<p class="text-danger">已过期</p>'; spanValue = '<p class="text-danger">已过期</p>';
}else if(value == '待审批'){ }else if(value == '待审批'){
@ -142,6 +153,14 @@ $('#mytab').bootstrapTable({
title:'审批人', title:'审批人',
field:'approver', field:'approver',
}, },
{
title: '归还人',
field: 'returnNameString',
},
{
title: '归还时间',
field: 'returnTime',
},
{ {
title:'批注内容', title:'批注内容',
field:'approveNotes', field:'approveNotes',
@ -478,4 +497,118 @@ function exportExcel(){
$(function () { $(function () {
initDateInput(1); initDateInput(1);
initDateInput(2); initDateInput(2);
}) })
//清空快速归还、快速借阅表单
function emptyForm(){
$('#barCodeReturnTable')[0].reset();
$('#borrowingTable')[0].reset();
}
//清空快速归还、快速借阅表单
function emptyBorrowingForm(){
$('#borrowingTable')[0].reset();
}
//快速归还
function updateReturn() {
var barCode = $("#barCodeReturn").val();
var barCodeName = $("#barCodeName").val();
$.ajax({
type: 'post',
url: path + '/applyDetails/updateReturn',
data: {barCode: barCode,barCodeName:barCodeName},
dataType: 'json',
success: function (data) {
if (data == 0) {
refreshTable();
document.getElementById("barCodeReturn").value = "";
return toastr.warning("归还失败,查询不到病历!");
}
if (data == 2) {
refreshTable();
document.getElementById("barCodeReturn").value = "";
return toastr.warning("查询不到需要归还病历!");
}
if (data == 1) {
refreshTable();
document.getElementById("barCodeReturn").value = "";
return toastr.success("归还成功!");
}
}
})
}
//监听回车立即搜索
//键盘回车查询
$("#barCodeReturnTable").bind("keypress", function (e) {
// 兼容FF和IE和Opera
var theEvent = e || window.event;
var code = theEvent.keyCode || theEvent.which || theEvent.charCode;
if (code == 13) {
e.preventDefault();
//回车执行查询
updateReturn();
}
});
//快速借阅
function fastBorrowing() {
var effeDays = $("#effeDaysBorrowing").val()
var applyType = $("#applyTypeBorrowing").val()
var applyReason = $("#applyReasonBorrowing").val()
var barCode = $("#barCodeBorrowing").val()
var applyUserName = $("#applyUserName").val()
if (applyUserName == "") {
return toastr.warning("申请人工号不能为空");
}
$.ajax({
type: 'post',
url: path + '/applyDetails/fastBorrowing',
data: {
effeDays: effeDays,
applyType: applyType,
applyReason: applyReason,
barCode: barCode,
userName: applyUserName
},
dataType: 'json',
success: function (data) {
if (data.code == 100) {
document.getElementById("barCodeBorrowing").value = "";
refreshTable();
return toastr.warning(data.msg);
}
if (data.code == 200) {
document.getElementById("barCodeBorrowing").value = "";
refreshTable();
return toastr.success(data.msg)
}
}
})
}
//监听回车立即搜索
//键盘回车查询
$("#borrowingTable").bind("keypress", function (e) {
// 兼容FF和IE和Opera
var theEvent = e || window.event;
var code = theEvent.keyCode || theEvent.which || theEvent.charCode;
if (code == 13) {
e.preventDefault();
//回车执行查询
fastBorrowing();
}
});

@ -60,7 +60,7 @@ $('#mytab').bootstrapTable({
}, },
{ {
title: '已审批数量', title: '已审批数量',
field: 'readNum', field: 'readNums',
}, },
{ {
title: '申请人工号', title: '申请人工号',
@ -257,4 +257,9 @@ function reLoadTable(){
$(function () { $(function () {
initDateInput(1); initDateInput(1);
initDateInput(2); initDateInput(2);
}) })
//清空表单
function emptyBorrowingForm(){
$('#borrowingTable')[0].reset();
}

@ -1,3 +1,4 @@
//------------------------------------------查询结果--------------------------------------------------------- //------------------------------------------查询结果---------------------------------------------------------
let bomIds = [] let bomIds = []
$('#mytab').bootstrapTable({ $('#mytab').bootstrapTable({
@ -125,6 +126,7 @@ $('#mytab').bootstrapTable({
$("#checks").val(""); $("#checks").val("");
} }
}) })
function crtTimeFtt(val) { function crtTimeFtt(val) {
if (val != null) { if (val != null) {
var date = new Date(val); var date = new Date(val);
@ -133,8 +135,8 @@ function crtTimeFtt(val) {
} }
//键盘回车查询 //键盘回车查询
$(document).keyup(function(event){ $(document).keyup(function (event) {
if(event.keyCode ==13){ if (event.keyCode == 13) {
refreshTable(); refreshTable();
} }
}); });
@ -145,20 +147,34 @@ function refreshTable() {
$('#mytab').bootstrapTable('refresh', { $('#mytab').bootstrapTable('refresh', {
url: path + '/applyDetails/getCommomVo', url: path + '/applyDetails/getCommomVo',
}) })
var inpatientNo = $("#inpatientNo").val(); var inpatientNo = $("#inpatientNo").val();
var startTime= $("#startTime1").val(); var startTime = $("#startTime1").val();
var endTime= $("#endTime1").val(); var endTime = $("#endTime1").val();
var admissTimes= $("#admissTimes").val(); var admissTimes = $("#admissTimes").val();
var disDept= $("#dis_dept").val(); var disDept = $("#dis_dept").val();
var batchId=getUrlParam('batchId'); var batchId = getUrlParam('batchId');
var applyName=getUrlParam('applyName') var applyName = getUrlParam('applyName')
$.ajax({ $.ajax({
type:'post', type: 'post',
url:path+'/applyDetails/getCommomVo', url: path + '/applyDetails/getCommomVo',
data:{inpatientNo:inpatientNo,startTime:startTime,endTime:endTime,admissTimes:admissTimes,disDept:disDept,batchId:batchId,refreshTable:1,applyName:applyName}, data: {
dataType:'json', inpatientNo: inpatientNo,
success:function(data){ startTime: startTime,
if (data.size==1){ endTime: endTime,
admissTimes: admissTimes,
disDept: disDept,
batchId: batchId,
refreshTable: 1,
applyName: applyName
},
dataType: 'json',
success: function (data) {
if (data.size == 1) {
var applyStatc = data.list[0].applyStatc;
if (applyStatc != "") {
reLoadBorrowingTab();
return toastr.success(applyStatc);
}
reLoadBorrowingTab(); reLoadBorrowingTab();
toastr.success("当前查询只有一条记录已自动帮你添加到批次中!"); toastr.success("当前查询只有一条记录已自动帮你添加到批次中!");
} }
@ -241,12 +257,11 @@ function add() {
}, },
dataType: 'json', dataType: 'json',
success: function (data) { success: function (data) {
console.log(data.code)
if (data.code == 200) {
return toastr.warning("批量借阅申请失败!");
}
if (data.code == 100) { if (data.code == 100) {
toastr.success("批量借阅申请成功!"); return toastr.warning(data.msg);
}
if (data.code == 200) {
toastr.success(data.msg);
$('#borrowingModal').modal('hide'); $('#borrowingModal').modal('hide');
//刷新申请借阅列表 //刷新申请借阅列表
reLoadBorrowingTab(); reLoadBorrowingTab();
@ -318,6 +333,7 @@ function clearContent() {
borrowingTab() borrowingTab()
let borrowingIds = [] let borrowingIds = []
function borrowingTab() { function borrowingTab() {
$('#borrowingTab').bootstrapTable({ $('#borrowingTab').bootstrapTable({
height: $(window).height, height: $(window).height,
@ -347,8 +363,8 @@ function borrowingTab() {
return {checked: true}; return {checked: true};
} }
var applyStatc = row.applyStatc; var applyStatc = row.applyStatc;
if (applyStatc == 1 || applyStatc == 4 || applyStatc === 3) { if (applyStatc == 1 || applyStatc == 4 || applyStatc === 3) {
return { disabled : true} return {disabled: true}
} }
} }
}, },
@ -432,32 +448,55 @@ function borrowingTab() {
spanValue = '<p style="color:orange">申请中</p>'; spanValue = '<p style="color:orange">申请中</p>';
} else if (value == 3) { } else if (value == 3) {
spanValue = '<p style="color:red">驳回</p>'; spanValue = '<p style="color:red">驳回</p>';
}else if (value == 4) { } else if (value == 4) {
spanValue = '<p style="color:royalblue">已过期</p>'; spanValue = '<p style="color:royalblue">已过期</p>';
}else if (value == 5){
spanValue = '<p style="color:green">已归还</p>';
} }
return spanValue; return spanValue;
} }
}, },
{ {
title: '经办人', title: '经办人工号',
field: 'handlingName', field: 'handlingName',
}, },
{ {
title: '审批人姓名', title: '经办人姓名',
field: 'handlingNameString',
},
{
title: '审批人工号',
field: 'examineName', field: 'examineName',
}, },
{
title: '审批人姓名',
field: 'examineNameString',
},
{ {
title: '审批时间', title: '审批时间',
field: 'examineTime', field: 'examineTime',
formatter: crtTimeFtt formatter: crtTimeFtt
}, },
{
title: '归还人工号',
field: 'returnName',
},
{
title: '归还人',
field: 'returnNameString',
},
{
title: '归还时间',
field: 'returnTime',
formatter: crtTimeFtt
},
{ {
title: '操作', title: '操作',
formatter: function (value, row, index) { formatter: function (value, row, index) {
var applyStatc = row.applyStatc; var applyStatc = row.applyStatc;
var editanddrop = ''; var editanddrop = '';
if (applyStatc != 1 && applyStatc != 4&& applyStatc != 3) { if (applyStatc != 1 && applyStatc != 4 && applyStatc != 3 && applyStatc != 5) {
editanddrop += '&nbsp&nbsp&nbsp<button type="button" onclick="approveById(' + row.id +',' + row.effectiveDay +')" class="btn btn-sm btn-danger">借阅审批</button>'; editanddrop += '&nbsp&nbsp&nbsp<button type="button" onclick="approveById(' + row.id + ',' + row.effectiveDay + ')" class="btn btn-sm btn-danger">借阅审批</button>';
} }
editanddrop += '&nbsp&nbsp&nbsp<button type="button" onclick="deleteById(' + row.id + ')" class="btn btn-sm btn-danger">删除</button>'; editanddrop += '&nbsp&nbsp&nbsp<button type="button" onclick="deleteById(' + row.id + ')" class="btn btn-sm btn-danger">删除</button>';
if (applyStatc != 3 && applyStatc != 4) { if (applyStatc != 3 && applyStatc != 4) {
@ -535,7 +574,7 @@ function getUrlParam(name) {
return null; //返回参数值 return null; //返回参数值
} }
//删除分配 //删除
function deleteById(id) { function deleteById(id) {
Common.confirm({ Common.confirm({
title: "提示", title: "提示",
@ -545,7 +584,7 @@ function deleteById(id) {
$.ajax({ $.ajax({
type: 'post', type: 'post',
url: path + '/applyDetails/deleteById', url: path + '/applyDetails/deleteById',
data: {id: id,batchId: getUrlParam('batchId'),}, data: {id: id, batchId: getUrlParam('batchId'),},
dataType: 'json', dataType: 'json',
success: function (data) { success: function (data) {
console console
@ -565,7 +604,7 @@ function deleteById(id) {
//借阅审批 //借阅审批
function approveById(id,effectiveDay) { function approveById(id, effectiveDay) {
var batchId = getUrlParam('batchId'); var batchId = getUrlParam('batchId');
Common.confirm({ Common.confirm({
title: "提示", title: "提示",
@ -575,7 +614,7 @@ function approveById(id,effectiveDay) {
$.ajax({ $.ajax({
type: 'post', type: 'post',
url: path + '/applyDetails/agreeById/', url: path + '/applyDetails/agreeById/',
data: {ids: id,effectiveDay:effectiveDay,batchId:batchId}, data: {ids: id, effectiveDay: effectiveDay, batchId: batchId},
dataType: 'json', dataType: 'json',
success: function (data) { success: function (data) {
console console
@ -621,7 +660,7 @@ function getApproveChecked() {
} }
$("#checks").val(checks); $("#checks").val(checks);
} }
insertApproveContent(inpatientNoArray, admissTimesArray, nameArray,effectiveDayArray); insertApproveContent(inpatientNoArray, admissTimesArray, nameArray, effectiveDayArray);
if (null != tabChecks) { if (null != tabChecks) {
tabChecks = tabChecks.substring(0, tabChecks.length - 1); tabChecks = tabChecks.substring(0, tabChecks.length - 1);
} }
@ -629,7 +668,7 @@ function getApproveChecked() {
} }
//添加内容tr td //添加内容tr td
function insertApproveContent(inpatientNoArray, admissTimesArray, nameArray,effectiveDayArray) { function insertApproveContent(inpatientNoArray, admissTimesArray, nameArray, effectiveDayArray) {
for (var i = 0; i < inpatientNoArray.length; i++) { for (var i = 0; i < inpatientNoArray.length; i++) {
var tr = document.createElement("tr"); var tr = document.createElement("tr");
var td1 = document.createElement("td"); var td1 = document.createElement("td");
@ -649,7 +688,6 @@ function insertApproveContent(inpatientNoArray, admissTimesArray, nameArray,effe
} }
//清楚内容方法 //清楚内容方法
function clearContentApprove() { function clearContentApprove() {
$('#batchApprove').removeAttr("data-target", "#approveModal"); $('#batchApprove').removeAttr("data-target", "#approveModal");
@ -659,6 +697,7 @@ function clearContentApprove() {
table.removeChild(table.childNodes[i]); table.removeChild(table.childNodes[i]);
} }
} }
//驳回 //驳回
function rejectById(id) { function rejectById(id) {
Common.confirm({ Common.confirm({
@ -687,7 +726,7 @@ function rejectById(id) {
}) })
} }
//情况 //清空
function borrowingEmpty() { function borrowingEmpty() {
$(":input").val("") $(":input").val("")
refreshBorrowingTab(); refreshBorrowingTab();
@ -703,7 +742,6 @@ function refreshBorrowingTab() {
} }
//保存批量审批 //保存批量审批
function addApprove() { function addApprove() {
var batchId = getUrlParam('batchId'); var batchId = getUrlParam('batchId');
@ -716,11 +754,11 @@ function addApprove() {
url: path + '/applyDetails/agreeById', url: path + '/applyDetails/agreeById',
data: { data: {
ids: ids, ids: ids,
batchId:batchId batchId: batchId
}, },
dataType: 'json', dataType: 'json',
success: function (data) { success: function (data) {
if (data== 0) { if (data == 0) {
borrowingIds = [] borrowingIds = []
return toastr.warning("批量借阅申请失败!"); return toastr.warning("批量借阅申请失败!");
} }
@ -740,3 +778,107 @@ function reLoadBorrowingTab() {
$("#borrowingTab").bootstrapTable('refresh', path + '/applyDetails/getBatchApplyDetails');//排序方式 $("#borrowingTab").bootstrapTable('refresh', path + '/applyDetails/getBatchApplyDetails');//排序方式
} }
//清空快速归还、快速借阅表单
function emptyForm() {
$('#barCodeReturnTable')[0].reset();
$('#borrowingTable')[0].reset();
}
//清空快速归还、快速借阅表单
function emptyBorrowingForm() {
$('#borrowingTable')[0].reset();
}
//快速归还
function updateReturn() {
var barCode = $("#barCodeReturn").val();
var barCodeName = $("#barCodeName").val();
var batchId = getUrlParam('batchId');
$.ajax({
type: 'post',
url: path + '/applyDetails/updateBatchApply',
data: {barCode: barCode, barCodeName: barCodeName,batchId:batchId},
dataType: 'json',
success: function (data) {
if (data.code == 100) {
return toastr.warning(data.msg);
}
if (data.code == 200) {
document.getElementById("barCodeReturn").value = "";
reLoadBorrowingTab();
return toastr.success(data.msg);
}
}
})
}
//监听回车立即搜索
//键盘回车查询
$("#barCodeReturnTable").bind("keypress", function (e) {
// 兼容FF和IE和Opera
var theEvent = e || window.event;
var code = theEvent.keyCode || theEvent.which || theEvent.charCode;
if (code == 13) {
e.preventDefault();
//回车执行查询
updateReturn();
}
});
//快速借阅
function fastBorrowing() {
var effeDays = $("#effeDaysBorrowing").val()
var applyType = $("#applyTypeBorrowing").val()
var applyReason = $("#applyReasonBorrowing").val()
var barCode = $("#barCodeBorrowing").val()
var applyUserName = $("#applyUserName").val()
var batchId = getUrlParam('batchId');
if (applyUserName == "") {
return toastr.warning("申请人工号不能为空");
}
$.ajax({
type: 'post',
url: path + '/applyDetails/fastBatchApply',
data: {
effeDays: effeDays,
applyType: 2,
applyReason: applyReason,
barCode: barCode,
userName: applyUserName,
batchId:batchId
},
dataType: 'json',
success: function (data) {
if (data.code == 100) {
document.getElementById("barCodeBorrowing").value = "";
return toastr.warning(data.msg);
}
if (data.code == 200) {
document.getElementById("barCodeBorrowing").value = "";
reLoadBorrowingTab();
return toastr.success(data.msg)
}
}
})
}
//监听回车立即搜索
//键盘回车查询
$("#borrowingTable").bind("keypress", function (e) {
// 兼容FF和IE和Opera
var theEvent = e || window.event;
var code = theEvent.keyCode || theEvent.which || theEvent.charCode;
if (code == 13) {
e.preventDefault();
//回车执行查询
fastBorrowing();
}
});

@ -15,12 +15,7 @@ $(function () {
loadDept(); loadDept();
//加载转归情况 //加载转归情况
loadDiagStatus(); loadDiagStatus();
//加载诊断编码和诊断名称字典 ;
//loadDiag();
//加载手术字典
//loadOperate();
//加载inpatientNo
//loadInpatientNo();
//权限控制按钮 //权限控制按钮
permissionControlButton(); permissionControlButton();
}); });

Loading…
Cancel
Save