Просмотр исходного кода

修复葫芦娃调用出院结算出错的问题。

lighter 4 лет назад
Родитель
Сommit
c89a15abcb

+ 5 - 0
src/main/java/thyyxxk/webserver/controller/yibao/DismissController.java

@@ -1,5 +1,6 @@
 package thyyxxk.webserver.controller.yibao;
 
+import lombok.extern.slf4j.Slf4j;
 import org.springframework.validation.annotation.Validated;
 import org.springframework.web.bind.annotation.*;
 import thyyxxk.webserver.config.auth.PassToken;
@@ -20,6 +21,7 @@ import thyyxxk.webserver.utils.TokenUtil;
 import java.util.List;
 import java.util.concurrent.atomic.AtomicReference;
 
+@Slf4j
 @RestController
 @RequestMapping("/dismiss")
 public class DismissController {
@@ -71,9 +73,11 @@ public class DismissController {
         if (param.getDismissFlag() == 2 && null == param.getZjdzDatetime()) {
             return ResultVoUtil.fail(ExceptionEnum.LOGICAL_ERROR, "中间断账时,断账时间不能为空。");
         }
+        log.info("出院结算:{}", param);
         PatientPojo p = dao.getPatientInfo(param.getInpatientNo());
         if (p.getResponceType().equals("01")) {
             YbSettleFeePojo feePojo = new YbSettleFeePojo();
+            feePojo.setResponceType("01");
             feePojo.setInpatientNo(p.getInpatientNo());
             feePojo.setAdmissTimes(p.getAdmissTimes());
             feePojo.setBedNo(p.getBedNo());
@@ -91,6 +95,7 @@ public class DismissController {
             p.setStaffId(param.getStaffId());
             p.setIcdCodes(mkIcdCodes(diags));
             p.setIcdTexts(mkIcdTexts(diags));
+            p.setDismissFlag(param.getDismissFlag());
             return settleService.calculateCost(p, p.getResponceType());
         }
     }

+ 10 - 10
src/main/java/thyyxxk/webserver/dao_his/yibao/DismissDao.java

@@ -41,16 +41,16 @@ public interface DismissDao {
     int getOrderList(@Param("inpatientNo") String inpatientNo, @Param("admissTimes") Integer admissTimes);
 
     @Select("select ltrim(rtrim(str(act_order_no))) as actOrderNo,rtrim(order_name) as orderName," +
-            "charge_date as chargeDate, rtrim(charge_code) as chargeCode,charge_fee=isnull(rtrim(charge_fee),'0'), " +
-            "chargeName=isnull(rtrim(charge_name),''), frequCode=isnull(rtrim(frequ_code), '')," +
-            "cxFlag=RTRIM(isnull(cx_flag,0)),drugSpecification=isnull(rtrim(drug_specification),'')," +
-            "start_time,end_time,chargeAmount=isnull(charge_amount,0),page_no," +
-            "charge_status,supplyCode=isnull((select rtrim(name) from view_zd_supply_type where code=supply_code),'')," +
-            "physician=isnull((select rtrim(name) from a_employee_mi where code=physician), '')," +
-            "enterOper=isnull((select rtrim(name) from a_employee_mi where code=enter_oper), '')," +
-            "execUnit=isnull((select rtrim(name) from zd_unit_code where code=exec_unit), '')," +
-            "order_code,wardCode=isnull((select rtrim(name) from zd_unit_code where code=ward_code), '')," +
-            "group_no from zy_list where charge_status in ('5','6','8')")
+            "charge_date as chargeDate, rtrim(charge_code) as chargeCode,charge_fee=rtrim(charge_fee), " +
+            "chargeName=rtrim(charge_name), frequCode=rtrim(frequ_code)," +
+            "cxFlag=cx_flag,drugSpecification=rtrim(drug_specification)," +
+            "start_time,end_time,chargeAmount=charge_amount,page_no," +
+            "charge_status,supplyCode=(select rtrim(name) from view_zd_supply_type where code=supply_code)," +
+            "physician=(select rtrim(name) from a_employee_mi where code=physician)," +
+            "enterOper=(select rtrim(name) from a_employee_mi where code=enter_oper)," +
+            "execUnit=(select rtrim(name) from zd_unit_code where code=exec_unit)," +
+            "wardName=(select rtrim(name) from zd_unit_code where code=ward_code)," +
+            "order_code, group_no from zy_list where charge_status in ('5','6','8')")
     List<ActOrderDetail> getActOrderDetail();
 
     @Select("select count(1) from zy_detail_charge where inpatient_no=#{inpatientNo} and " +

+ 1 - 0
src/main/java/thyyxxk/webserver/service/yibao/DismissService.java

@@ -310,6 +310,7 @@ public class DismissService {
     }
 
     private int writeReceiptTable(YbSettleFeePojo indata) {
+        log.info("{},{},{}", indata.getInpatientNo(), indata.getAdmissTimes(), indata.getLedgerSn());
         if (dao.beforeWriteReceiptTable(indata.getInpatientNo(), indata.getAdmissTimes(),
                 indata.getLedgerSn()) < 1) return -1;
         final int infantFlag = dao.selectInfantFlag(indata.getInpatientNo(), indata.getAdmissTimes(),

+ 1 - 1
src/main/java/thyyxxk/webserver/service/yibao/SettleService.java

@@ -50,7 +50,7 @@ public class SettleService {
             settleFee.setZjdzDatetime(param.getZjdzDatetime());
         }
         settleFee.setFlag(param.getDismissFlag());
-        settleFee.setStaffId(TokenUtil.getTokenUserId());
+        settleFee.setStaffId(param.getStaffId());
         settleFee.setInpatientNo(param.getInpatientNo());
         settleFee.setAdmissTimes(param.getAdmissTimes());
         settleFee.setResponceType(param.getResponceType());