lihong 1 年之前
父节点
当前提交
62092c9023

+ 56 - 51
src/main/java/cn/hnthyy/thmz/controller/LoginController.java

@@ -42,15 +42,15 @@ public class LoginController {
     private EvaluationService evaluationService;
     @Autowired
     private WindowsService windowsService;
-    @Autowired
-    private LoginErrService loginErrService;
+    //@Autowired
+    //private LoginErrService loginErrService;
     @Autowired
     private DictDataService dictDataService;
     /**登录错误次数 锁定账户临界值*/
-    private static final int LOGIN__ERR_COUNT =  5;
-    private static final int LOGIN__ERR_COUNT_TIME =  1;
-    private static final int LOGIN__ERR_MAX_COUNT =  10;
-    private static final int LOGIN__ERR_MAX_COUNT_TIME =  2;
+    //private static final int LOGIN__ERR_COUNT =  10000;
+    //private static final int LOGIN__ERR_COUNT_TIME =  1;
+    //private static final int LOGIN__ERR_MAX_COUNT =  1000000;
+    //private static final int LOGIN__ERR_MAX_COUNT_TIME =  2;
     /**
      * 登录
      * @param userParam
@@ -96,54 +96,59 @@ public class LoginController {
             resultMap.put("message", "登录失败,账号状态为非在职,请联系管理员");
             return resultMap;
         }
-        LoginErr loginErr = loginErrService.queryLoginErrByUserCode(user.getUserCode());
-        Date now = new Date();
-        try {
-            if (!userParam.getPassword().equals(user.getPassword())) {
-                if(loginErr == null){
-                    loginErr = new LoginErr(user.getUserCode(),now,1,0);
-                }else {
-                    if(loginErr.getLoginErrCount() >= LOGIN__ERR_COUNT){
-                        loginErr.setLockFlag(1);
-                    }
-                    loginErr.setLastLoginErrTime(now);
-                    loginErr.setLoginErrCount(loginErr.getLoginErrCount()+1);
-                }
-
-                String errMsg = "登录失败,工号或者密码错误,还剩余"+(LOGIN__ERR_COUNT-loginErr.getLoginErrCount())+"次,连续5次密码错误,账户将锁定10分钟,请重新输入";
-                if(loginErr.getLoginErrCount() >= LOGIN__ERR_COUNT && loginErr.getLoginErrCount() < LOGIN__ERR_MAX_COUNT){
-                    errMsg = "登录失败次数大于等于" + LOGIN__ERR_COUNT + "次,请" + LOGIN__ERR_COUNT_TIME + "分钟后再登录";
-                }else if(loginErr.getLoginErrCount() >= LOGIN__ERR_MAX_COUNT){
-                    errMsg = "登录失败次数大于等于" + LOGIN__ERR_MAX_COUNT + "次,请" + LOGIN__ERR_MAX_COUNT_TIME + "分钟后再登录";
-                }
-                loginErrService.addLoginErr(loginErr);
-                resultMap.put("code", -1);
-                resultMap.put("message",errMsg);
-                return resultMap;
-            }
-        } catch (Exception e) {
-            log.error("校验用户名和密码错误,错误信息:{}", e);
+        //LoginErr loginErr = loginErrService.queryLoginErrByUserCode(user.getUserCode());
+        if(!userParam.getPassword().equals(user.getPassword())){
             resultMap.put("code", -1);
-            resultMap.put("message", "登录失败,系统发生未知错误,请重稍后重试或联系管理员");
+            resultMap.put("message","用户名或密码错误!");
             return resultMap;
         }
-        if(loginErr !=null && loginErr.getLockFlag() == 1){
-            long diffTime = cn.hutool.core.date.DateUtil.between(loginErr.getLastLoginErrTime(),new Date(), DateUnit.MINUTE);
-            if(loginErr.getLoginErrCount() >= LOGIN__ERR_COUNT && loginErr.getLoginErrCount() < LOGIN__ERR_MAX_COUNT){
-                if(diffTime < LOGIN__ERR_COUNT_TIME){
-                    resultMap.put("code", -1);
-                    resultMap.put("message", "登录失败次数大于等于"+LOGIN__ERR_COUNT+"次,请"+(LOGIN__ERR_COUNT_TIME-diffTime)+"分钟后再登录");
-                    return resultMap;
-                }
-            }else if(loginErr.getLoginErrCount() >= LOGIN__ERR_MAX_COUNT){
-                if(diffTime < LOGIN__ERR_MAX_COUNT_TIME){
-                    resultMap.put("code", -1);
-                    resultMap.put("message", "登录失败次数大于等于"+LOGIN__ERR_MAX_COUNT+"次,请"+(LOGIN__ERR_MAX_COUNT_TIME-diffTime)+"分钟后再登录");
-                    return resultMap;
-                }
-            }
-        }
-        loginErrService.deleteLoginErrByUserCode(user.getUserCode());
+        Date now = new Date();
+        //try {
+        //    if (!userParam.getPassword().equals(user.getPassword())) {
+        //        if(loginErr == null){
+        //            loginErr = new LoginErr(user.getUserCode(),now,1,0);
+        //        }else {
+        //            if(loginErr.getLoginErrCount() >= LOGIN__ERR_COUNT){
+        //                loginErr.setLockFlag(1);
+        //            }
+        //            loginErr.setLastLoginErrTime(now);
+        //            loginErr.setLoginErrCount(loginErr.getLoginErrCount()+1);
+        //        }
+        //
+        //        String errMsg = "登录失败,工号或者密码错误,还剩余"+(LOGIN__ERR_COUNT-loginErr.getLoginErrCount())+"次,连续5次密码错误,账户将锁定10分钟,请重新输入";
+        //        if(loginErr.getLoginErrCount() >= LOGIN__ERR_COUNT && loginErr.getLoginErrCount() < LOGIN__ERR_MAX_COUNT){
+        //            errMsg = "登录失败次数大于等于" + LOGIN__ERR_COUNT + "次,请" + LOGIN__ERR_COUNT_TIME + "分钟后再登录";
+        //        }else if(loginErr.getLoginErrCount() >= LOGIN__ERR_MAX_COUNT){
+        //            errMsg = "登录失败次数大于等于" + LOGIN__ERR_MAX_COUNT + "次,请" + LOGIN__ERR_MAX_COUNT_TIME + "分钟后再登录";
+        //        }
+        //        loginErrService.addLoginErr(loginErr);
+        //        resultMap.put("code", -1);
+        //        resultMap.put("message",errMsg);
+        //        return resultMap;
+        //    }
+        //} catch (Exception e) {
+        //    log.error("校验用户名和密码错误,错误信息:{}", e);
+        //    resultMap.put("code", -1);
+        //    resultMap.put("message", "登录失败,系统发生未知错误,请重稍后重试或联系管理员");
+        //    return resultMap;
+        //}
+        //if(loginErr !=null && loginErr.getLockFlag() == 1){
+        //    long diffTime = cn.hutool.core.date.DateUtil.between(loginErr.getLastLoginErrTime(),new Date(), DateUnit.MINUTE);
+        //    if(loginErr.getLoginErrCount() >= LOGIN__ERR_COUNT && loginErr.getLoginErrCount() < LOGIN__ERR_MAX_COUNT){
+        //        if(diffTime < LOGIN__ERR_COUNT_TIME){
+        //            resultMap.put("code", -1);
+        //            resultMap.put("message", "登录失败次数大于等于"+LOGIN__ERR_COUNT+"次,请"+(LOGIN__ERR_COUNT_TIME-diffTime)+"分钟后再登录");
+        //            return resultMap;
+        //        }
+        //    }else if(loginErr.getLoginErrCount() >= LOGIN__ERR_MAX_COUNT){
+        //        if(diffTime < LOGIN__ERR_MAX_COUNT_TIME){
+        //            resultMap.put("code", -1);
+        //            resultMap.put("message", "登录失败次数大于等于"+LOGIN__ERR_MAX_COUNT+"次,请"+(LOGIN__ERR_MAX_COUNT_TIME-diffTime)+"分钟后再登录");
+        //            return resultMap;
+        //        }
+        //    }
+        //}
+        //loginErrService.deleteLoginErrByUserCode(user.getUserCode());
         if (dictDataService.queryDictVlaue("1.5", "control_expir_flag","0").equals("1")) {
             TokenUtil.USER_CONTROL_MAP.put(user.getUserCode(), new UserControls(user.getUserCode(), now));
         }else {

+ 4 - 0
src/main/java/cn/hnthyy/thmz/service/impl/his/zy/ZyActpatientServiceImpl.java

@@ -106,6 +106,10 @@ public class ZyActpatientServiceImpl implements ZyActpatientService {
         if(CollUtil.isNotEmpty(patNos)){
             throw new MzException("当前病人是在院病人,办理住院的住院号为"+CollUtil.join(patNos,",")+",请不要重复操作!");
         }
+        ZyBedMi tempZyBedMi = zyBedMiMapper.selectZyBedMi(zyActpatient.getDept(), zyActpatient.getDept(), zyActpatient.getBedNo());
+        if(tempZyBedMi != null && ZyBedMi.BED_STATUS_HOLD_UP.equals(tempZyBedMi.getBedStatus())){
+            throw new MzException("当前病人分配的床位已经有病人,请换床号办理入院!");
+        }
         if (aPatientMiDb.getLastadmissTimes() == null) {
             aPatientMiDb.setLastadmissTimes(0);
         }

+ 2 - 0
src/main/resources/static/js/mz/clinic.js

@@ -4665,6 +4665,8 @@ function saveWesternMedicine(calculateTotalAmountFlag) {
     }
     //设置当前药品的品类
     $(tableId).find("input.current_groupNo").val($("#current_groupNo").val());
+    $("#supplyType").selectpicker('val', null);
+    $('#supplyType').selectpicker('refresh');
     clearWesternMedicine(false);
     resetGroupIdMap();
 }

+ 21 - 0
src/main/resources/static/js/mz/refund_medicine.js

@@ -359,6 +359,7 @@ function saveRefundMedicine() {
         jsonData.orderNo = data[0].order_no;
         for (var i=0;i<data.length;i++){
             var dec_amount=data[i].dec_amount;
+            let quantity = data[i].quantity;
             if(dec_amount==null || dec_amount==""){
                 new PNotify({
                     title: '警告提示',
@@ -368,6 +369,26 @@ function saveRefundMedicine() {
                 });
                 return;
             }
+            if(parseFloat(dec_amount) <= 0){
+                new PNotify({
+                    title: '警告提示',
+                    text: "【"+data[i].drugname+"】"+'的退药量请填写正数',
+                    hide: false,
+                    styling: 'bootstrap3'
+                });
+                return;
+            }
+            if(parseFloat(dec_amount) > parseFloat(quantity)){
+                new PNotify({
+                    title: '警告提示',
+                    text: "【"+data[i].drugname+"】"+'的退药量不能大于已开药品数量',
+                    hide: false,
+                    styling: 'bootstrap3'
+                });
+                return;
+            }
+
+
             jsonData.chargeItemCodeAndDecAmounts[i] = data[i].item_no+"_"+data[i].charge_item_code+","+dec_amount;
         }
     }