浏览代码

新增急门诊费用转入。

xiaochan 4 年之前
父节点
当前提交
4a3f6ae93a

+ 5 - 0
pom.xml

@@ -176,6 +176,11 @@
             <artifactId>junit</artifactId>
             <scope>test</scope>
         </dependency>
+        <dependency>
+            <groupId>thyyxxk</groupId>
+            <artifactId>web-server</artifactId>
+            <version>6.4</version>
+        </dependency>
     </dependencies>
 
     <build>

+ 58 - 0
src/main/java/thyyxxk/webserver/controller/yibao/TransferInOfExpensesController.java

@@ -0,0 +1,58 @@
+package thyyxxk.webserver.controller.yibao;
+
+import org.springframework.web.bind.annotation.*;
+import thyyxxk.webserver.entity.ResultVo;
+import thyyxxk.webserver.entity.datamodify.MzChargeDetail;
+import thyyxxk.webserver.entity.datamodify.ZyDetailCharge;
+import thyyxxk.webserver.entity.yibao.ZyActpatient;
+import thyyxxk.webserver.service.yibao.TransferInOfExpensesService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 描述: 门急诊费用 转入
+ * </p>
+ *
+ * @author xc
+ * @date 2021-05-25 17:33
+ */
+@RestController
+@RequestMapping("/transferInOfExpenses")
+public class TransferInOfExpensesController {
+
+    private final TransferInOfExpensesService service;
+
+    public TransferInOfExpensesController(TransferInOfExpensesService service) {
+        this.service = service;
+    }
+
+    @GetMapping("/queryHuanZhe")
+    public ResultVo<ZyActpatient> queryHuanZhe(@RequestParam("inpatientNo") String inpatientNo) {
+        return service.queryHuanZhe(inpatientNo);
+    }
+
+    @GetMapping("/getSerialNo")
+    public ResultVo<List<MzChargeDetail>> getSerialNo(String serialNo, Integer liShiFlag) {
+        return service.getSerialNo(serialNo, liShiFlag);
+    }
+
+    @GetMapping("/getZyJiMenZhenZhuangRuFeiYong")
+    public ResultVo<Map<String, Object>> getZyJiMenZhenZhuangRuFeiYong(@RequestParam("inpatientNo") String inpatientNo,
+                                                                       @RequestParam("chargeCodeMX") String chargeCodeMX,
+                                                                       @RequestParam("currentPage") long currentPage,
+                                                                       @RequestParam("pageSize") long pageSize) {
+        return service.getZyJiMenZhenZhuangRuFeiYong(inpatientNo, chargeCodeMX, currentPage, pageSize);
+    }
+
+    @PostMapping("/shanChuFeiYong")
+    public ResultVo<String> shanChuFeiYong(@RequestBody ZyDetailCharge param) {
+        return service.shanChuFeiYong(param);
+    }
+
+    @PostMapping("/baoCunHuanZheZhuYuanFeiYong")
+    public ResultVo<String> baoCunHuanZheZhuYuanFeiYong(@RequestBody ZyActpatient param) {
+        return service.baoCunHuanZheZhuYuanFeiYong(param);
+    }
+}

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

@@ -0,0 +1,114 @@
+package thyyxxk.webserver.dao.his.yibao;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import org.apache.ibatis.annotations.*;
+import thyyxxk.webserver.entity.datamodify.MzChargeDetail;
+import thyyxxk.webserver.entity.datamodify.ZyDetailCharge;
+import thyyxxk.webserver.entity.yibao.ZyActpatient;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 描述: 门急诊费用转入
+ * </p>
+ *
+ * @author xc
+ * @date 2021-05-25 17:35
+ */
+@Mapper
+public interface TransferInOfExpensesDao {
+
+    /**
+     * 查询患者的基本信息
+     *
+     * @param inpatientNo 住院号
+     * @return 返回一条信息
+     */
+    @Select("select rtrim(inpatient_no) inpatient_no,admiss_times," +
+            "rtrim(admiss_ward) wardCode," +
+            "rtrim(small_dept) deptCode, " +
+            "rtrim(isnull(operation, '')) as operation, " +
+            "rtrim(refer_physician) refer_physician, " +
+            "rtrim(consult_physician) consult_physician, " +
+            "ledgerSn=(select max(ledger_sn) from zy_ledger_file  " +
+            "where inpatient_no=a.inpatient_no and admiss_times=a.admiss_times), " +
+            "maxDetailSn=(select max(detail_sn) from zy_detail_charge " +
+            "where inpatient_no=a.inpatient_no and admiss_times=a.admiss_times), " +
+            "rtrim(a.name)name,sex,rtrim(bed_no)bed_no,(b.name) ward_name, " +
+            "admiss_date,(c.name)responce_type_name,total_charge,balance " +
+            "from zy_actpatient a left join zd_unit_code b on (a.ward = b.code) left join zy_zd_responce_type c on (a.responce_type = c.code) " +
+            "where inpatient_no = #{inpatientNo}")
+    ZyActpatient queryHuanZhe(String inpatientNo);
+
+    /**
+     * 根据机制号来查询门诊发票信息
+     *
+     * @param tableName 要查询的表格
+     * @param serialNo  机制号
+     * @return 返回多个
+     */
+    @Select("select unit_price charge_fee,quantity charge_amount,unit_price,tc_name,quantity,patient_id,times,receipt_no,order_no," +
+            "item_no,charge_item_code charge_code_mx,charge_item_code charge_code,doctor_code," +
+            "detail_flag detail_sn," +
+            "receipt_no,real_no,charge_date,self_flag,charge_bill_code,serial,serial_no " +
+            "from ${tableName} where serial_no = #{serialNo} ")
+    List<MzChargeDetail> getSerialNo(@Param("tableName") String tableName,
+                                     @Param("serialNo") String serialNo);
+
+    /**
+     * 分页获取这个病人是通过急门诊转入的费用
+     *
+     * @param page        分页对象
+     * @param inpatientNo 住院号
+     * @return 返回
+     */
+    @Select("<script>" +
+            "select * from (" +
+            "select rtrim(inpatient_no)inpatient_no,admiss_times,detail_sn,ledger_sn, " +
+            "charge_date,charge_code,charge_fee,a.charge_amount,charge_code_mx,(b.name)charge_code_name, " +
+            "zy_serial_no " +
+            "from zy_detail_charge a,zd_charge_item b  where (code=charge_code) and order_no=6 and inpatient_no = #{inpatientNo} " +
+            "<if test=\"chargeCodeMX!=null and chargeCodeMX!=''\"> " +
+            "and charge_code_mx = #{chargeCodeMX} " +
+            "</if> " +
+            "union " +
+            "select rtrim(inpatient_no)inpatient_no,admiss_times,detail_sn,ledger_sn, " +
+            "charge_date,charge_code,charge_fee,a.charge_amount,charge_code_mx,(b.name)charge_code_name, " +
+            "zy_serial_no " +
+            "from zy_detail_charge a,yp_zd_dict b where (code=charge_code) and  order_no=6 and inpatient_no = #{inpatientNo} " +
+            "<if test=\"chargeCodeMX!=null and chargeCodeMX!=''\"> " +
+            "and charge_code_mx = #{chargeCodeMX} " +
+            "</if> " +
+            ") temp" +
+            "</script> ")
+    List<ZyDetailCharge> getZyJiMenZhenZhuangRuFeiYong(IPage<ZyDetailCharge> page,
+                                                       @Param("inpatientNo") String inpatientNo,
+                                                       @Param("chargeCodeMX") String chargeCodeMX);
+
+    /**
+     * 删除病人通过急门诊转入的费用 数据
+     *
+     * @param param 删除的条件
+     */
+    @Delete("delete zy_detail_charge where inpatient_no=#{inpatientNo} and  admiss_times =#{admissTimes} and ledger_sn=#{ledgerSn} and detail_sn=#{detailSn}")
+    void shanChuFeiYong(ZyDetailCharge param);
+
+    @Insert("<script>" +
+            "insert into zy_detail_charge (inpatient_no,admiss_times,ledger_sn,detail_sn,charge_date,op_id_code, " +
+            "charge_code,infant_flag,charge_status,charge_amount,charge_fee,ward_code,dept_code,order_no,ope_flag, " +
+            "gen_time,charge_code_mx,serial,doctor_code,trans_flag_yb,refer_physician,consult_physician) VALUES " +
+            "<foreach collection='list' item='fee' separator=',' open='' close=''>" +
+            "(#{info.inpatientNo}, #{info.admissTimes}, #{info.ledgerSn}, #{fee.detailSn}, getDate(), #{info.staffId}, " +
+            "#{fee.chargeCode}, 0, 2, #{fee.chargeAmount}, #{fee.chargeFee}, #{info.wardCode}, #{info.deptCode}, 6, " +
+            "#{info.operation},getDate(), #{fee.chargeCodeMx},#{fee.serial},#{fee.doctorCode},0,#{info.referPhysician}," +
+            "#{info.consultPhysician})" +
+            "</foreach>" +
+            "</script>")
+    void insertInfoZyDetailCharge(@Param("info") ZyActpatient info, @Param("list") List<MzChargeDetail> zyFees);
+
+    @Select("select max(detail_sn) from zy_detail_charge where inpatient_no=#{inpatientNo} and admiss_times=#{admissTimes}")
+    Integer getMaxDetailSn(@Param("inpatientNo") String inpatientNo,
+                           @Param("admissTimes") Integer admissTimes);
+
+}

+ 473 - 459
src/main/java/thyyxxk/webserver/entity/datamodify/MzChargeDetail.java

@@ -1,467 +1,481 @@
 package thyyxxk.webserver.entity.datamodify;
 
-import java.io.Serializable;
 import lombok.Data;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
 import java.util.Date;
 
 @Data
-public class MzChargeDetail  implements Serializable {
-
-	private static final long serialVersionUID =  6955612389655007957L;
-
-	/**
-	 * patientId
-	 */
-	private String patientId;
-
-	/**
-	 * times
-	 */
-	private Integer times;
-
-	/**
-	 * receiptNo
-	 */
-	private Integer receiptNo;
-
-	/**
-	 * orderNo
-	 */
-	private Integer orderNo;
-
-	/**
-	 * itemNo
-	 */
-	private Integer itemNo;
-
-	/**
-	 * chargeItemCode
-	 */
-	private String chargeItemCode;
-
-	/**
-	 * billItemCode
-	 */
-	private String billItemCode;
-
-	/**
-	 * quantity
-	 */
-	private Double quantity;
-
-	/**
-	 * unitPrice
-	 */
-	private String unitPrice;
-
-	/**
-	 * payMark
-	 */
-	private String payMark;
-
-	/**
-	 * serial
-	 */
-	private String serial;
-
-	/**
-	 * chargeItemType
-	 */
-	private String chargeItemType;
-
-	/**
-	 * countryFlag
-	 */
-	private String countryFlag;
-
-	/**
-	 * drugFlag
-	 */
-	private String drugFlag;
-
-	/**
-	 * serialNo
-	 */
-	private Integer serialNo;
-
-	/**
-	 * name
-	 */
-	private String name;
-
-	/**
-	 * chargeDate
-	 */
-	private Date chargeDate;
-
-	/**
-	 * confirmTime
-	 */
-	private Date confirmTime;
-
-	/**
-	 * groupNo
-	 */
-	private String groupNo;
-
-	/**
-	 * confirmId
-	 */
-	private String confirmId;
-
-	/**
-	 * drugWin
-	 */
-	private Integer drugWin;
-
-	/**
-	 * inputId
-	 */
-	private String inputId;
-
-	/**
-	 * inputDate
-	 */
-	private Date inputDate;
-
-	/**
-	 * cashierId
-	 */
-	private String cashierId;
-
-	/**
-	 * windowsNo
-	 */
-	private String windowsNo;
-
-	/**
-	 * priceId
-	 */
-	private String priceId;
-
-	/**
-	 * priceTime
-	 */
-	private Date priceTime;
-
-	/**
-	 * execDept
-	 */
-	private String execDept;
-
-	/**
-	 * auditCode
-	 */
-	private String auditCode;
-
-	/**
-	 * gongnksFlag
-	 */
-	private String gongnksFlag;
-
-	/**
-	 * printFlag
-	 */
-	private String printFlag;
-
-	/**
-	 * responseType
-	 */
-	private String responseType;
-
-	/**
-	 * confirmFlag
-	 */
-	private Integer confirmFlag;
-
-	/**
-	 * warnDept
-	 */
-	private String warnDept;
-
-	/**
-	 * ledYf
-	 */
-	private String ledYf;
-
-	/**
-	 * jzFlag
-	 */
-	private String jzFlag;
-
-	/**
-	 * groupOrder
-	 */
-	private Integer groupOrder;
-
-	/**
-	 * cashId
-	 */
-	private String cashId;
-
-	/**
-	 * doctorCode
-	 */
-	private String doctorCode;
-
-	/**
-	 * supplyCode
-	 */
-	private String supplyCode;
-
-	/**
-	 * frequency
-	 */
-	private String frequency;
-
-	/**
-	 * drugQuan
-	 */
-	private Double drugQuan;
-
-	/**
-	 * drugUnit
-	 */
-	private String drugUnit;
-
-	/**
-	 * doctorFlag
-	 */
-	private String doctorFlag;
-
-	/**
-	 * injectRes
-	 */
-	private Double injectRes;
-
-	/**
-	 * injectTimes
-	 */
-	private Integer injectTimes;
-
-	/**
-	 * confirmZs
-	 */
-	private String confirmZs;
-
-	/**
-	 * realNo
-	 */
-	private Integer realNo;
-
-	/**
-	 * windowsNoYf
-	 */
-	private String windowsNoYf;
-
-	/**
-	 * ybbxFlag
-	 */
-	private String ybbxFlag;
-
-	/**
-	 * tcNo
-	 */
-	private String tcNo;
-
-	/**
-	 * tcName
-	 */
-	private String tcName;
-
-	/**
-	 * detailFlag
-	 */
-	private String detailFlag;
-
-	/**
-	 * glPercent
-	 */
-	private String glPercent;
-
-	/**
-	 * orderType
-	 */
-	private String orderType;
-
-	/**
-	 * supplyNo
-	 */
-	private String supplyNo;
-
-	/**
-	 * instructionCode
-	 */
-	private String instructionCode;
-
-	/**
-	 * instructionText
-	 */
-	private String instructionText;
-
-	/**
-	 * orderDays
-	 */
-	private Integer orderDays;
-
-	/**
-	 * paySelf
-	 */
-	private String paySelf;
-
-	/**
-	 * tryFlag
-	 */
-	private String tryFlag;
-
-	/**
-	 * reqYj
-	 */
-	private String reqYj;
-
-	/**
-	 * reqNo
-	 */
-	private Integer reqNo;
-
-	/**
-	 * groupType
-	 */
-	private String groupType;
-
-	/**
-	 * orderBill
-	 */
-	private Integer orderBill;
-
-	/**
-	 * chargeBillCode
-	 */
-	private String chargeBillCode;
-
-	/**
-	 * selfFlag
-	 */
-	private String selfFlag;
-
-	/**
-	 * responceType
-	 */
-	private String responceType;
-
-	/**
-	 * decAmount
-	 */
-	private String decAmount;
-
-	/**
-	 * backSerial
-	 */
-	private Integer backSerial;
-
-	/**
-	 * inputTime
-	 */
-	private Date inputTime;
-
-	/**
-	 * cyMtjs
-	 */
-	private Integer cyMtjs;
-
-	/**
-	 * cyJsl
-	 */
-	private Integer cyJsl;
-
-	/**
-	 * cyZql
-	 */
-	private Integer cyZql;
-
-	/**
-	 * cyFj
-	 */
-	private Integer cyFj;
-
-	/**
-	 * cyFfcs
-	 */
-	private Integer cyFfcs;
-
-	/**
-	 * cyFysm
-	 */
-	private Integer cyFysm;
-
-	/**
-	 * supplyAmount
-	 */
-	private Integer supplyAmount;
-
-	/**
-	 * cyJssm
-	 */
-	private String cyJssm;
-
-	/**
-	 * deptNo
-	 */
-	private String deptNo;
-
-	/**
-	 * glPercentFt
-	 */
-	private Double glPercentFt;
-
-	/**
-	 * ybZfFlag
-	 */
-	private String ybZfFlag;
-
-	/**
-	 * origPrice
-	 */
-	private String origPrice;
-
-	/**
-	 * tryResult
-	 */
-	private String tryResult;
-
-	/**
-	 * supplyExec
-	 */
-	private String supplyExec;
-
-	/**
-	 * cyDj
-	 */
-	private String cyDj;
-
-	/**
-	 * receiveFlag
-	 */
-	private String receiveFlag;
-
-	/**
-	 * chequType
-	 */
-	private String chequType;
-
-	/**
-	 * printFlagYj
-	 */
-	private String printFlagYj;
-
-	/**
-	 * confirmFlagQx
-	 */
-	private String confirmFlagQx;
-
-	/**
-	 * ybType
-	 */
-	private String ybType;
+public class MzChargeDetail implements Serializable {
+
+    private static final long serialVersionUID = 6955612389655007957L;
+
+    private String chargeCode;
+    private BigDecimal chargeFee;
+    private Double chargeAmount;
+    private String chargeCodeMx;
+    private Integer detailSn;
+
+    /**
+     * patientId
+     */
+    private String patientId;
+
+    /**
+     * times
+     */
+    private Integer times;
+
+    /**
+     * receiptNo
+     */
+    private Integer receiptNo;
+
+    /**
+     * orderNo
+     */
+    private Integer orderNo;
+
+    /**
+     * itemNo
+     */
+    private Integer itemNo;
+
+    /**
+     * chargeItemCode
+     */
+    private String chargeItemCode;
+
+    /**
+     * billItemCode
+     */
+    private String billItemCode;
+
+    /**
+     * quantity
+     */
+    private Double quantity;
+
+    /**
+     * unitPrice
+     */
+    private String unitPrice;
+
+    /**
+     * payMark
+     */
+    private String payMark;
+
+    /**
+     * serial
+     */
+    private String serial;
+
+    /**
+     * chargeItemType
+     */
+    private String chargeItemType;
+
+    /**
+     * countryFlag
+     */
+    private String countryFlag;
+
+    /**
+     * drugFlag
+     */
+    private String drugFlag;
+
+    /**
+     * serialNo
+     */
+    private Integer serialNo;
+
+    /**
+     * name
+     */
+    private String name;
+
+    /**
+     * chargeDate
+     */
+    private Date chargeDate;
+
+    /**
+     * confirmTime
+     */
+    private Date confirmTime;
+
+    /**
+     * groupNo
+     */
+    private String groupNo;
+
+    /**
+     * confirmId
+     */
+    private String confirmId;
+
+    /**
+     * drugWin
+     */
+    private Integer drugWin;
+
+    /**
+     * inputId
+     */
+    private String inputId;
+
+    /**
+     * inputDate
+     */
+    private Date inputDate;
+
+    /**
+     * cashierId
+     */
+    private String cashierId;
+
+    /**
+     * windowsNo
+     */
+    private String windowsNo;
+
+    /**
+     * priceId
+     */
+    private String priceId;
+
+    /**
+     * priceTime
+     */
+    private Date priceTime;
+
+    /**
+     * execDept
+     */
+    private String execDept;
+
+    /**
+     * auditCode
+     */
+    private String auditCode;
+
+    /**
+     * gongnksFlag
+     */
+    private String gongnksFlag;
+
+    /**
+     * printFlag
+     */
+    private String printFlag;
+
+    /**
+     * responseType
+     */
+    private String responseType;
+
+    /**
+     * confirmFlag
+     */
+    private Integer confirmFlag;
+
+    /**
+     * warnDept
+     */
+    private String warnDept;
+
+    /**
+     * ledYf
+     */
+    private String ledYf;
+
+    /**
+     * jzFlag
+     */
+    private String jzFlag;
+
+    /**
+     * groupOrder
+     */
+    private Integer groupOrder;
+
+    /**
+     * cashId
+     */
+    private String cashId;
+
+    /**
+     * doctorCode
+     */
+    private String doctorCode;
+
+    /**
+     * supplyCode
+     */
+    private String supplyCode;
+
+    /**
+     * frequency
+     */
+    private String frequency;
+
+    /**
+     * drugQuan
+     */
+    private Double drugQuan;
+
+    /**
+     * drugUnit
+     */
+    private String drugUnit;
+
+    /**
+     * doctorFlag
+     */
+    private String doctorFlag;
+
+    /**
+     * injectRes
+     */
+    private Double injectRes;
+
+    /**
+     * injectTimes
+     */
+    private Integer injectTimes;
+
+    /**
+     * confirmZs
+     */
+    private String confirmZs;
+
+    /**
+     * realNo
+     */
+    private Integer realNo;
+
+    /**
+     * windowsNoYf
+     */
+    private String windowsNoYf;
+
+    /**
+     * ybbxFlag
+     */
+    private String ybbxFlag;
+
+    /**
+     * tcNo
+     */
+    private String tcNo;
+
+    /**
+     * tcName
+     */
+    private String tcName;
+
+    /**
+     * detailFlag
+     */
+    private String detailFlag;
+
+    /**
+     * glPercent
+     */
+    private String glPercent;
+
+    /**
+     * orderType
+     */
+    private String orderType;
+
+    /**
+     * supplyNo
+     */
+    private String supplyNo;
+
+    /**
+     * instructionCode
+     */
+    private String instructionCode;
+
+    /**
+     * instructionText
+     */
+    private String instructionText;
+
+    /**
+     * orderDays
+     */
+    private Integer orderDays;
+
+    /**
+     * paySelf
+     */
+    private String paySelf;
+
+    /**
+     * tryFlag
+     */
+    private String tryFlag;
+
+    /**
+     * reqYj
+     */
+    private String reqYj;
+
+    /**
+     * reqNo
+     */
+    private Integer reqNo;
+
+    /**
+     * groupType
+     */
+    private String groupType;
+
+    /**
+     * orderBill
+     */
+    private Integer orderBill;
+
+    /**
+     * chargeBillCode
+     */
+    private String chargeBillCode;
+
+    /**
+     * selfFlag
+     */
+    private String selfFlag;
+
+    /**
+     * responceType
+     */
+    private String responceType;
+
+    /**
+     * decAmount
+     */
+    private String decAmount;
+
+    /**
+     * backSerial
+     */
+    private Integer backSerial;
+
+    /**
+     * inputTime
+     */
+    private Date inputTime;
+
+    /**
+     * cyMtjs
+     */
+    private Integer cyMtjs;
+
+    /**
+     * cyJsl
+     */
+    private Integer cyJsl;
+
+    /**
+     * cyZql
+     */
+    private Integer cyZql;
+
+    /**
+     * cyFj
+     */
+    private Integer cyFj;
+
+    /**
+     * cyFfcs
+     */
+    private Integer cyFfcs;
+
+    /**
+     * cyFysm
+     */
+    private Integer cyFysm;
+
+    /**
+     * supplyAmount
+     */
+    private Integer supplyAmount;
+
+    /**
+     * cyJssm
+     */
+    private String cyJssm;
+
+    /**
+     * deptNo
+     */
+    private String deptNo;
+
+    /**
+     * glPercentFt
+     */
+    private Double glPercentFt;
+
+    /**
+     * ybZfFlag
+     */
+    private String ybZfFlag;
+
+    /**
+     * origPrice
+     */
+    private String origPrice;
+
+    /**
+     * tryResult
+     */
+    private String tryResult;
+
+    /**
+     * supplyExec
+     */
+    private String supplyExec;
+
+    /**
+     * cyDj
+     */
+    private String cyDj;
+
+    /**
+     * receiveFlag
+     */
+    private String receiveFlag;
+
+    /**
+     * chequType
+     */
+    private String chequType;
+
+    /**
+     * printFlagYj
+     */
+    private String printFlagYj;
+
+    /**
+     * confirmFlagQx
+     */
+    private String confirmFlagQx;
+
+    /**
+     * ybType
+     */
+    private String ybType;
+
+    /**
+     * 金额
+     */
+    private BigDecimal consumption;
+
 
 }

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

@@ -2,13 +2,13 @@ package thyyxxk.webserver.entity.datamodify;
 
 import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
-import java.io.Serializable;
-import java.util.Date;
-
 import io.swagger.annotations.ApiModel;
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 
+import java.io.Serializable;
+import java.util.Date;
+
 /**
  * <p>
  *
@@ -19,16 +19,18 @@ import lombok.EqualsAndHashCode;
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
-@ApiModel(value="ZyDetailCharge对象", description="")
+@ApiModel(value = "ZyDetailCharge对象", description = "")
 public class ZyDetailCharge implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
-      @TableId(value = "inpatient_no", type = IdType.ID_WORKER)
+    @TableId(value = "inpatient_no", type = IdType.ID_WORKER)
     private String inpatientNo;
 
     private Integer admissTimes;
 
+    private String chargeCodeName;
+
     private Integer ledgerSn;
 
     private Integer detailSn;

+ 3 - 1
src/main/java/thyyxxk/webserver/entity/makedbzfees/ZyDetailCharge.java

@@ -2,13 +2,15 @@ package thyyxxk.webserver.entity.makedbzfees;
 
 import lombok.Data;
 
+import java.io.Serializable;
 import java.math.BigDecimal;
 
 /**
  * @author dj
  */
 @Data
-public class ZyDetailCharge {
+public class ZyDetailCharge implements Serializable {
+    private static final long serialVersionUID = 1567159489655007957L;
     private String chargeCode;
     private String chargeCodeMx;
     private Integer detailSn;

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

@@ -0,0 +1,812 @@
+package thyyxxk.webserver.entity.yibao;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import lombok.Data;
+import thyyxxk.webserver.entity.datamodify.MzChargeDetail;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import java.util.List;
+
+@Data
+public class ZyActpatient implements Serializable {
+
+    private static final long serialVersionUID = 5145290750715622360L;
+
+    private String wardName;
+    private String responceTypeName;
+    private BigDecimal balance;
+    private String wardCode;
+    private String deptCode;
+    private Integer ledgerSn;
+    private Integer maxDetailSn;
+    private String staffId;
+
+    @TableField(exist = false)
+    private List<MzChargeDetail> list;
+
+    /**
+     * inpatientNo
+     */
+    private String inpatientNo;
+
+    /**
+     * admissTimes
+     */
+    private Integer admissTimes;
+
+
+    /**
+     * name
+     */
+    private String name;
+
+    /**
+     * outpatientNo
+     */
+    private String outpatientNo;
+
+    /**
+     * chargeType
+     */
+    private String chargeType;
+
+    /**
+     * visitType
+     */
+    private String visitType;
+
+    /**
+     * admissDate
+     */
+    private Date admissDate;
+
+    /**
+     * admissStatus
+     */
+    private String admissStatus;
+
+    /**
+     * clinicDiag
+     */
+    private String clinicDiag;
+
+    /**
+     * admissDiag
+     */
+    private String admissDiag;
+
+    /**
+     * admissPhysician
+     */
+    private String admissPhysician;
+
+    /**
+     * referPhysician
+     */
+    private String referPhysician;
+
+    /**
+     * consultPhysician
+     */
+    private String consultPhysician;
+
+    /**
+     * deptDirector
+     */
+    private String deptDirector;
+
+    /**
+     * admissDept
+     */
+    private String admissDept;
+
+    /**
+     * admissWard
+     */
+    private String admissWard;
+
+    /**
+     * disDate
+     */
+    private Date disDate;
+
+    /**
+     * disDiag
+     */
+    private String disDiag;
+
+    /**
+     * disStatus
+     */
+    private String disStatus;
+
+    /**
+     * disDept
+     */
+    private String disDept;
+
+    /**
+     * disWard
+     */
+    private String disWard;
+
+    /**
+     * insurCode
+     */
+    private String insurCode;
+
+    /**
+     * contractCode
+     */
+    private String contractCode;
+
+    /**
+     * responceType
+     */
+    private String responceType;
+
+    /**
+     * timesBilled
+     */
+    private Integer timesBilled;
+
+
+    /**
+     * totalCharge
+     */
+    private Double totalCharge;
+
+    /**
+     * charge1
+     */
+    private Double charge1;
+
+    /**
+     * charge2
+     */
+    private Double charge2;
+
+    /**
+     * charge3
+     */
+    private Double charge3;
+
+    /**
+     * charge4
+     */
+    private Double charge4;
+
+    /**
+     * charge5
+     */
+    private Double charge5;
+
+    /**
+     * charge6
+     */
+    private Double charge6;
+
+    /**
+     * charge7
+     */
+    private Double charge7;
+
+    /**
+     * charge8
+     */
+    private Double charge8;
+
+    /**
+     * charge9
+     */
+    private Double charge9;
+
+    /**
+     * charge10
+     */
+    private Double charge10;
+
+    /**
+     * charge11
+     */
+    private Double charge11;
+
+    /**
+     * charge12
+     */
+    private Double charge12;
+
+    /**
+     * charge13
+     */
+    private Double charge13;
+
+    /**
+     * charge14
+     */
+    private Double charge14;
+
+    /**
+     * charge15
+     */
+    private Double charge15;
+
+    /**
+     * charge16
+     */
+    private Double charge16;
+
+    /**
+     * charge17
+     */
+    private Double charge17;
+
+    /**
+     * charge18
+     */
+    private Double charge18;
+
+    /**
+     * charge19
+     */
+    private Double charge19;
+
+    /**
+     * charge20
+     */
+    private Double charge20;
+
+    /**
+     * charge21
+     */
+    private Double charge21;
+
+    /**
+     * charge22
+     */
+    private Double charge22;
+
+    /**
+     * charge23
+     */
+    private Double charge23;
+
+    /**
+     * charge24
+     */
+    private Double charge24;
+
+    /**
+     * charge25
+     */
+    private Double charge25;
+
+    /**
+     * charge26
+     */
+    private Double charge26;
+
+    /**
+     * charge27
+     */
+    private Double charge27;
+
+    /**
+     * charge28
+     */
+    private Double charge28;
+
+    /**
+     * charge29
+     */
+    private Double charge29;
+
+    /**
+     * charge30
+     */
+    private Double charge30;
+
+    /**
+     * ward
+     */
+    private String ward;
+
+    /**
+     * dept
+     */
+    private String dept;
+
+    /**
+     * bedNo
+     */
+    private String bedNo;
+
+    /**
+     * sex
+     */
+    private Integer sex;
+
+    /**
+     * bloodType
+     */
+    private String bloodType;
+
+    /**
+     * diagnosisDate
+     */
+    private Date diagnosisDate;
+
+    /**
+     * allergyMedicine
+     */
+    private String allergyMedicine;
+
+    /**
+     * rescueTimes
+     */
+    private String rescueTimes;
+
+    /**
+     * successTimes
+     */
+    private String successTimes;
+
+    /**
+     * followupMark
+     */
+    private String followupMark;
+
+    /**
+     * followupPrior
+     */
+    private String followupPrior;
+
+    /**
+     * autopsyMark
+     */
+    private String autopsyMark;
+
+    /**
+     * qualityLevel
+     */
+    private String qualityLevel;
+
+    /**
+     * opIdCode
+     */
+    private String opIdCode;
+
+    /**
+     * archiveCode
+     */
+    private String archiveCode;
+
+    /**
+     * archiveMark
+     */
+    private String archiveMark;
+
+    /**
+     * teachingMark
+     */
+    private String teachingMark;
+
+    /**
+     * diagnoseConform1
+     */
+    private String diagnoseConform1;
+
+    /**
+     * diagnoseConform2
+     */
+    private String diagnoseConform2;
+
+    /**
+     * diagnoseConform3
+     */
+    private String diagnoseConform3;
+
+    /**
+     * diagnoseConform4
+     */
+    private String diagnoseConform4;
+
+    /**
+     * diagnoseConform5
+     */
+    private String diagnoseConform5;
+
+    /**
+     * diagnoseConform6
+     */
+    private String diagnoseConform6;
+
+    /**
+     * diagnoseConform7
+     */
+    private String diagnoseConform7;
+
+    /**
+     * diagnoseConform8
+     */
+    private String diagnoseConform8;
+
+    /**
+     * internCode
+     */
+    private String internCode;
+
+    /**
+     * diagnoseConform9
+     */
+    private String diagnoseConform9;
+
+    /**
+     * diagnoseConform10
+     */
+    private String diagnoseConform10;
+
+    /**
+     * pathologyDiag
+     */
+    private String pathologyDiag;
+
+    /**
+     * disHour
+     */
+    private Date disHour;
+
+    /**
+     * admissHour
+     */
+    private Date admissHour;
+
+    /**
+     * capBloody
+     */
+    private Integer capBloody;
+
+    /**
+     * maxLedger
+     */
+    private Integer maxLedger;
+
+    /**
+     * admissDiagStr
+     */
+    private String admissDiagStr;
+
+    /**
+     * patientStatus
+     */
+    private String patientStatus;
+
+    /**
+     * moveFlag
+     */
+    private String moveFlag;
+
+    /**
+     * jzjlh
+     */
+    private String jzjlh;
+
+    /**
+     * zkDept
+     */
+    private String zkDept;
+
+    /**
+     * hbsag
+     */
+    private String hbsag;
+
+    /**
+     * archiveCode1
+     */
+    private String archiveCode1;
+
+    /**
+     * jobDoctor
+     */
+    private String jobDoctor;
+
+    /**
+     * jobNurse
+     */
+    private String jobNurse;
+
+    /**
+     * ybjy
+     */
+    private Double ybjy;
+
+    /**
+     * bczf
+     */
+    private Double bczf;
+
+    /**
+     * zflj
+     */
+    private Double zflj;
+
+    /**
+     * disDiagStr
+     */
+    private String disDiagStr;
+
+    /**
+     * ybZyh
+     */
+    private String ybZyh;
+
+    /**
+     * ybJzlb
+     */
+    private String ybJzlb;
+
+    /**
+     * yzIn
+     */
+    private Date yzIn;
+
+    /**
+     * yzOut
+     */
+    private Date yzOut;
+
+    /**
+     * ybFlag
+     */
+    private String ybFlag;
+
+    /**
+     * oweFlag
+     */
+    private String oweFlag;
+
+    /**
+     * zkWard
+     */
+    private String zkWard;
+
+    /**
+     * zkDate
+     */
+    private Date zkDate;
+
+    /**
+     * ybJlh
+     */
+    private String ybJlh;
+
+    /**
+     * ybType
+     */
+    private String ybType;
+
+    /**
+     * zySerialNo
+     */
+    private String zySerialNo;
+
+    /**
+     * mzNo
+     */
+    private String mzNo;
+
+    /**
+     * clinicDiagStr
+     */
+    private String clinicDiagStr;
+
+    /**
+     * bedStatus
+     */
+    private String bedStatus;
+
+    /**
+     * inputDate
+     */
+    private Date inputDate;
+
+    /**
+     * ybJsffbz
+     */
+    private String ybJsffbz;
+
+    /**
+     * ybSylb
+     */
+    private String ybSylb;
+
+    /**
+     * ybZszh
+     */
+    private String ybZszh;
+
+    /**
+     * admissDateYb
+     */
+    private Date admissDateYb;
+
+    /**
+     * baReceiveFlag
+     */
+    private String baReceiveFlag;
+
+    /**
+     * blzkStatus
+     */
+    private String blzkStatus;
+
+    /**
+     * room
+     */
+    private String room;
+
+    /**
+     * disYb
+     */
+    private String disYb;
+
+    /**
+     * disYbStr
+     */
+    private String disYbStr;
+
+    /**
+     * ybBzfx
+     */
+    private String ybBzfx;
+
+    /**
+     * disRoom
+     */
+    private String disRoom;
+
+    /**
+     * disYb1
+     */
+    private String disYb1;
+
+    /**
+     * disYbStr1
+     */
+    private String disYbStr1;
+
+    /**
+     * disYb2
+     */
+    private String disYb2;
+
+    /**
+     * disYbStr2
+     */
+    private String disYbStr2;
+
+    /**
+     * smallDept
+     */
+    private String smallDept;
+
+    /**
+     * xnhFamilysysno
+     */
+    private String xnhFamilysysno;
+
+    /**
+     * xnhMembersysno
+     */
+    private String xnhMembersysno;
+
+    /**
+     * xnhBookno
+     */
+    private String xnhBookno;
+
+    /**
+     * xnhCardno
+     */
+    private String xnhCardno;
+
+    /**
+     * xnhCmisno
+     */
+    private String xnhCmisno;
+
+    /**
+     * xnhZyh
+     */
+    private String xnhZyh;
+
+    /**
+     * xnhReferralno
+     */
+    private String xnhReferralno;
+
+    /**
+     * xnhRedeemType
+     */
+    private String xnhRedeemType;
+
+    /**
+     * xnhHasreferral
+     */
+    private String xnhHasreferral;
+
+    /**
+     * zyFlag
+     */
+    private String zyFlag;
+
+    /**
+     * xnhRejectFlag
+     */
+    private String xnhRejectFlag;
+
+    /**
+     * ownFlag
+     */
+    private String ownFlag;
+
+    /**
+     * ownTime
+     */
+    private Date ownTime;
+
+    /**
+     * freeFlag
+     */
+    private String freeFlag;
+
+    /**
+     * operation
+     */
+    private String operation;
+
+    /**
+     * cyyy
+     */
+    private String cyyy;
+
+    /**
+     * ybGsNo
+     */
+    private String ybGsNo;
+
+    /**
+     * treatType
+     */
+    private String treatType;
+
+    /**
+     * hicNo
+     */
+    private String hicNo;
+
+    /**
+     * ybRegisterDate
+     */
+    private Date ybRegisterDate;
+
+    /**
+     * pathologyDiagComment
+     */
+    private String pathologyDiagComment;
+
+    /**
+     * fileStatus
+     */
+    private String fileStatus;
+
+    /**
+     * lendFlag
+     */
+    private Integer lendFlag;
+
+
+}

+ 4 - 1
src/main/java/thyyxxk/webserver/service/makedbzfees/MakeDbzFeesService.java

@@ -15,7 +15,10 @@ import thyyxxk.webserver.entity.ResultVo;
 import thyyxxk.webserver.entity.makedbzfees.*;
 import thyyxxk.webserver.utils.*;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.concurrent.atomic.AtomicInteger;
 
 /**

+ 139 - 0
src/main/java/thyyxxk/webserver/service/yibao/TransferInOfExpensesService.java

@@ -0,0 +1,139 @@
+package thyyxxk.webserver.service.yibao;
+
+import com.alibaba.fastjson.JSON;
+import com.baomidou.dynamic.datasource.annotation.DS;
+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 thyyxxk.webserver.config.exception.ExceptionEnum;
+import thyyxxk.webserver.constants.Capacity;
+import thyyxxk.webserver.constants.GetDateFormat;
+import thyyxxk.webserver.dao.his.yibao.TransferInOfExpensesDao;
+import thyyxxk.webserver.entity.ResultVo;
+import thyyxxk.webserver.entity.datamodify.MzChargeDetail;
+import thyyxxk.webserver.entity.datamodify.ZyDetailCharge;
+import thyyxxk.webserver.entity.yibao.ZyActpatient;
+import thyyxxk.webserver.service.makedbzfees.MakeDbzFeesService;
+import thyyxxk.webserver.utils.ResultVoUtil;
+import thyyxxk.webserver.utils.TokenUtil;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 描述: 门急诊费用转入
+ * </p>
+ *
+ * @author xc
+ * @date 2021-05-25 17:35
+ */
+@Service
+@Slf4j
+public class TransferInOfExpensesService {
+
+    private final TransferInOfExpensesDao dao;
+    private final MakeDbzFeesService makeDbzFeesService;
+
+    public TransferInOfExpensesService(TransferInOfExpensesDao dao, MakeDbzFeesService makeDbzFeesService) {
+        this.dao = dao;
+        this.makeDbzFeesService = makeDbzFeesService;
+    }
+
+    /**
+     * 查询再远患者信息
+     *
+     * @param inpatientNo 住院号
+     * @return 返回一个信息
+     */
+    public ResultVo<ZyActpatient> queryHuanZhe(String inpatientNo) {
+        log.info("查询患者信息-->住院号:{}", inpatientNo);
+        ZyActpatient pojo = dao.queryHuanZhe(inpatientNo);
+        if (pojo != null) {
+            return ResultVoUtil.success(dao.queryHuanZhe(inpatientNo));
+        }
+        return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST, "没有找到该患者可能已出院,╮(╯▽╰)╭");
+    }
+
+    /**
+     * 通过机制号来查找信息
+     *
+     * @param serialNo  机制号
+     * @param liShiFlag 是否查看历史 0:不查看 1:查看
+     * @return 返回信息
+     */
+    public ResultVo<List<MzChargeDetail>> getSerialNo(String serialNo, Integer liShiFlag) {
+        log.info("根据机制号查找信息:{},是否查看历史 0:不查看 1:查看 --> {}", serialNo, liShiFlag);
+        List<MzChargeDetail> list;
+        if (liShiFlag == 0) {
+            list = dao.getSerialNo("mz_charge_detail", serialNo);
+        } else {
+            list = dao.getSerialNo("mz_charge_detail_b", serialNo);
+        }
+        if (list.size() > 0) {
+            return ResultVoUtil.success(list);
+        } else {
+            return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST);
+        }
+    }
+
+    /**
+     * 查看患者是通过门急诊转入的费用项目
+     *
+     * @param inpatientNo 住院号
+     * @param currentPage 当前页
+     * @param pageSize    页数
+     * @return 返回项目
+     */
+    public ResultVo<Map<String, Object>> getZyJiMenZhenZhuangRuFeiYong(String inpatientNo, String chargeCodeMX, long currentPage, long pageSize) {
+        log.info("查看患者是通过门急诊转入的费用项目 --> 住院号:{},收费编码:{},当前页:{},页数:{}", inpatientNo, chargeCodeMX, currentPage, pageSize);
+        IPage<ZyDetailCharge> page = new Page<>(currentPage, pageSize);
+        List<ZyDetailCharge> list = dao.getZyJiMenZhenZhuangRuFeiYong(page, inpatientNo, chargeCodeMX);
+        Map<String, Object> map = new HashMap<>(Capacity.TWO);
+        if (page.getTotal() > 0 || list.size() > 0) {
+            map.put("data", list);
+            map.put("total", page.getTotal());
+            return ResultVoUtil.success(map);
+        }
+        return ResultVoUtil.fail(ExceptionEnum.NO_DATA_EXIST);
+    }
+
+    /**
+     * 删除病人通过急门诊转入的费用 数据
+     *
+     * @param param 删除的条件
+     * @return 返回是否成功
+     */
+    @DS("dev")
+    public ResultVo<String> shanChuFeiYong(ZyDetailCharge param) {
+        log.info("删除该患者通过急门诊转入的费用 --> 操作员:{}, 通过主键来删除数据:{}", TokenUtil.getTokenUserId(), JSON.toJSONStringWithDateFormat(param, GetDateFormat.DATE_TIME));
+        dao.shanChuFeiYong(param);
+        return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "删除成功 φ(0 ̄*)啦啦啦_φ(* ̄0 ̄)′");
+    }
+
+    /**
+     * 插入 通过急门诊转入的费用
+     *
+     * @param param 要插入的数据
+     * @return 返回通知
+     */
+    @DS("dev")
+    public ResultVo<String> baoCunHuanZheZhuYuanFeiYong(ZyActpatient param) {
+        param.setStaffId(TokenUtil.getTokenUserId());
+        List<MzChargeDetail> list = param.getList();
+        //查询流水号
+        Integer maxDetailSn = dao.getMaxDetailSn(param.getInpatientNo(), param.getAdmissTimes());
+        if (maxDetailSn == null) {
+            maxDetailSn = 0;
+        }
+        // 流水号要加一
+        for (MzChargeDetail mzChargeDetail : list) {
+            mzChargeDetail.setDetailSn(maxDetailSn += 1);
+        }
+        dao.insertInfoZyDetailCharge(param, list);
+        log.info("急门诊费用插入数据:{}", JSON.toJSONStringWithDateFormat(param, GetDateFormat.DATE_TIME));
+        return ResultVoUtil.success(ExceptionEnum.SUCCESS_AND_NOTIFICATION, "添加成功");
+    }
+}