فهرست منبع

初步完成确认医嘱收费。

xiaochan 3 سال پیش
والد
کامیت
8b5a05c739

+ 1 - 1
pom.xml

@@ -10,7 +10,7 @@
     </parent>
     <groupId>thyyxxk</groupId>
     <artifactId>web-server</artifactId>
-    <version>10.0.5</version>
+    <version>10.0.6</version>
     <name>web-server</name>
     <description>server for yibao-web</description>
     <properties>

+ 44 - 0
src/main/java/thyyxxk/webserver/controller/zhuyuanyiji/QueRenYiZhuShouFeiController.java

@@ -0,0 +1,44 @@
+package thyyxxk.webserver.controller.zhuyuanyiji;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.springframework.web.bind.annotation.*;
+import thyyxxk.webserver.entity.ResultVo;
+import thyyxxk.webserver.entity.datamodify.YzActOrder;
+import thyyxxk.webserver.service.zhuyuanyiji.QueRenYiZhuShouFeiServer;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 描述: 确认医嘱收费
+ * </p>
+ *
+ * @author xc
+ * @date 2021-09-27 11:51
+ */
+@RestController
+@RequestMapping("/queRen")
+public class QueRenYiZhuShouFeiController {
+    private final QueRenYiZhuShouFeiServer server;
+
+    public QueRenYiZhuShouFeiController(QueRenYiZhuShouFeiServer server) {
+        this.server = server;
+    }
+
+    @PostMapping("/getXuQueFeiYiZhu")
+    public ResultVo<IPage<YzActOrder>> getXuQueFeiYiZhu(@RequestBody YzActOrder yzActOrder) {
+        return server.getXuQueFeiYiZhu(yzActOrder);
+    }
+
+    @GetMapping("/getXuQueFeiXiangXiXinXi")
+    public ResultVo<List<YzActOrder>> getXuQueFeiXiangXiXinXi(@RequestParam("inpatientNo") String inpatientNo,
+                                                              @RequestParam("admissTimes") Integer admissTimes,
+                                                              @RequestParam("execUnit") String execUnit) {
+        return server.getXuQueFeiXiangXiXinXi(inpatientNo, admissTimes, execUnit);
+    }
+
+    @PostMapping("/baoCunYiZhuQueFeiShuJu")
+    public ResultVo<String> baoCunYiZhuQueFeiShuJu(@RequestBody YzActOrder param) {
+        return server.baoCunYiZhuQueFeiShuJu(param);
+    }
+}

+ 121 - 0
src/main/java/thyyxxk/webserver/dao/his/zhuyuanyiji/QueRenYiZhuShouFeiDao.java

@@ -0,0 +1,121 @@
+package thyyxxk.webserver.dao.his.zhuyuanyiji;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.annotations.Update;
+import thyyxxk.webserver.entity.datamodify.YzActOrder;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 描述: 确认医嘱收费
+ * </p>
+ *
+ * @author xc
+ * @date 2021-09-27 11:51
+ */
+@Mapper
+public interface QueRenYiZhuShouFeiDao {
+
+    @Select("<script>" +
+            "SELECT a.inpatient_no,   " +
+            "       a.admiss_times,   " +
+            "       name     =b.name,   " +
+            "       bed_no   =b.bed_no,   " +
+            "       ward_name = (select rtrim(name) name from zd_unit_code where zd_unit_code.code = a.ward_code),   " +
+            "       b.sex,   " +
+            "       b.admiss_date,   " +
+            "       b.total_charge,   " +
+            "       responce_type ,   " +
+            "       responce_type_name=(select rtrim(name) name from zy_zd_responce_type where responce_type = zy_zd_responce_type.code),   " +
+            "       a.ward_code,exec_unit   " +
+            "FROM yz_zy_patient_fee a ,zy_actpatient b   " +
+            "where a.charge_status='3' and   " +
+            "<if test=\"inpatientNo !=null and inpatientNo != '' \">      " +
+            "a.inpatient_no = #{inpatientNo} and   " +
+            "</if>" +
+            "<if test=\"admissTimes !=null and admissTimes != '' \">" +
+            "      a.admiss_times = #{admissTimes} and   " +
+            "</if>" +
+            "<if test=\"execUnit != null and execUnit !='' and execUnit != '3100000'\">" +
+            "      a.exec_unit    =    #{execUnit} and   " +
+            "</if>" +
+            "      a.inpatient_no=b.inpatient_no and   " +
+            "      a.admiss_times=b.admiss_times and  " +
+            "      convert(varchar(20),a.occ_time,23)&lt;=convert(varchar(20),getdate(),23) " +
+            "group by a.inpatient_no, a.admiss_times, b.name, b.bed_no,a.ward_code,exec_unit,b.sex,b.admiss_date,b.total_charge,responce_type" +
+            "</script>")
+    IPage<YzActOrder> getXuQueFeiYiZhu(IPage<YzActOrder> page,
+                                       @Param("inpatientNo") String inpatientNo,
+                                       @Param("admissTimes") Integer admissTimes,
+                                       @Param("execUnit") String execUnit);
+
+    @Select("<script>" +
+            "SELECT a.inpatient_no,  " +
+            "       a.admiss_times,  " +
+            "       a.charge_date,  " +
+            "       a.op_id_code,  " +
+            "       a.charge_code,  " +
+            "       a.infant_flag,  " +
+            "       a.charge_status,  " +
+            "       a.charge_fee,  " +
+            "       a.self_flag,  " +
+            "       a.separate_flag,  " +
+            "       a.suppress_flag,  " +
+            "       a.occ_time,  " +
+            "       a.act_order_no,  " +
+            "       a.dept_code,  " +
+            "       a.ward_code,  " +
+            "       a.order_count,  " +
+            "       a.pay_self,  " +
+            "       a.exec_unit,  " +
+            "       a.zy_serial_no  ,  " +
+            "       charge_name=c.name,  " +
+            "       bill_item_code=c.bill_item_zy,  " +
+            "       ledger_sn=b.times_billed,  " +
+            "       name     =b.name,  " +
+            "       bed_no   =b.bed_no,  " +
+            "       op_flag  =isnull(a.op_flag,'0'),  " +
+            "       d.order_name,  " +
+            "       docotr_name=e.name,  " +
+            "       op_id = a.op_id,  " +
+            "       op_date = a.op_date  " +
+            "FROM yz_zy_patient_fee a ,zy_actpatient b ,zd_charge_item c,yz_act_order d,a_employee_mi e  " +
+            "where    a.charge_status='3' and  " +
+            "         a.inpatient_no = #{inpatientNo} and  " +
+            "         a.admiss_times = #{admissTimes} and " +
+            "<if test=\"execUnit != '3100000' \">" +
+            "         a.exec_unit    =    #{execUnit} and  " +
+            "</if>" +
+            "         a.inpatient_no=b.inpatient_no and  " +
+            "         a.admiss_times=b.admiss_times and  " +
+            "         a.charge_code=c.code  and" +
+            "         a.inpatient_no=d.inpatient_no and " +
+            "         a.admiss_times=d.admiss_times  and" +
+            "         a.act_order_no=d.act_order_no  and" +
+            "         d.physician*=e.code  and" +
+            "         convert(varchar(20),a.occ_time,23)&lt;=convert(varchar(20),getdate(),23)  " +
+            "order by charge_name,order_code,charge_code" +
+            "</script>")
+    List<YzActOrder> getXuQueFeiXiangXiXinXi(@Param("inpatientNo") String inpatientNo,
+                                             @Param("admissTimes") Integer admissTimes,
+                                             @Param("execUnit") String execUnit);
+
+    @Update("<script>" +
+            "<foreach collection='list' item='item' separator=';'>" +
+            "UPDATE yz_zy_patient_fee " +
+            "<set>" +
+            " charge_status = #{item.chargeStatus}, op_id = #{code}, op_date = GETDATE() " +
+            "</set>" +
+            "WHERE occ_time = #{item.occTime} AND act_order_no = #{item.actOrderNo} " +
+            "AND inpatient_no = #{inpatientNo} AND admiss_times = #{admissTimes}" +
+            "</foreach>" +
+            "</script>")
+    void baoCunYiZhuQueFei(@Param("inpatientNo") String inpatientNo,
+                           @Param("admissTimes") Integer admissTimes,
+                           @Param("list") List<YzActOrder> list,
+                           @Param("code") String code);
+}

+ 26 - 1
src/main/java/thyyxxk/webserver/entity/datamodify/YzActOrder.java

@@ -1,5 +1,6 @@
 package thyyxxk.webserver.entity.datamodify;
 
+import com.fasterxml.jackson.annotation.JsonInclude;
 import io.swagger.annotations.ApiModel;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
@@ -22,6 +23,7 @@ import java.util.List;
 @EqualsAndHashCode(callSuper = false)
 @ApiModel(value = "YzActOrder对象")
 @Accessors(chain = true)
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class YzActOrder implements Serializable {
 
     private static final long serialVersionUID = 1L;
@@ -161,7 +163,6 @@ public class YzActOrder implements Serializable {
     private String psStatus;
 
     private String psOper;
-
     private Date psTime;
 
     private String execId2;
@@ -186,6 +187,10 @@ public class YzActOrder implements Serializable {
 
     private Date psResultTime;
 
+    private String opIdCode;
+
+    private Date chargeDate;
+
     private String kfFlag;
 
     private String modifierOper;
@@ -211,6 +216,26 @@ public class YzActOrder implements Serializable {
     private String queryStartTime;
     private String queryEndTime;
 
+    // 下面是医嘱确费 需要使用到的
+    private Integer ledgerSn;
+    private String name;
+    private Integer bedNo;
+    private String docotrName;
+    private Integer comfirmFlag;
+    private String wardName;
+    private String chargeCode;
+    private BigDecimal chargeFee;
+    private BigDecimal orderCount;
+    private Integer sex;
+    private Date admissDate;
+    private BigDecimal totalCharge;
+    private String responceType;
+    private String responceTypeName;
+    private Date occTime;
+    private String billItemCode;
+    private List<YzActOrder> list;
+
+
     public String getDrugFlagName() {
         if (drugFlag == null) return "";
         switch (drugFlag) {

+ 2 - 0
src/main/java/thyyxxk/webserver/entity/yibao/ZyActpatient.java

@@ -1,6 +1,7 @@
 package thyyxxk.webserver.entity.yibao;
 
 import com.baomidou.mybatisplus.annotation.TableField;
+import com.fasterxml.jackson.annotation.JsonInclude;
 import lombok.Data;
 import thyyxxk.webserver.entity.datamodify.MzChargeDetail;
 
@@ -10,6 +11,7 @@ import java.util.Date;
 import java.util.List;
 
 @Data
+@JsonInclude(JsonInclude.Include.NON_NULL)
 public class ZyActpatient implements Serializable {
 
     private static final long serialVersionUID = 5145290750715622360L;

+ 22 - 1
src/main/java/thyyxxk/webserver/service/PublicServer.java

@@ -5,6 +5,7 @@ import thyyxxk.webserver.dao.his.PublicDao;
 import thyyxxk.webserver.dao.his.yibao.TransferInOfExpensesDao;
 import thyyxxk.webserver.entity.ResultVo;
 import thyyxxk.webserver.utils.ResultVoUtil;
+import thyyxxk.webserver.utils.StringUtil;
 import thyyxxk.webserver.utils.TokenUtil;
 
 import java.util.List;
@@ -51,9 +52,12 @@ public class PublicServer {
 
     /**
      * @param inpatientNo 住院号
-     * @return 返回新的住院号
+     * @return 返回婴儿标志
      */
     public int getInfantFlag(String inpatientNo) {
+        if (StringUtil.isBlank(inpatientNo)) {
+            return 999;
+        }
         int infantFlag = 0;
         if (inpatientNo.contains("$")) {
             infantFlag = 1;
@@ -61,15 +65,32 @@ public class PublicServer {
         return infantFlag;
     }
 
+    /**
+     * 返回
+     *
+     * @param inpatientNo 住院号
+     * @return 返回新住院号
+     */
     public String getInpatientNo(String inpatientNo) {
+        if (StringUtil.isBlank(inpatientNo)) {
+            return "";
+        }
         if (inpatientNo.contains("$")) {
             inpatientNo = inpatientNo.split("\\$")[0];
         }
         return inpatientNo;
     }
 
+    /**
+     * 获取最大流水号
+     *
+     * @param inpatientNo 住院号
+     * @param admissTimes 住院次数
+     * @return 返回 流水
+     */
     public Integer getMaxDetailSn(String inpatientNo, Integer admissTimes) {
         return transferInOfExpensesDao.getMaxDetailSn(inpatientNo, admissTimes);
     }
 
 }
+

+ 20 - 11
src/main/java/thyyxxk/webserver/service/yibao/XiangMuLuRuService.java

@@ -122,7 +122,7 @@ public class XiangMuLuRuService {
         if (StringUtil.isBlank(param.getInpatientNo()) || param.getAdmissTimes() == null || param.getList().size() == 0) {
             return ResultVoUtil.fail(ExceptionEnum.NULL_POINTER, "患者信息不全");
         }
-        // 判断数据是否为 退费数据
+        // 判断数据是否为 退费数据 
         List<ZyDetailCharge> chaKanSFtuiFei = dao.chaKanSFYiJingTuiFeiLe(param.getInpatientNo(), param.getAdmissTimes(), param.getList());
 
         for (ZyDetailCharge charge : chaKanSFtuiFei) {
@@ -186,6 +186,7 @@ public class XiangMuLuRuService {
         } else {
             List<List<ZyDetailCharge>> fenGe = ListUtils.partition(tuiFeiList, 20);
             fenGe.forEach(dao::xiangMuTuiFei);
+            dao.huanZheZongFeiYong(fy, param.getInpatientNo(), param.getAdmissTimes(), "zy_ledger_file");
             dao.huanZheZongFeiYong(fy, param.getInpatientNo(), param.getAdmissTimes(), "zy_actpatient");
             log.info("操作项目退费 ==》 操作人:{},数据:{}", TokenUtil.getTokenUserId(), JSON.toJSONString(tuiFeiList));
             return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "项目退费操作成功。乁( ˙ ω˙乁)");
@@ -223,7 +224,7 @@ public class XiangMuLuRuService {
     }
 
     /**
-     * 获取科室
+     * 获取病区
      *
      * @return 返回科室信息
      */
@@ -272,6 +273,9 @@ public class XiangMuLuRuService {
         if (StringUtil.isBlank(param.getZySerialNo())) {
             errorStr.append("5、住院流水号为空 <br />");
         }
+        if (dao.getHuanZheSFZaiYuan(param.getInpatientNo()) == 0) {
+            errorStr.append("6、没有患者的在院信息 <br />");
+        }
         if (errorStr.length() > 3) {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, errorStr.toString());
         }
@@ -286,7 +290,6 @@ public class XiangMuLuRuService {
         BigDecimal sum = new BigDecimal(0);
         // 录入人的id
         param.setOpIdCode(TokenUtil.getTokenUserId());
-
         for (ZyDetailCharge zyDetailCharge : param.getList()) {
             switch (zyDetailCharge.getBillItemCode()) {
                 case "001":
@@ -320,6 +323,11 @@ public class XiangMuLuRuService {
             if (zyDetailCharge.getChargeCodeMx() == null) {
                 zyDetailCharge.setChargeCodeMx(zyDetailCharge.getChargeCode());
             }
+            if (param.getOrderNo() != null) {
+                zyDetailCharge.setOrderNo(param.getOrderNo());
+            } else {
+                return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "医嘱号为空");
+            }
             sum = sum.add(zyDetailCharge.getChargeAmount().multiply(zyDetailCharge.getAmount()));
             // 这里不会保存单价 只会总价
             zyDetailCharge.setChargeAmount(zyDetailCharge.getChargeAmount().multiply(zyDetailCharge.getAmount()));
@@ -329,6 +337,7 @@ public class XiangMuLuRuService {
         fy.setTotalCharge(sum);
         // 在此处 插入费用
         dao.chaRuFeiYong(param, param.getList(), infantFlag);
+        dao.huanZheZongFeiYong(fy, param.getInpatientNo(), param.getAdmissTimes(), "zy_ledger_file");
         dao.huanZheZongFeiYong(fy, param.getInpatientNo(), param.getAdmissTimes(), "zy_actpatient");
         log.info("项目录入费用上传 ==》 操作人:{},数据:{}", param.getOpIdCode(), JSON.toJSONString(param));
         return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "费用上传成功。<( ̄︶ ̄)>");
@@ -396,11 +405,11 @@ public class XiangMuLuRuService {
         for (ZyDetailCharge fuShu : getYiZhuFeiYongFuShu) {
             String key = fuShu.getOrderNo() + DateUtil.formatDatetime(fuShu.getChargeDate()) + fuShu.getChargeCodeMx() + fuShu.getChargeAmount().negate() + fuShu.getLedgerSn();
             if (zhenShuMap.containsKey(key)) {
-                for (int i = 0; i < zhenShuMap.get(key).size(); i++) {
-                    if (zhenShuMap.get(key).get(i).getTuiFeiFlag() == null) {
-                        fuShu.setOriDetailSn(zhenShuMap.get(key).get(i).getDetailSn());
+                for (ZyDetailCharge zyDetailCharge : zhenShuMap.get(key)) {
+                    if (zyDetailCharge.getTuiFeiFlag() == null) {
+                        fuShu.setOriDetailSn(zyDetailCharge.getDetailSn());
                         piPei.add(fuShu);
-                        zhenShuMap.get(key).get(i).setTuiFeiFlag(1);
+                        zyDetailCharge.setTuiFeiFlag(1);
                     }
                 }
             } else {
@@ -448,11 +457,11 @@ public class XiangMuLuRuService {
             for (ZyDetailCharge zyDetailCharge : erCiPiPei) {
                 String key = zyDetailCharge.getExecUnit() + zyDetailCharge.getChargeCodeMx() + zyDetailCharge.getChargeAmount().negate() + zyDetailCharge.getLedgerSn();
                 if (erCiPiPeiZhenShu.containsKey(key)) {
-                    for (int i = 0; i < erCiPiPeiZhenShu.get(key).size(); i++) {
-                        if (erCiPiPeiZhenShu.get(key).get(i).getTuiFeiFlag() == null) {
-                            zyDetailCharge.setOriDetailSn(erCiPiPeiZhenShu.get(key).get(i).getDetailSn());
+                    for (ZyDetailCharge detailCharge : erCiPiPeiZhenShu.get(key)) {
+                        if (detailCharge.getTuiFeiFlag() == null) {
+                            zyDetailCharge.setOriDetailSn(detailCharge.getDetailSn());
                             piPei.add(zyDetailCharge);
-                            erCiPiPeiZhenShu.get(key).get(i).setTuiFeiFlag(1);
+                            detailCharge.setTuiFeiFlag(1);
                             break;
                         }
                     }

+ 113 - 0
src/main/java/thyyxxk/webserver/service/zhuyuanyiji/QueRenYiZhuShouFeiServer.java

@@ -0,0 +1,113 @@
+package thyyxxk.webserver.service.zhuyuanyiji;
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import thyyxxk.webserver.config.exception.ExceptionEnum;
+import thyyxxk.webserver.constants.GetDateFormat;
+import thyyxxk.webserver.dao.his.yibao.XiangMuLuRuDao;
+import thyyxxk.webserver.dao.his.zhuyuanyiji.QueRenYiZhuShouFeiDao;
+import thyyxxk.webserver.entity.ResultVo;
+import thyyxxk.webserver.entity.datamodify.FeiYongLeiXin;
+import thyyxxk.webserver.entity.datamodify.YzActOrder;
+import thyyxxk.webserver.entity.datamodify.ZyDetailCharge;
+import thyyxxk.webserver.utils.JiSuanFeiYong;
+import thyyxxk.webserver.utils.ResultVoUtil;
+import thyyxxk.webserver.utils.StringUtil;
+import thyyxxk.webserver.utils.TokenUtil;
+
+import java.math.BigDecimal;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 描述: 确认医嘱收费
+ * </p>
+ *
+ * @author xc
+ * @date 2021-09-27 11:50
+ */
+@Service
+@Slf4j
+public class QueRenYiZhuShouFeiServer {
+    private final QueRenYiZhuShouFeiDao dao;
+
+    private final XiangMuLuRuDao xiangMuLuRuDao;
+
+    public QueRenYiZhuShouFeiServer(QueRenYiZhuShouFeiDao dao, XiangMuLuRuDao xiangMuLuRuDao) {
+        this.dao = dao;
+        this.xiangMuLuRuDao = xiangMuLuRuDao;
+    }
+
+    /**
+     * @param yzActOrder 查询条件 住院号,住院次数,执行科室, 分页
+     * @return 返回分页数据
+     */
+    public ResultVo<IPage<YzActOrder>> getXuQueFeiYiZhu(YzActOrder yzActOrder) {
+        IPage<YzActOrder> page = new Page<>(yzActOrder.getCurrentPage(), yzActOrder.getPageSize());
+        //  yzActOrder.setInpatientNo(publicServer.getInpatientNo(yzActOrder.getInpatientNo()));
+        if (StringUtil.isBlank(yzActOrder.getExecUnit())) {
+            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "科室信息为空 [・_・?]");
+        }
+        log.info("查询需确费医嘱:数据:{}", JSON.toJSONString(yzActOrder));
+        dao.getXuQueFeiYiZhu(page, yzActOrder.getInpatientNo(), yzActOrder.getAdmissTimes(), yzActOrder.getExecUnit());
+        if (page.getRecords().isEmpty()) {
+            return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST);
+        }
+        return ResultVoUtil.success(page);
+    }
+
+    /**
+     * 这里是查询 患者的具体医嘱确认信息
+     *
+     * @param inpatientNo 住院号
+     * @param admissTimes 住院次数
+     * @param execUnit    执行科室
+     * @return 返回
+     */
+    public ResultVo<List<YzActOrder>> getXuQueFeiXiangXiXinXi(String inpatientNo, Integer admissTimes, String execUnit) {
+        List<YzActOrder> list = dao.getXuQueFeiXiangXiXinXi(inpatientNo, admissTimes, execUnit);
+        if (list.isEmpty()) {
+            return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST, "ヽ(゜Q。)ノ?");
+        }
+        return ResultVoUtil.success(list);
+    }
+
+    @Transactional(rollbackFor = Exception.class)
+    public ResultVo<String> baoCunYiZhuQueFeiShuJu(YzActOrder param) {
+        List<ZyDetailCharge> zyDetailCharges = new ArrayList<>();
+        List<YzActOrder> shangChuanList = new ArrayList<>();
+        BigDecimal sum = new BigDecimal(0);
+        for (YzActOrder yzActOrder : param.getList()) {
+            if (yzActOrder.getChargeStatus().equals("0")) {
+                ZyDetailCharge zy = new ZyDetailCharge();
+                zy.setChargeAmount(yzActOrder.getOrderCount());
+                // 这里是价格传过来的价格是总价 所以我要先变成单价 才能计算不失误   这个除法是保留小数点后两位的
+                zy.setChargeFee(yzActOrder.getChargeFee().divide(yzActOrder.getOrderCount(), 2, BigDecimal.ROUND_HALF_UP));
+                zy.setBillItemCode(yzActOrder.getBillItemCode());
+                zyDetailCharges.add(zy);
+                sum = sum.add(zy.getChargeAmount().multiply(zy.getChargeFee()));
+                shangChuanList.add(yzActOrder);
+            } else if (yzActOrder.getChargeStatus().equals("1")) {
+                shangChuanList.add(yzActOrder);
+            }
+        }
+        if (shangChuanList.isEmpty()) {
+            return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "没有选择任何操作 !!!∑(゚Д゚ノ)ノ");
+        } else {
+            dao.baoCunYiZhuQueFei(param.getInpatientNo(), param.getAdmissTimes(), shangChuanList, TokenUtil.getTokenUserId());
+        }
+        if (!zyDetailCharges.isEmpty()) {
+            FeiYongLeiXin fy = JiSuanFeiYong.jiSuan(zyDetailCharges, true);
+            fy.setTotalCharge(sum);
+            xiangMuLuRuDao.huanZheZongFeiYong(fy, param.getInpatientNo(), param.getAdmissTimes(), "zy_ledger_file");
+            xiangMuLuRuDao.huanZheZongFeiYong(fy, param.getInpatientNo(), param.getAdmissTimes(), "zy_actpatient");
+        }
+        log.info("医嘱确费保存==》操作人:{},数据:{}", TokenUtil.getTokenUserId(), JSON.toJSONStringWithDateFormat(param.getList(), GetDateFormat.DATE_TIME));
+        return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "操作成功 (๑*◡*๑)");
+    }
+}