瀏覽代碼

优化收费方式增加机制

hurugang 2 年之前
父節點
當前提交
dec87cbcaa

+ 2 - 1
src/main/java/cn/hnthyy/thmz/entity/his/zd/ZdUnitCode.java

@@ -65,7 +65,8 @@ public class ZdUnitCode {
     private String mzClassValue;
     //子科室
     private List<ZdUnitCode> children;
-
+    // 是否住院科室  1 住院科室  0 非住院科室
+    private Integer inpatientFlag;
     public ZdUnitCode(String code, String name) {
         this.code = code;
         this.name = name;

+ 16 - 10
src/main/java/cn/hnthyy/thmz/mapper/his/zd/ZdUnitCodeMapper.java

@@ -19,7 +19,7 @@ public interface ZdUnitCodeMapper {
      */
     @Select({"<script>",
             "SELECT top ${pageSize} code,name,class_code,py_code,d_code wbCode,mz_flag,del_flag,n_code ynCode,yj_flag,mzrc_flag,parent_code,gh_charge_flag,office_pos,",
-            "supply_flag,xnh_dept_code,xnh_dept_name,ghjz_flag,mz_class,sort_code,op_id,op_date FROM (SELECT ROW_NUMBER() OVER (ORDER BY zd_unit_code_page.${orderByCase} asc) ",
+            "supply_flag,xnh_dept_code,xnh_dept_name,ghjz_flag,mz_class,sort_code,op_id,op_date,inpatient_flag FROM (SELECT ROW_NUMBER() OVER (ORDER BY zd_unit_code_page.${orderByCase} asc) ",
             "AS RowNumber,* from dbo.zd_unit_code zd_unit_code_page WITH(NOLOCK)   where 1=1 ",
             "<when test='zdUnitCode.delFlag!=null'>",
             " and del_flag =#{zdUnitCode.delFlag,jdbcType=VARCHAR}",
@@ -150,10 +150,10 @@ public interface ZdUnitCodeMapper {
      * @return
      */
     @Insert("INSERT INTO dbo.zd_unit_code(code,name,class_code,py_code,d_code,mz_flag,del_flag,n_code,yj_flag,mzrc_flag,parent_code," +
-            "gh_charge_flag,office_pos,supply_flag,xnh_dept_code,xnh_dept_name,ghjz_flag,mz_class,sort_code,op_id,op_date )VALUES(#{code,jdbcType=VARCHAR},#{name,jdbcType=VARCHAR}" +
+            "gh_charge_flag,office_pos,supply_flag,xnh_dept_code,xnh_dept_name,ghjz_flag,mz_class,sort_code,op_id,op_date,inpatient_flag )VALUES(#{code,jdbcType=VARCHAR},#{name,jdbcType=VARCHAR}" +
             ",#{classCode,jdbcType=VARCHAR},#{pyCode,jdbcType=VARCHAR},#{wbCode,jdbcType=VARCHAR},#{mzFlag,jdbcType=CHAR},#{delFlag,jdbcType=CHAR},#{ynCode,jdbcType=VARCHAR},#{yjFlag,jdbcType=CHAR}" +
             ",#{mzrcFlag,jdbcType=CHAR},#{parentCode,jdbcType=CHAR},#{ghChargeFlag,jdbcType=CHAR},#{officePos,jdbcType=VARCHAR},#{supplyFlag,jdbcType=CHAR},#{xnhDeptCode,jdbcType=VARCHAR}" +
-            ",#{xnhDeptName,jdbcType=VARCHAR},#{ghjzFlag,jdbcType=CHAR},#{mzClass,jdbcType=VARCHAR},#{sortCode,jdbcType=VARCHAR},#{opId,jdbcType=VARCHAR},#{opDate,jdbcType=TIMESTAMP}) ")
+            ",#{xnhDeptName,jdbcType=VARCHAR},#{ghjzFlag,jdbcType=CHAR},#{mzClass,jdbcType=VARCHAR},#{sortCode,jdbcType=VARCHAR},#{opId,jdbcType=VARCHAR},#{opDate,jdbcType=TIMESTAMP},#{inpatientFlag}) ")
     int insertZdUnitCode(ZdUnitCode zdUnitCode);
 
     /**
@@ -228,6 +228,9 @@ public interface ZdUnitCodeMapper {
             "<when test='opDate!=null'>",
             ",op_date =#{opDate,jdbcType=TIMESTAMP}",
             "</when>",
+            "<when test='inpatientFlag!=null'>",
+            " ,inpatient_flag =#{inpatientFlag}",
+            "</when>",
             "</trim>",
             "</script>"})
     int updateZdUnitCode(ZdUnitCode zdUnitCode);
@@ -239,7 +242,7 @@ public interface ZdUnitCodeMapper {
      * @return
      */
     @Select("select code,name,class_code,py_code,d_code wbCode,mz_flag,del_flag,n_code ynCode,yj_flag,mzrc_flag,parent_code,gh_charge_flag,office_pos,supply_flag,xnh_dept_code," +
-            "xnh_dept_name,ghjz_flag,mz_class,sort_code,op_id,op_date from dbo.zd_unit_code  WITH(NOLOCK)  where code=#{code,jdbcType=VARCHAR}")
+            "xnh_dept_name,ghjz_flag,mz_class,sort_code,op_id,op_date,inpatient_flag from dbo.zd_unit_code  WITH(NOLOCK)  where code=#{code,jdbcType=VARCHAR}")
     ZdUnitCode selectByCode(@Param("code") String code);
 
     /**
@@ -247,7 +250,7 @@ public interface ZdUnitCodeMapper {
      * @return
      */
     @Select("select code,name,class_code,py_code,d_code wbCode,mz_flag,del_flag,n_code ynCode,yj_flag,mzrc_flag,parent_code,gh_charge_flag,office_pos,supply_flag,xnh_dept_code," +
-            "xnh_dept_name,ghjz_flag,mz_class,sort_code,op_id,op_date from dbo.zd_unit_code WITH(NOLOCK)  ")
+            "xnh_dept_name,ghjz_flag,mz_class,sort_code,op_id,op_date,inpatient_flag from dbo.zd_unit_code WITH(NOLOCK)  ")
     List<ZdUnitCode> selectAll();
 
 
@@ -261,7 +264,7 @@ public interface ZdUnitCodeMapper {
      */
     @Select({"<script>",
             "SELECT code,name,class_code,py_code,d_code wbCode,mz_flag,del_flag,n_code ynCode,yj_flag,mzrc_flag,parent_code,gh_charge_flag,office_pos,",
-            "supply_flag,xnh_dept_code,xnh_dept_name,ghjz_flag,mz_class,sort_code,op_id,op_date FROM  dbo.zd_unit_code WITH(NOLOCK)   where 1=1 ",
+            "supply_flag,xnh_dept_code,xnh_dept_name,ghjz_flag,mz_class,sort_code,op_id,op_date,inpatient_flag FROM  dbo.zd_unit_code WITH(NOLOCK)   where 1=1 ",
             "<when test='zdUnitCode.delFlag!=null'>",
             " and del_flag =#{zdUnitCode.delFlag,jdbcType=VARCHAR}",
             "</when>",
@@ -298,6 +301,9 @@ public interface ZdUnitCodeMapper {
             "<when test='zdUnitCode.mzClass!=null'>",
             " and mz_class =#{zdUnitCode.mzClass,jdbcType=CHAR}",
             "</when>",
+            "<when test='zdUnitCode.inpatientFlag!=null'>",
+            " and inpatient_flag =#{zdUnitCode.inpatientFlag}",
+            "</when>",
             " order by ${orderByCase} asc",
             "</script>"})
     List<ZdUnitCode> selectZdUnitCode(ZdUnitCodePageDto zdUnitCodePageDto);
@@ -308,7 +314,7 @@ public interface ZdUnitCodeMapper {
      * @return
      */
     @Select("select code,name,class_code,py_code,d_code wbCode,mz_flag,del_flag,n_code ynCode,yj_flag,mzrc_flag,parent_code,gh_charge_flag,office_pos,supply_flag,xnh_dept_code," +
-            "xnh_dept_name,ghjz_flag,mz_class,sort_code,op_id,op_date from dbo.zd_unit_code  WITH(NOLOCK)  where del_flag=0 and mz_flag =1 and parent_code=#{parentCode}")
+            "xnh_dept_name,ghjz_flag,mz_class,sort_code,op_id,op_date,inpatient_flag from dbo.zd_unit_code  WITH(NOLOCK)  where del_flag=0 and mz_flag =1 and parent_code=#{parentCode}")
     List<ZdUnitCode> selectChildren(@Param("parentCode") String parentCode);
 
 
@@ -317,7 +323,7 @@ public interface ZdUnitCodeMapper {
      * @return
      */
     @Select("select code,name,class_code,py_code,d_code wbCode,mz_flag,del_flag,n_code ynCode,yj_flag,mzrc_flag,parent_code,gh_charge_flag,office_pos,supply_flag,xnh_dept_code," +
-            "xnh_dept_name,ghjz_flag,mz_class,sort_code,op_id,op_date from dbo.zd_unit_code WITH(NOLOCK)   where del_flag=0 and mz_flag =1")
+            "xnh_dept_name,ghjz_flag,mz_class,sort_code,op_id,op_date,inpatient_flag from dbo.zd_unit_code WITH(NOLOCK)   where del_flag=0 and mz_flag =1")
     List<ZdUnitCode> selectAllMzZdUnitCode();
 
     /**
@@ -334,7 +340,7 @@ public interface ZdUnitCodeMapper {
      * @return
      */
     @Select({"<script>",
-                "select code,name,class_code,py_code,d_code wbCode,mz_flag,del_flag,n_code ynCode,yj_flag,mzrc_flag,parent_code,gh_charge_flag,office_pos,supply_flag,xnh_dept_code,xnh_dept_name,ghjz_flag,mz_class,sort_code,op_id,op_date from dbo.zd_unit_code WITH(NOLOCK)   ",
+                "select code,name,class_code,py_code,d_code wbCode,mz_flag,del_flag,n_code ynCode,yj_flag,mzrc_flag,parent_code,gh_charge_flag,office_pos,supply_flag,xnh_dept_code,xnh_dept_name,ghjz_flag,mz_class,sort_code,op_id,op_date,inpatient_flag from dbo.zd_unit_code WITH(NOLOCK)   ",
             "<when test='codes!=null'>" +
                     " where code in" +
                     "<foreach item='item' index='index' collection='codes' open='(' separator=',' close=')'>" +
@@ -350,7 +356,7 @@ public interface ZdUnitCodeMapper {
      * 查询所有的病区
      * @return
      */
-    @Select("select code,name,class_code,py_code,d_code wbCode,mz_flag,del_flag,n_code ynCode,yj_flag,mzrc_flag,parent_code,gh_charge_flag,office_pos,supply_flag,xnh_dept_code,xnh_dept_name,ghjz_flag,mz_class,sort_code,op_id,op_date from zd_unit_code  WITH(NOLOCK)  where code like '8%'")
+    @Select("select code,name,class_code,py_code,d_code wbCode,mz_flag,del_flag,n_code ynCode,yj_flag,mzrc_flag,parent_code,gh_charge_flag,office_pos,supply_flag,xnh_dept_code,xnh_dept_name,ghjz_flag,mz_class,sort_code,op_id,op_date,inpatient_flag from zd_unit_code  WITH(NOLOCK)  where code like '8%'")
     List<ZdUnitCode> selectAllInpatientWard();
 
     /**

+ 38 - 26
src/main/java/cn/hnthyy/thmz/service/impl/thmz/EvaluationServiceImpl.java

@@ -45,7 +45,7 @@ public class EvaluationServiceImpl implements EvaluationService {
     /**
      * 客户端与患者的对应关系
      */
-    private static ConcurrentHashMap<String, Map<String,Object>> clientAndPatientMap = new ConcurrentHashMap<>();
+    private static ConcurrentHashMap<String, Map<String, Object>> clientAndPatientMap = new ConcurrentHashMap<>();
 
     @Override
     public void login(HttpServletRequest httpServletRequest) {
@@ -64,7 +64,7 @@ public class EvaluationServiceImpl implements EvaluationService {
             e.printStackTrace();
             return;
         }
-        evaluationWebSocket.login(windows.getClientIpAddress(),tokenUser);
+        evaluationWebSocket.login(windows.getClientIpAddress(), tokenUser);
     }
 
     @Override
@@ -73,12 +73,11 @@ public class EvaluationServiceImpl implements EvaluationService {
     }
 
 
-
     @Override
     public Map<String, Object> getUserInfo(HttpServletRequest httpServletRequest) {
         String requestIp = HttpUtil.getIPAddress(httpServletRequest);
-        User tokenUser=evaluationWebSocket.getUser(requestIp);
-        if(tokenUser==null){
+        User tokenUser = evaluationWebSocket.getUser(requestIp);
+        if (tokenUser == null) {
             return null;
         }
         List<UserRoleRelation> userRoleRelations = userRoleRelationService.queryByUserId(tokenUser.getId());
@@ -107,7 +106,7 @@ public class EvaluationServiceImpl implements EvaluationService {
         }
         String name = mzPatientMi.getName();
         String call = "先生";
-        if(GenderEnum.WOMAN.code.equals(mzPatientMi.getSex())){
+        if (GenderEnum.WOMAN.code.equals(mzPatientMi.getSex())) {
             call = "女士";
         }
         if (mzPatientMi.getAge() != null && mzPatientMi.getAge() <= 16) {
@@ -122,12 +121,25 @@ public class EvaluationServiceImpl implements EvaluationService {
             throw new MzException("推送价格消息到评价器失败,请求客户端对应的评价器IP为空!");
         }
         BigDecimal needPay = new BigDecimal((String) params.get("needPay")).setScale(2, BigDecimal.ROUND_HALF_UP);
-        BigDecimal pay = new BigDecimal((Double) params.get("pay")).setScale(2, BigDecimal.ROUND_HALF_UP);
-        BigDecimal changeAmount=null;
-        try{
+        BigDecimal pay = null;
+        try {
+            pay = new BigDecimal((Double) params.get("pay")).setScale(2, BigDecimal.ROUND_HALF_UP);
+        } catch (ClassCastException e) {
+            try {
+                pay = new BigDecimal((Integer) params.get("pay")).setScale(2, BigDecimal.ROUND_HALF_UP);
+            } catch (ClassCastException e1) {
+                pay = new BigDecimal((String) params.get("pay")).setScale(2, BigDecimal.ROUND_HALF_UP);
+            }
+        }
+        BigDecimal changeAmount = null;
+        try {
             changeAmount = new BigDecimal((Double) params.get("changeAmount")).setScale(2, BigDecimal.ROUND_HALF_UP);
-        }catch (ClassCastException e){
-            changeAmount = new BigDecimal((String) params.get("changeAmount")).setScale(2, BigDecimal.ROUND_HALF_UP);
+        } catch (ClassCastException e) {
+            try {
+                changeAmount = new BigDecimal((String) params.get("changeAmount")).setScale(2, BigDecimal.ROUND_HALF_UP);
+            } catch (ClassCastException e1) {
+                changeAmount = new BigDecimal((Integer) params.get("changeAmount")).setScale(2, BigDecimal.ROUND_HALF_UP);
+            }
         }
         params.put("name", name);
         params.put("call", call);
@@ -148,7 +160,7 @@ public class EvaluationServiceImpl implements EvaluationService {
     }
 
     @Override
-    public void toEvaluation(String patientId,User tokenUser,HttpServletRequest httpServletRequest) {
+    public void toEvaluation(String patientId, User tokenUser, HttpServletRequest httpServletRequest) {
         String requestIp = HttpUtil.getIPAddress(httpServletRequest);
         if (StringUtils.isBlank(requestIp)) {
             return;
@@ -157,10 +169,10 @@ public class EvaluationServiceImpl implements EvaluationService {
         if (windows == null || StringUtils.isBlank(windows.getClientIpAddress())) {
             return;
         }
-        Map<String,Object> clientMap = new HashMap<>();
-        clientMap.put("patientId",patientId);
-        clientMap.put("tokenUser",tokenUser);
-        clientAndPatientMap.put(windows.getClientIpAddress(),clientMap);
+        Map<String, Object> clientMap = new HashMap<>();
+        clientMap.put("patientId", patientId);
+        clientMap.put("tokenUser", tokenUser);
+        clientAndPatientMap.put(windows.getClientIpAddress(), clientMap);
         Map<String, Object> resultMap = new HashMap();
         resultMap.put("type", "content");
         resultMap.put("id", "client_evaluate");
@@ -174,24 +186,24 @@ public class EvaluationServiceImpl implements EvaluationService {
     }
 
     @Override
-    public String saveEvaluate(Integer evaluateCode,String requestIp) throws MzException {
-        Map<String,Object> clientMap =clientAndPatientMap.get(requestIp);
-        if(clientMap==null){
+    public String saveEvaluate(Integer evaluateCode, String requestIp) throws MzException {
+        Map<String, Object> clientMap = clientAndPatientMap.get(requestIp);
+        if (clientMap == null) {
             throw new MzException("当前评价器没有患者信息");
         }
-        String patientId=(String)clientMap.get("patientId");
-        if(StringUtils.isBlank(patientId)){
+        String patientId = (String) clientMap.get("patientId");
+        if (StringUtils.isBlank(patientId)) {
             throw new MzException("当前评价器没有患者信息");
         }
-        User tokenUser=(User)clientMap.get("tokenUser");
-        if(tokenUser==null || StringUtils.isBlank(tokenUser.getUserIdCode()) || StringUtils.isBlank(tokenUser.getUserName())){
+        User tokenUser = (User) clientMap.get("tokenUser");
+        if (tokenUser == null || StringUtils.isBlank(tokenUser.getUserIdCode()) || StringUtils.isBlank(tokenUser.getUserName())) {
             throw new MzException("当前评价器没有被评价人信息");
         }
-        MzPatientMi mzPatientMi=mzPatientMiService.queryByPatientId(patientId);
-        if(mzPatientMi==null || StringUtils.isBlank(mzPatientMi.getName())){
+        MzPatientMi mzPatientMi = mzPatientMiService.queryByPatientId(patientId);
+        if (mzPatientMi == null || StringUtils.isBlank(mzPatientMi.getName())) {
             throw new MzException("患者信息不正确");
         }
-        Evaluate evaluate= new Evaluate();
+        Evaluate evaluate = new Evaluate();
         evaluate.setEvaluate(evaluateCode);
         evaluate.setPatientId(patientId);
         evaluate.setPatientName(mzPatientMi.getName());

+ 1 - 1
src/main/resources/static/js/mz/registration.js

@@ -783,7 +783,7 @@ function confirmFeeModal() {
     $("#cash").val($("#amountMoneyConfirm").text());
     //$("#cash").val(null);
     $("#confirmFeeModal").modal();
-    sendPriceMessage($("#amountMoneyConfirm").text(), 0, 0, $("#patientId").val());
+    sendPriceMessage($("#amountMoneyConfirm").text(), 0.0, 0.0, $("#patientId").val());
 }
 
 /**

+ 20 - 7
src/main/resources/static/js/mz/toll_administration.js

@@ -890,10 +890,10 @@ function confirmFeeModal(times, totalCharge, receiptNo) {
         $("#timesHaveTally").val(times);
         $("#receiptNoHaveTally").val(receiptNo);
     }
-    var prevAll = $("#cashDiv").prevAll();
+    var prevAll = $("#changeAmountParent").prevAll();
     while (prevAll.length > 1) {
-        $("#cashDiv").prev().remove();
-        prevAll = $("#cashDiv").prevAll();
+        $("#changeAmountParent").prev().remove();
+        prevAll = $("#changeAmountParent").prevAll();
     }
     // $("#realMoney").val($("#amountMoneyConfirm").text());
     // $("#cash").val($("#amountMoneyConfirm").text());
@@ -939,7 +939,10 @@ function confirmFeeModal(times, totalCharge, receiptNo) {
     //减完医保报销后减个人医保卡支付金额
     realMoney = Minus(realMoney, acctPay);
     $("#realMoney").val(data);
-    $("#cash").val(realMoney);
+    if(realMoney>0){
+        addPayType("payType");
+        $("#cash").val(realMoney);
+    }
     // $("#cash").val(null);
     setTimeout(function () {
         //默认光标在现金输入框
@@ -958,7 +961,7 @@ function confirmFeeModal(times, totalCharge, receiptNo) {
     $("input.payChannel").val(null);
     $("input.qrCodeParam").val(null);
     $("input.traceNo").val(null);
-    sendPriceMessage(realMoney, 0, 0, $("#patientIdHaveTally").val());
+    sendPriceMessage(realMoney, 0.0, 0.0, $("#patientIdHaveTally").val());
 }
 
 
@@ -1075,6 +1078,8 @@ function checkFee(flag) {
     $("#realMoney").val(realMoney);
     var arr = $("#payForm").find("div.pay-item");
     if (arr.length > 0) {
+        // //是否存在未使用的收款方式
+        // var hadNotFill=false;
         //非现金收款总金额
         var notCashAmount = 0;
         //现金收款总额
@@ -1083,6 +1088,7 @@ function checkFee(flag) {
             var temp = parseFloat($(arr[i]).find("input.money").val());
             if (isNaN(temp)) {
                 temp = 0;
+               // hadNotFill=true;
             }
             if ($(arr[i]).find("select").val() != 1) {
                 notCashAmount = Add(notCashAmount, temp);
@@ -1131,6 +1137,9 @@ function checkFee(flag) {
             } else {
                 $("#addPayType").parent().removeClass("hide").addClass("in");
             }
+            // if(!hadNotFill){
+            //     addPayType(null);
+            // }
             $("#changeAmount").val(0.00);
             var surplusAmount = Minus(realMoney, totalAmount);
             $("#surplusAmount").val(surplusAmount);
@@ -2477,8 +2486,12 @@ function addPayType(id) {
         var payTypeIndex = $("#payTypeIndex").val();
         payTypeId = "payType_" + payTypeIndex;
     }
-    var html = '<div class="item form-group pay-item"><div class="col-md-12 col-sm-12 col-xs-12"> <input type="hidden" class="refNo"/><input type="hidden" class="qrCodeParam"/><input type="hidden" class="transDate"/><input type="hidden" class="payChannel"/><input type="hidden" class="traceNo"/><div class="col-md-2 col-sm-2 col-xs-12"></div><label class="col-md-3 col-sm-3 col-xs-12"><select class="form-control selectpicker show-tick" required="true" id="' + payTypeId + '" onchange="checkFee(false)"></select></label><div class="col-md-3 col-sm-3 col-xs-12"><input class="form-control col-md-5 col-xs-12 money" type="number" data-placement="bottom-right" min="0" onchange="checkFee()"></div><div class="col-md-1 col-sm-1 col-xs-12" style="line-height: 34px;">元&nbsp;&nbsp;<a style="line-height: 34px;cursor: pointer;" onclick="closeThisParent(this)"><i class="fa fa-close"></i></a></div></div></div>';
-    $("#cashDiv").before(html);
+    var html = '<div class="item form-group pay-item"><div class="col-md-12 col-sm-12 col-xs-12"> <input type="hidden" class="refNo"/><input type="hidden" class="qrCodeParam"/><input type="hidden" class="transDate"/><input type="hidden" class="payChannel"/><input type="hidden" class="traceNo"/><div class="col-md-2 col-sm-2 col-xs-12"></div><label class="col-md-3 col-sm-3 col-xs-12"><select class="form-control selectpicker show-tick" required="true" id="' + payTypeId + '" onchange="checkFee(false)"></select></label><div class="col-md-3 col-sm-3 col-xs-12"><input class="form-control col-md-5 col-xs-12 money" type="number" data-placement="bottom-right" min="0" onchange="checkFee(false)" ';
+    if("payType"==id){
+        html+=" id='cash' ";
+    }
+    html+='></div><div class="col-md-1 col-sm-1 col-xs-12" style="line-height: 34px;">元&nbsp;&nbsp;<a style="line-height: 34px;cursor: pointer;" onclick="closeThisParent(this)"><i class="fa fa-close"></i></a></div></div></div>';
+    $("#changeAmountParent").before(html);
     initChequeType(payTypeId)
     if (payTypeIndex != undefined && payTypeIndex != null) {
         payTypeIndex = Add(payTypeIndex, 1);

+ 19 - 1
src/main/resources/static/js/mz/unit_code.js

@@ -179,6 +179,17 @@ var TableInit = function () {
                         }
                         return "否";
                     }
+                }, {
+                    field: 'inpatientFlag',
+                    title: '是否住院科室',
+                    align: "center",
+                    valign: 'middle',
+                    formatter: function (value, row, index) {
+                        if (value == '1') {
+                            return "是";
+                        }
+                        return "否";
+                    }
                 }, {
                     field: 'officePos',
                     title: '就诊地点',
@@ -298,6 +309,8 @@ function initSelect() {
     $('#supplyFlagPlus').selectpicker('refresh');
     $('#ghjzFlagPlus').html(yesNo);
     $('#ghjzFlagPlus').selectpicker('refresh');
+    $('#inpatientFlagPlus').html(yesNo);
+    $('#inpatientFlagPlus').selectpicker('refresh');
 
     //所有科室分类列表
     $.ajax({
@@ -483,6 +496,8 @@ function clearModel() {
     $("#yjFlagPlus").selectpicker('refresh');
     $("#supplyFlagPlus").selectpicker('val', null);//默认不选中
     $("#supplyFlagPlus").selectpicker('refresh');
+    $("#inpatientFlagPlus").selectpicker('val', null);//默认不选中
+    $("#inpatientFlagPlus").selectpicker('refresh');
 }
 
 /**
@@ -528,6 +543,8 @@ function fillModel(code) {
                 $("#yjFlagPlus").selectpicker('refresh');
                 $("#supplyFlagPlus").selectpicker('val', res.data.supplyFlag);
                 $("#supplyFlagPlus").selectpicker('refresh');
+                $("#inpatientFlagPlus").selectpicker('val', res.data.inpatientFlag);
+                $("#inpatientFlagPlus").selectpicker('refresh');
             } else {
                 new PNotify({
                     title: '错误提示',
@@ -590,7 +607,8 @@ $(function () {
             "ghjzFlag": $("#ghjzFlagPlus").val(),
             "ghChargeFlag": $("#ghChargeFlagPlus").val(),
             "yjFlag": $("#yjFlagPlus").val(),
-            "supplyFlag": $("#supplyFlagPlus").val()
+            "supplyFlag": $("#supplyFlagPlus").val(),
+            "inpatientFlag": $("#inpatientFlagPlus").val()
         };
         var originalCode = $("#originalCode").val();
         if (originalCode != null && originalCode != '') {

+ 226 - 0
src/main/resources/templates/mz/registration.html

@@ -15,6 +15,7 @@
 <script src="/thmz/js/jBox/baseISSObject.js"></script>
 <script src="/thmz/js/jBox/baseISSOnline.js"></script>
 <script src="/thmz/js/jBox/common.js"></script>
+<script src="/thmz/js/common/cw_tools.js"></script>
 <script src="/thmz/js/mz/registration.js"></script>
 <title>挂号管理</title>
 <style>
@@ -59,6 +60,8 @@
                     <div class="clearRegistrationDiv">
                         <!--<a id="editPrint"><i class="fa fa-cog">&nbsp;打印设置</i></a>-->
                         <!--<a id="editWindows"><i class="fa fa-gears">&nbsp;窗口号设cardNo置</i></a>-->
+                        <a id="btn_tools"><i
+                                class="fa fa-suitcase">&nbsp;智能POS工具包</i></a>
                         <a id="nucleicAcid" hidden onclick="nucleicAcid()"><i
                                 class="fa fa-eyedropper">&nbsp;核酸检测(单人)</i></a>
                         <a id="hybridTest" hidden onclick="hybridTest()"><i class="fa fa-eyedropper">&nbsp;核酸检测(混检)</i></a>
@@ -1099,6 +1102,229 @@
 <!--核酸检测弹窗结尾-->
 
 
+
+
+
+
+
+<!--智能pos工具包实际HTML开始-->
+<!--财务工具包弹窗开始-->
+<div class="modal fade bs-example-modal-sm in" tabindex="-1" role="dialog" aria-hidden="true" id="toolsModal"
+     style="top:20%;">
+    <div class="modal-dialog modal-sm">
+        <div class="modal-content" style="width: 550px;max-height: 550px;overflow-y: auto;">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span>
+                </button>
+                <h4 class="modal-title modal-title-thmz">智能POS辅助工具</h4>
+            </div>
+            <div class="modal-body">
+                <form class="form-horizontal form-label-left" novalidate>
+                    <div class="col-md-12 col-sm-12 col-xs-12 "
+                         style="font-size: 14px;font-weight: 700;line-height: 39px;">
+                        <label style="padding-left: 0px;" class="col-md-3 col-sm-3 col-xs-3">
+                            <button type="button" class="btn btn-primary" onclick="sign()">签到</button>
+                        </label>
+                        <label style="padding-left: 0px;" class="col-md-3 col-sm-3 col-xs-3">
+                            <button type="button" class="btn btn-primary" onclick="balance()">查余</button>
+                        </label>
+                        <label style="padding-left: 0px;" class="col-md-3 col-sm-3 col-xs-3">
+                            <button type="button" class="btn btn-primary" onclick="consumeModal()">消费</button>
+                        </label>
+                        <label style="padding-left: 0px;" class="col-md-3 col-sm-3 col-xs-3">
+                            <button type="button" class="btn btn-primary" onclick="refundModal()">退费</button>
+                        </label>
+                        <label style="padding-left: 0px;" class="col-md-3 col-sm-3 col-xs-3">
+                            <button type="button" class="btn btn-primary" onclick="reprintModal()">重印</button>
+                        </label>
+                        <label style="padding-left: 0px;" class="col-md-3 col-sm-3 col-xs-3">
+                            <button type="button" class="btn btn-primary" onclick="queryModal()">交易查询</button>
+                        </label>
+                        <label style="padding-left: 0px;" class="col-md-3 col-sm-3 col-xs-3">
+                            <button type="button" class="btn btn-primary" onclick="settle()">结算</button>
+                        </label>
+                    </div>
+                </form>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!--财务工具包弹窗结尾-->
+
+
+
+
+<!--消费弹窗开始-->
+<div class="modal fade bs-example-modal-sm in" tabindex="-1" role="dialog" aria-hidden="true" id="consumeModal">
+    <div class="modal-dialog modal-sm">
+        <div class="modal-content" style="width: 480px;">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span>
+                </button>
+                <h4 class="modal-title modal-title-thmz">智能POS机消费</h4>
+            </div>
+            <div class="modal-body">
+                <form class="form-horizontal form-label-left" novalidate>
+                    <div class="item form-group col-md-12 col-sm-12 col-xs-12">
+                        <label style="padding-left: 0px;" class="control-label col-md-4 col-sm-4 col-xs-4">
+                            交易类型
+                        </label>
+                        <div class="col-md-8 col-sm-8 col-xs-8">
+                            <select class="form-control selectpicker show-tick"
+                                    id="consumeChequeType">
+                            </select>
+                        </div>
+                    </div>
+                    <div class="item form-group col-md-12 col-sm-12 col-xs-12">
+                        <label style="padding-left: 0px;" class="control-label col-md-4 col-sm-4 col-xs-4">
+                            交易金额
+                        </label>
+                        <div class="col-md-6 col-sm-6 col-xs-6"><input type="text" class="form-control" id="consumeAmount"></div>
+                        <label style="text-align: left;" class="control-label col-md-2 col-sm-2 col-xs-3">元</label>
+                    </div>
+                </form>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-primary" onclick="consumeCommon()">刷卡/扫码</button>
+                <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!--消费弹窗结尾-->
+
+
+
+<!--退货/聚合支付取消弹窗开始-->
+<div class="modal fade bs-example-modal-sm in" tabindex="-1" role="dialog" aria-hidden="true" id="refundModal">
+    <div class="modal-dialog modal-sm">
+        <div class="modal-content" style="width: 480px;">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span>
+                </button>
+                <h4 class="modal-title modal-title-thmz">智能POS机退费</h4>
+            </div>
+            <div class="modal-body">
+                <form class="form-horizontal form-label-left" novalidate>
+                    <div class="item form-group col-md-12 col-sm-12 col-xs-12">
+                        <label style="padding-left: 0px;" class="control-label col-md-4 col-sm-4 col-xs-4">
+                            交易类型
+                        </label>
+                        <div class="col-md-8 col-sm-8 col-xs-8">
+                            <select class="form-control selectpicker show-tick"  onchange="consumeChequeTypeRefundChange()"
+                                    id="consumeChequeTypeRefund">
+                            </select>
+                        </div>
+                    </div>
+                    <div class="item form-group col-md-12 col-sm-12 col-xs-12">
+                        <label style="padding-left: 0px;" class="control-label col-md-4 col-sm-4 col-xs-4">
+                            退货金额
+                        </label>
+                        <div class="col-md-6 col-sm-6 col-xs-6"><input type="text" class="form-control" id="refundPosAmount"></div>
+                        <label style="text-align: left;" class="control-label col-md-2 col-sm-2 col-xs-3">元</label>
+                    </div>
+                    <div class="item form-group col-md-12 col-sm-12 col-xs-12" id="refNoRefundDiv">
+                        <label style="padding-left: 0px;" class="control-label col-md-4 col-sm-4 col-xs-4">
+                            原交易参考号
+                        </label>
+                        <div class="col-md-8 col-sm-8 col-xs-8"><input type="text" class="form-control" id="refNoRefund"></div>
+                    </div>
+                    <div class="item form-group col-md-12 col-sm-12 col-xs-12" id="transDateRefundDiv">
+                        <label style="padding-left: 0px;" class="control-label col-md-4 col-sm-4 col-xs-4">
+                            原交易日期MMDD
+                        </label>
+                        <div class="col-md-8 col-sm-8 col-xs-8"><input type="text" class="form-control" id="transDateRefund"></div>
+                    </div>
+                    <div class="item form-group col-md-12 col-sm-12 col-xs-12 hide" id="parChannelRefundDiv">
+                        <label style="padding-left: 0px;" class="control-label col-md-4 col-sm-4 col-xs-4">
+                            数字人民币
+                        </label>
+                        <div class="col-md-8 col-sm-8 col-xs-8">
+                            <select class="form-control selectpicker show-tick"
+                                    id="parChannelRefund">
+                            </select>
+                        </div>
+                    </div>
+                    <div class="item form-group col-md-12 col-sm-12 col-xs-12 hide" id="barcodeRefundDiv">
+                        <label style="padding-left: 0px;" class="control-label col-md-4 col-sm-4 col-xs-4">
+                            支付订单条形码
+                        </label>
+                        <div class="col-md-8 col-sm-8 col-xs-8"><input type="text" class="form-control" id="barcodeRefund"></div>
+                    </div>
+                </form>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-primary" onclick="refund()">退费</button>
+                <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!--退货/聚合支付取消弹窗结尾-->
+
+
+<!--重印弹窗开始-->
+<div class="modal fade bs-example-modal-sm in" tabindex="-1" role="dialog" aria-hidden="true" id="reprintModal">
+    <div class="modal-dialog modal-sm">
+        <div class="modal-content" style="width: 480px;">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span>
+                </button>
+                <h4 class="modal-title modal-title-thmz">智能POS机消费</h4>
+            </div>
+            <div class="modal-body">
+                <form class="form-horizontal form-label-left" novalidate>
+                    <div class="item form-group col-md-12 col-sm-12 col-xs-12">
+                        <label style="padding-left: 0px;" class="control-label col-md-4 col-sm-4 col-xs-4">
+                            交易凭证号
+                        </label>
+                        <div class="col-md-8 col-sm-8 col-xs-6"><input type="text" class="form-control" id="traceNoReprint"></div>
+                    </div>
+                </form>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-primary" onclick="reprint()">重印</button>
+                <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!--重印弹窗结尾-->
+
+
+<!--交易查询弹窗开始-->
+<div class="modal fade bs-example-modal-sm in" tabindex="-1" role="dialog" aria-hidden="true" id="queryModal">
+    <div class="modal-dialog modal-sm">
+        <div class="modal-content" style="width: 480px;">
+            <div class="modal-header">
+                <button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span>
+                </button>
+                <h4 class="modal-title modal-title-thmz">智能POS机消费</h4>
+            </div>
+            <div class="modal-body">
+                <form class="form-horizontal form-label-left" novalidate>
+                    <div class="item form-group col-md-12 col-sm-12 col-xs-12">
+                        <label style="padding-left: 0px;" class="control-label col-md-4 col-sm-4 col-xs-4">
+                            交易订单号
+                        </label>
+                        <div class="col-md-8 col-sm-8 col-xs-6"><input type="text" class="form-control" id="plIdReprint"></div>
+                    </div>
+                </form>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-primary" onclick="query()">交易查询</button>
+                <button type="button" class="btn btn-default" data-dismiss="modal">取消</button>
+            </div>
+        </div>
+    </div>
+</div>
+<!--交易查询弹窗结尾-->
+<!--智能pos工具包实际HTML结尾-->
+
+
 <object id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0>
     <embed id="LODOP_EM" type="application/x-print-lodop" width=0 height=0></embed>
 </object>

+ 3 - 3
src/main/resources/templates/mz/registration_list.html

@@ -102,7 +102,7 @@
                             </div>
                         </div>
                         <div class="col-md-3 col-sm-3 col-xs-12" style="padding: 2px 4px;">
-                            <button type="button" id="btn_tools" class="btn btn-primary" style="float: right;margin-right: 10px;"
+                            <button type="button" id="btn_tools" class="btn btn-primary" style="float: right;"
                                     title="智能POS工具包"><i class="fa fa-suitcase"></i>
                             </button>
                             <button type="button"
@@ -961,7 +961,7 @@
 
 
 
-
+<!--智能pos工具包实际HTML开始-->
 <!--财务工具包弹窗开始-->
 <div class="modal fade bs-example-modal-sm in" tabindex="-1" role="dialog" aria-hidden="true" id="toolsModal"
      style="top:20%;">
@@ -1176,7 +1176,7 @@
     </div>
 </div>
 <!--交易查询弹窗结尾-->
-
+<!--智能pos工具包实际HTML结尾-->
 
 
 <object  id="LODOP_OB" classid="clsid:2105C259-1E0C-4534-8141-A753534CB4CA" width=0 height=0>

+ 34 - 28
src/main/resources/templates/mz/toll_administration.html

@@ -176,26 +176,44 @@
                             </div>
                         </div>
                     </div>
-                    <div class="item form-group pay-item" id="cashDiv">
+                    <!--<div class="item form-group pay-item">-->
+                        <!--<div class="col-md-12 col-sm-12 col-xs-12">-->
+                            <!--&lt;!&ndash;POS主机参考号&ndash;&gt;-->
+                            <!--<input type="hidden" class="refNo"/>-->
+                            <!--&lt;!&ndash;POS条形码编码&ndash;&gt;-->
+                            <!--<input type="hidden" class="qrCodeParam"/>-->
+                            <!--&lt;!&ndash; POS交易日期&ndash;&gt;-->
+                            <!--<input type="hidden" class="transDate"/>-->
+                            <!--&lt;!&ndash; POS 支付渠道(CHANNEL_ALIPAY  支付宝,CHANNEL_WEPAY  微信,CHANNEL_DRAGONPAY  龙支付,CHANNEL_UNIONCODEPAY  银联二维码,CHANNEL_UNIONPAY  其他银行卡交易)&ndash;&gt;-->
+                            <!--<input type="hidden" class="payChannel"/>-->
+                            <!--&lt;!&ndash;凭证号&ndash;&gt;-->
+                            <!--<input type="hidden" class="traceNo"/>-->
+                            <!--<div class="col-md-2 col-sm-2 col-xs-12"></div>-->
+                            <!--<label class="col-md-3 col-sm-3 col-xs-12" for="cash">-->
+                                <!--<select class="form-control selectpicker show-tick" required="true"-->
+                                        <!--id="payType" onchange="checkFee(false)"></select>-->
+                            <!--</label>-->
+                            <!--<div class="col-md-3 col-sm-3 col-xs-12">-->
+                                <!--<input id="cash" class="form-control col-md-5 col-xs-12 money" type="number"-->
+                                       <!--data-placement="bottom-right" min="0" onchange="checkFee(false)">-->
+                            <!--</div>-->
+                            <!--<div class="col-md-1 col-sm-1 col-xs-12" style="line-height: 34px;">元</div>-->
+                            <!--<div class="col-md-3 col-sm-3 col-xs-12 hide">-->
+                                <!--<button type="button" class="btn btn-primary" id="addPayType">-->
+                                    <!--<span>增加收款方式</span>-->
+                                <!--</button>-->
+                                <!--<input type="hidden" id="payTypeIndex" value="0"/>-->
+                            <!--</div>-->
+                        <!--</div>-->
+                    <!--</div>-->
+                    <div class="item form-group" id="changeAmountParent">
                         <div class="col-md-12 col-sm-12 col-xs-12">
-                            <!--POS主机参考号-->
-                            <input type="hidden" class="refNo"/>
-                            <!--POS条形码编码-->
-                            <input type="hidden" class="qrCodeParam"/>
-                            <!-- POS交易日期-->
-                            <input type="hidden" class="transDate"/>
-                            <!-- POS 支付渠道(CHANNEL_ALIPAY  支付宝,CHANNEL_WEPAY  微信,CHANNEL_DRAGONPAY  龙支付,CHANNEL_UNIONCODEPAY  银联二维码,CHANNEL_UNIONPAY  其他银行卡交易)-->
-                            <input type="hidden" class="payChannel"/>
-                            <!--凭证号-->
-                            <input type="hidden" class="traceNo"/>
                             <div class="col-md-2 col-sm-2 col-xs-12"></div>
-                            <label class="col-md-3 col-sm-3 col-xs-12" for="cash">
-                                <select class="form-control selectpicker show-tick" required="true"
-                                        id="payType" onchange="checkFee(false)"></select>
+                            <label class="control-label col-md-3 col-sm-3 col-xs-12" for="changeAmount">找零金额:
                             </label>
                             <div class="col-md-3 col-sm-3 col-xs-12">
-                                <input id="cash" class="form-control col-md-5 col-xs-12 money" type="number"
-                                       data-placement="bottom-right" min="0" onchange="checkFee(false)">
+                                <input id="changeAmount" class="form-control col-md-5 col-xs-12"
+                                       data-placement="bottom-right" readonly>
                             </div>
                             <div class="col-md-1 col-sm-1 col-xs-12" style="line-height: 34px;">元</div>
                             <div class="col-md-3 col-sm-3 col-xs-12 hide">
@@ -206,18 +224,6 @@
                             </div>
                         </div>
                     </div>
-                    <div class="item form-group" id="changeAmountParent">
-                        <div class="col-md-12 col-sm-12 col-xs-12">
-                            <div class="col-md-2 col-sm-2 col-xs-12"></div>
-                            <label class="control-label col-md-3 col-sm-3 col-xs-12" for="changeAmount">找零金额:
-                            </label>
-                            <div class="col-md-3 col-sm-3 col-xs-12">
-                                <input id="changeAmount" class="form-control col-md-5 col-xs-12"
-                                       data-placement="bottom-right" readonly>
-                            </div>
-                            <div class="col-md-1 col-sm-1 col-xs-12" style="line-height: 34px;">元</div>
-                        </div>
-                    </div>
                     <div class="item form-group">
                         <div class="col-md-12 col-sm-12 col-xs-12">
                             <div class="col-md-2 col-sm-2 col-xs-12"></div>

+ 8 - 0
src/main/resources/templates/mz/unit_code.html

@@ -217,6 +217,14 @@
                                             title="请选择"></select>
                                 </div>
                             </div>
+                            <div class="item form-group">
+                                <label class="control-label col-md-3 col-sm-3 col-xs-12" for="inpatientFlagPlus">是否住院科室
+                                </label>
+                                <div class="col-md-6 col-sm-6 col-xs-12">
+                                    <select class="form-control selectpicker show-tick" id="inpatientFlagPlus"
+                                            title="请选择"></select>
+                                </div>
+                            </div>
                         </form>
                     </div>
                     <div class="modal-footer">