|
|
@@ -44,6 +44,8 @@ public class ZkManageService {
|
|
|
private AdjustBedDao adjustBedDao;
|
|
|
@Resource
|
|
|
private RedisLikeService redisLikeService;
|
|
|
+ //手术病室编码
|
|
|
+ private static final String SJ_DEPT_CODE = "8000130";
|
|
|
|
|
|
|
|
|
public List<ZyActpatient> queryZkPatient(Map<String, String> query) {
|
|
|
@@ -66,22 +68,23 @@ public class ZkManageService {
|
|
|
AssertUtil.isnotBlank(param.getWardCode(), "病室不能为空");
|
|
|
AssertUtil.isnotBlank(param.getDeptCode(), "转科病室不能为空");
|
|
|
AssertUtil.isnotBlank(param.getZkDept(), "小科室不能为空");
|
|
|
- Map<String, Object> map = dao.selectZkYz(param);
|
|
|
- if (CollUtil.isEmpty(map) || Convert.toInt(map.get("zk_count"), 0) == 0) {
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, StrUtil.format("{}病人没有转科医嘱,不可做转科处理!", param.getInpatientNo()));
|
|
|
- }
|
|
|
-
|
|
|
- ZyOrderZk zyOrderZk = dao.selectZkOrder(Convert.toBigDecimal(map.get("act_order_no")));
|
|
|
- if(zyOrderZk == null){
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, StrUtil.format("{}病人没有转科医嘱详情,请确认!", param.getInpatientNo()));
|
|
|
- }
|
|
|
+ if(!passZk(param)){
|
|
|
+ Map<String, Object> map = dao.selectZkYz(param);
|
|
|
+ if (CollUtil.isEmpty(map) || Convert.toInt(map.get("zk_count"), 0) == 0) {
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, StrUtil.format("{}病人没有转科医嘱,不可做转科处理!", param.getInpatientNo()));
|
|
|
+ }
|
|
|
+ ZyOrderZk zyOrderZk = dao.selectZkOrder(Convert.toBigDecimal(map.get("act_order_no")));
|
|
|
+ if(zyOrderZk == null){
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, StrUtil.format("{}病人没有转科医嘱详情,请确认!", param.getInpatientNo()));
|
|
|
+ }
|
|
|
|
|
|
- if(!param.getDeptCode().equals(zyOrderZk.getNewWard()) || !param.getZkDept().equals(zyOrderZk.getNewDept())){
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, StrUtil.format("{}病人选择的转科病区或小科室不对,正确的转科医嘱为病区:[{}],小科室:[{}]!", param.getInpatientNo(),redisLikeService.getDeptName(zyOrderZk.getNewWard()),redisLikeService.getDeptName(zyOrderZk.getNewDept())));
|
|
|
- }
|
|
|
- Integer countZk = dao.selectZyZkList(param.getInpatientNo(), param.getAdmissTimes(), Convert.toBigDecimal(map.get("act_order_no")));
|
|
|
- if (countZk > 0) {
|
|
|
- return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, StrUtil.format("{}病人已经转科,请不要重复操作!", param.getInpatientNo()));
|
|
|
+ if(!param.getDeptCode().equals(zyOrderZk.getNewWard()) || !param.getZkDept().equals(zyOrderZk.getNewDept())){
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, StrUtil.format("{}病人选择的转科病区或小科室不对,正确的转科医嘱为病区:[{}],小科室:[{}]!", param.getInpatientNo(),redisLikeService.getDeptName(zyOrderZk.getNewWard()),redisLikeService.getDeptName(zyOrderZk.getNewDept())));
|
|
|
+ }
|
|
|
+ Integer countZk = dao.selectZyZkList(param.getInpatientNo(), param.getAdmissTimes(), Convert.toBigDecimal(map.get("act_order_no")));
|
|
|
+ if (countZk > 0) {
|
|
|
+ return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, StrUtil.format("{}病人已经转科,请不要重复操作!", param.getInpatientNo()));
|
|
|
+ }
|
|
|
}
|
|
|
Integer count = dao.countYd(param);
|
|
|
Integer countTy = dao.sumTy(param);
|
|
|
@@ -102,6 +105,14 @@ public class ZkManageService {
|
|
|
patientDao.zyReceiveOne(param.getInpatientNo(), param.getAdmissTimes(), infant);
|
|
|
return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_EL_MESSAGE,"药品和医嘱接收成功!");
|
|
|
}
|
|
|
+
|
|
|
+ private boolean passZk(ZkBedVo param){
|
|
|
+ if(SJ_DEPT_CODE.equals(param.getDeptCode()) || SJ_DEPT_CODE.equals(param.getWardCode())){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public ResultVo<String> saveZkData(List<ZkBedVo> param) {
|
|
|
List<ZkBedVo> data = param.stream().filter(item -> StrUtil.isNotBlank(item.getInpatientNo())).collect(Collectors.toList());
|
|
|
@@ -142,7 +153,11 @@ public class ZkManageService {
|
|
|
dao.updateZkZyActpatien(item);
|
|
|
dao.insertZyAdt(item);
|
|
|
item.setOpId(userId);
|
|
|
- dao.insertZyZkList(item);
|
|
|
+ if(SJ_DEPT_CODE.equals(item.getOrigDept()) || SJ_DEPT_CODE.equals(item.getWardCode())){
|
|
|
+ dao.insertZyZkListNoActOrderNo(item);
|
|
|
+ }else {
|
|
|
+ dao.insertZyZkList(item);
|
|
|
+ }
|
|
|
}
|
|
|
return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_EL_MESSAGE,"保存成功");
|
|
|
}
|