Browse Source

退费权限

xiaochan 3 năm trước cách đây
mục cha
commit
2e62ad24f7

+ 1 - 1
src/main/java/thyyxxk/webserver/dao/his/yibao/TransferInOfExpensesDao.java

@@ -183,7 +183,7 @@ public interface TransferInOfExpensesDao {
             "(#{info.inpatientNo}, #{info.admissTimes}, #{info.ledgerSn}, #{fee.detailSn}, #{info.chargeDate}, #{info.staffId}, " +
             "#{fee.chargeCode}, 0, 2, #{fee.chargeAmount}, cast(#{fee.chargeFee,jdbcType=DECIMAL} as decimal(14,5)), #{info.zkWard}, #{info.dept}, 6, " +
             "'',#{info.chargeDate}, #{fee.chargeCodeMx},#{fee.serial},#{fee.doctorCode},0,#{info.referPhysician}," +
-            "#{info.consultPhysician},#{info.reqExecUnit},#{info.zySerialNo})" +
+            "#{info.consultPhysician},#{fee.execDept},#{info.zySerialNo})" +
             "</foreach>" +
             "</script>")
     void insertInfoZyDetailCharge(@Param("info") ZyActpatient info,

+ 13 - 3
src/main/java/thyyxxk/webserver/dao/his/yibao/XiangMuLuRuDao.java

@@ -595,7 +595,7 @@ public interface XiangMuLuRuDao extends BaseMapper<ZyDetailCharge> {
             "  , op_id_code, charge_code, infant_flag, charge_status, charge_fee  " +
             "  , self_flag, separate_flag, suppress_flag, ward_code, dept_code  " +
             "  , order_no, ope_flag, exec_unit, charge_amount, gen_time  " +
-            "  , zy_serial_no, charge_code_mx, serial,ss_code,yb_self_flag,refer_physician)  " +
+            "  , zy_serial_no, charge_code_mx, serial,ss_code,yb_self_flag,refer_physician,doctor_code)  " +
             "VALUES " +
             "<foreach collection='list' item='item' separator=','>" +
             "(#{zyDetailCharge.inpatientNo}, #{zyDetailCharge.admissTimes}, #{ledgerSn}, #{item.detailSn}, getdate()  " +
@@ -610,7 +610,8 @@ public interface XiangMuLuRuDao extends BaseMapper<ZyDetailCharge> {
             "<if test=\"item.ybSelfFlag != null\">" +
             "#{item.ybSelfFlag}" +
             "</if>" +
-            ",#{zyDetailCharge.referPhysician})" +
+            ",#{zyDetailCharge.referPhysician}," +
+            "#{item.doctorCode})" +
             "</foreach>" +
             "</script>")
     void chaRuFeiYong(@Param("zyDetailCharge") ZyDetailCharge zyDetailCharge,
@@ -618,6 +619,14 @@ public interface XiangMuLuRuDao extends BaseMapper<ZyDetailCharge> {
                       @Param("infantFlag") int infantFlag,
                       @Param("ledgerSn") Integer ledgerSn);
 
+    @Select("<script>" +
+            "SELECT charge_code charge_code_mx,group_no,serial FROM yp_base_yf WHERE charge_code in " +
+            "<foreach collection='list' item='item' index='index' open='(' close=')' separator=','>" +
+            "#{item.chargeCodeMx}" +
+            "</foreach>" +
+            "</script>")
+    List<ZyDetailCharge> yaoFang(List<ZyDetailCharge> yaoPingCode);
+
 
     @Insert("<script>" +
             "insert into zy_drug ( inpatient_no , admiss_times , ledger_sn , detail_sn , charge_date , op_id_code , charge_code , infant_flag , " +
@@ -633,7 +642,7 @@ public interface XiangMuLuRuDao extends BaseMapper<ZyDetailCharge> {
             "  cast(#{item.chargeFee,jdbcType=DECIMAL} / #{item.chargeAmount,jdbcType=DECIMAL} as decimal(14,5)) , " +
             // 数量
             "cast(#{item.chargeAmount,jdbcType=DECIMAL} as decimal(14,5)) " +
-            ", #{zyDetailCharge.zySerialNo} , #{item.serial} , #{item.groupNo} ,'1' )" +
+            ", #{zyDetailCharge.zySerialNo} , #{item.serial} , 73 ,'1' )" +
             "</foreach>" +
             "</script>")
     void shenQingYaoPing(@Param("zyDetailCharge") ZyDetailCharge zyDetailCharge,
@@ -1098,4 +1107,5 @@ public interface XiangMuLuRuDao extends BaseMapper<ZyDetailCharge> {
                                           @Param("ledgerSn") Integer ledgerSn,
                                           @Param("detailSn") Integer detailSn,
                                           @Param("oriDetailSn") Integer oriDetailSn);
+
 }

+ 5 - 0
src/main/java/thyyxxk/webserver/entity/datamodify/ZyDetailCharge.java

@@ -82,6 +82,11 @@ public class ZyDetailCharge implements Serializable {
 
     private String oldGenTime;
 
+    /**
+     * 药品 库存
+     */
+    private Integer stockAmount;
+
     private float payPercent;
 
     private String zjFlag;

+ 6 - 4
src/main/java/thyyxxk/webserver/service/yibao/XiangMuLuRuService.java

@@ -109,6 +109,10 @@ public class XiangMuLuRuService {
      */
     @Transactional(rollbackFor = Exception.class)
     public ResultVo<String> xiangMuTuiFei(ZyDetailCharge param) {
+        List<Integer> yongHuJueSe = dao.huoQuJueSe(TokenUtil.getTokenUserId());
+        if (!yongHuJueSe.contains(36)) {
+            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "您没有权限退费。");
+        }
         if (param.getList() == null || param.getList().isEmpty()) {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "请先选择需要退费的数据,一次性退费不得超过100条<br/> ╮( •́ω•̀ )╭");
         } else if (param.getList().size() > 100) {
@@ -149,7 +153,6 @@ public class XiangMuLuRuService {
         List<Integer> genXingZhenShuTuiFeiLiuShui = new ArrayList<>();
         List<ZyDetailCharge> tuiFeiList = new ArrayList<>();
         // 获取到用户角色   管理员角色可以无视
-        List<Integer> yongHuJueSe = dao.huoQuJueSe(TokenUtil.getTokenUserId());
         List<String> zhiXinKeShi = dao.chaXunZhiZXinKeShi(param.getDeptCode());
         for (ZyDetailCharge pojo : yuanTuiFeiList) {
             // 判断患者的费用是否存在负数
@@ -193,9 +196,6 @@ public class XiangMuLuRuService {
             fenGe.forEach(dao::xiangMuTuiFei);
             dao.genXinZhenShuTuiFeiLiuShui(param.getInpatientNo(), param.getAdmissTimes(),
                     publicServer.getLedgerSn(param.getInpatientNo(), param.getAdmissTimes()), genXingZhenShuTuiFeiLiuShui);
-            dao.huanZheZongFeiYong(fy, param.getInpatientNo(), param.getAdmissTimes(), "zy_ledger_file");
-            dao.huanZheZongFeiYong(fy, param.getInpatientNo(), param.getAdmissTimes(), "zy_actpatient");
-
             return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "项目退费操作成功。乁( ˙ ω˙乁)");
         }
     }
@@ -218,6 +218,8 @@ public class XiangMuLuRuService {
                 }
             } else if (!xuYaoTuiDeShuJu.getDeptCode().equals(piPeiDeShuJu.getExecUnit())) {
                 return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, String.format("流水号为【%s】,请对应的执行科室进行退费。<br/>( ´Д`)y━・~~", piPeiDeShuJu.getDetailSn()));
+            } else if (!BigUtils.dengYu(piPeiDeShuJu.getOrderNo(), 3)) {
+                return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, String.format("流水号为【%s】,只能退本科室录入的药品。<br/>( ´Д`)y━・~~", piPeiDeShuJu.getDetailSn()));
             }
         }
         return null;