Quellcode durchsuchen

fix:订单管理 套餐包订单,专家问诊订单,快速咨询订单,拉开药咨询订单,咨询报告订单 table表增加小程序名称属性,增加所属小程序选择框查询

GHH vor 4 Wochen
Ursprung
Commit
cf0fc88244

+ 5 - 1
fs-service/src/main/java/com/fs/his/mapper/FsInquiryOrderMapper.java

@@ -69,10 +69,14 @@ public interface FsInquiryOrderMapper
     public int deleteFsInquiryOrderByOrderIds(Long[] orderIds);
 
     @Select({"<script> " +
-            "select io.*,dc.doctor_name,dc.account as doctor_account,det.dept_name,c.company_name,cu.nick_name company_user_name ,io.patient_json->>'$.patientName'as  patient_name,syu.nick_name user_name from fs_inquiry_order io  LEFT JOIN fs_doctor dc ON io.doctor_id =dc.doctor_id LEFT JOIN fs_department det ON det.dept_id =io.department_id  LEFT JOIN sys_user syu ON syu.user_id =io.audit_user_id  LEFT JOIN company c ON c.company_id= io.company_id LEFT JOIN company_user cu ON cu.user_id=io.company_user_id  "+
+            "select io.*,dc.doctor_name,dc.account as doctor_account,det.dept_name,c.company_name,cu.nick_name company_user_name ,io.patient_json->>'$.patientName'as  patient_name,syu.nick_name user_name,csc.name miniProgramName from fs_inquiry_order io  LEFT JOIN fs_doctor dc ON io.doctor_id =dc.doctor_id LEFT JOIN fs_department det ON det.dept_id =io.department_id  LEFT JOIN sys_user syu ON syu.user_id =io.audit_user_id  LEFT JOIN company c ON c.company_id= io.company_id LEFT JOIN company_user cu ON cu.user_id=io.company_user_id  "+
             "            <if test=\"maps.phone != null  and maps.phone != ''\"> LEFT JOIN fs_user fu ON fu.user_id=io.user_id</if>\n" +
+            "LEFT JOIN (SELECT sp.*,ROW_NUMBER() OVER (PARTITION BY sp.pay_code ORDER BY sp.create_time DESC) as rn\n" +
+            "        FROM fs_store_payment sp) sp_latest ON sp_latest.business_code = io.order_sn AND sp_latest.rn = 1\n" +
+            "        LEFT JOIN fs_course_play_source_config csc ON csc.appid = sp_latest.app_id" +
             " where 1=1 " +
             "            <if test=\"maps.orderSn != null  and maps.orderSn != ''\"> and io.order_sn = #{maps.orderSn}</if>\n" +
+            "            <if test=\"maps.coursePlaySourceConfigId != null\"> and csc.id = #{maps.coursePlaySourceConfigId}</if>\n" +
             "            <if test=\"maps.title != null  and maps.title != ''\"> and io.title = #{maps.title}</if>\n" +
             "            <if test=\"maps.userId != null \"> and io.user_id = #{maps.userId}</if>\n" +
             "            <if test=\"maps.doctorName != null \">  and dc.doctor_name like concat('%', #{maps.doctorName}, '%')</if>\n" +

+ 5 - 1
fs-service/src/main/java/com/fs/his/mapper/FsInquiryOrderReportMapper.java

@@ -65,7 +65,7 @@ public interface FsInquiryOrderReportMapper
      */
     public int deleteFsInquiryOrderReportByReportIds(Long[] reportIds);
     @Select({"<script> " +
-            "select ior.*,ior.patient_json->>'$.patientName' as  patient_name,u.nick_name,u.phone,d.doctor_name,su.nick_name user_name,send.nick_name send_name,fio.status inquiry_status,fio.inquiry_sub_type,fio.order_sn,c.company_name,cuu.nick_name company_user_name,fz.nick_name fz_name  FROM fs_inquiry_order_report ior  " +
+            "select ior.*,ior.patient_json->>'$.patientName' as  patient_name,u.nick_name,u.phone,d.doctor_name,su.nick_name user_name,send.nick_name send_name,fio.status inquiry_status,fio.inquiry_sub_type,fio.order_sn,c.company_name,cuu.nick_name company_user_name,fz.nick_name fz_name,csc.name miniProgramName  FROM fs_inquiry_order_report ior  " +
             " LEFT JOIN fs_user u ON u.user_id=ior.user_id " +
             " LEFT JOIN fs_doctor d ON d.doctor_id=ior.doctor_id " +
             " LEFT JOIN sys_user su ON su.user_id=ior.audit_user_id " +
@@ -76,8 +76,12 @@ public interface FsInquiryOrderReportMapper
             " LEFT JOIN company_user cuu ON cuu.user_id=fio.company_user_id " +
             " LEFT JOIN company_user fz ON fz.user_id=ior.triage_user_id " +
             " LEFT join fs_patient fp on ior.patient_id = fp.patient_id " +
+            "LEFT JOIN (SELECT sp.*,ROW_NUMBER() OVER (PARTITION BY sp.pay_code ORDER BY sp.create_time DESC) as rn\n" +
+            "        FROM fs_store_payment sp) sp_latest ON sp_latest.business_code = fio.order_sn AND sp_latest.rn = 1\n" +
+            "        LEFT JOIN fs_course_play_source_config csc ON csc.appid = sp_latest.app_id" +
             " WHERE fio.`status`!=1 and fio.inquiry_sub_type!=3"+
             "            <if test=\"maps.orderId != null \"> and fio.order_sn = #{maps.orderId}</if>\n" +
+            "            <if test=\"maps.coursePlaySourceConfigId != null\"> and csc.id = #{maps.coursePlaySourceConfigId}</if>\n" +
             "            <if test=\"maps.doctorName != null \"> and d.doctor_name = #{maps.doctorName}</if>\n" +
             "            <if test=\"maps.reportSn != null  and maps.reportSn != ''\"> and ior.report_sn = #{maps.reportSn}</if>\n" +
             "            <if test=\"maps.sTime != null \">  and DATE(ior.create_time) &gt;= DATE(#{maps.sTime})</if>\n" +

+ 11 - 3
fs-service/src/main/java/com/fs/his/mapper/FsPackageOrderMapper.java

@@ -78,16 +78,20 @@ public interface FsPackageOrderMapper
     @Select({"<script> " +
             "select o.order_id,o.package_second_name,o.source,o.order_sn,o.package_name,o.pay_time,o.is_pay, o.days,o.pay_price, " +
             "o.pay_money,o.pay_type,o.`status`,o.package_sub_type,o.create_time,o.start_time,o.finish_time      " +
-            ",d.doctor_name,u.nick_name,u.phone,c.company_name,cu.nick_name company_user_name, " +
-            "patient_json->>'$.patientName' as patientName,fso.delivery_status,fso.delivery_pay_status  " +
+            ",d.doctor_name,u.nick_name,u.phone,c.company_name,cu.nick_name company_user_name,csc.name miniProgramName," +
+            "JSON_UNQUOTE(JSON_EXTRACT(o.patient_json, '$.patientName')) AS patientName,fso.delivery_status,fso.delivery_pay_status  " +
             "from fs_package_order o " +
             "LEFT JOIN fs_doctor d ON d.doctor_id=o.doctor_id " +
             "LEFT JOIN fs_user u ON u.user_id=o.user_id " +
             "LEFT JOIN company c on c.company_id =o.company_id " +
             "LEFT JOIN company_user cu on cu.user_id=o.company_user_id " +
             "LEFT JOIN fs_store_order fso ON fso.order_id= o.store_order_id "+
+            "LEFT JOIN (SELECT sp.*,ROW_NUMBER() OVER (PARTITION BY sp.pay_code ORDER BY sp.create_time DESC) as rn\n" +
+            "        FROM fs_store_payment sp) sp_latest ON sp_latest.business_code = o.order_sn AND sp_latest.rn = 1\n" +
+            "        LEFT JOIN fs_course_play_source_config csc ON csc.appid = sp_latest.app_id" +
             " where 1 = 1 \n" +
             "            <if test=\"maps.orderSn != null  and maps.orderSn != ''\"> and o.order_sn = #{maps.orderSn}</if>\n" +
+            "            <if test=\"maps.coursePlaySourceConfigId != null\"> and csc.id = #{maps.coursePlaySourceConfigId}</if>\n" +
             "            <if test=\"maps.phone != null and maps.phone != '' \">and u.phone = #{maps.phone} </if>\n" +
             "            <if test=\"maps.doctorName != null \">and d.doctor_name like concat('%', #{maps.doctorName}, '%')</if>\n" +
             "            <if test=\"maps.packageName != null  and maps.packageName != ''\"> and o.package_name like concat('%', #{maps.packageName}, '%')</if>\n" +
@@ -146,9 +150,13 @@ public interface FsPackageOrderMapper
     @Select("SELECT * FROM fs_store_payment where business_id=#{orderId} and status=1 and business_type=3")
     List<FsStorePayment> selectFsPackagePaymentByOrderId(Long orderId);
     @Select({"<script> " +
-            "select o.order_id,o.order_sn,o.package_name,o.source,o.pay_time,o.follow_rate,o.cycle,o.follow_num,o.inquiry_cost_price,o.product_cost_price,o.total_cost_price,o.cost_discount_money,o.total_price,o.discount_money,o.pay_delivery,o.is_pay,o.remark, o.days,o.pay_price,o.pay_money,o.pay_type,o.`status`,o.package_sub_type,o.create_time,o.start_time,o.refund_status,o.finish_time,d.doctor_name,u.nick_name,u.phone,c.company_name,cu.nick_name company_user_name,patient_json->>'$.patientName' as patientName,fso.delivery_status,fso.delivery_pay_status from fs_package_order o LEFT JOIN fs_doctor d ON d.doctor_id=o.doctor_id LEFT JOIN fs_user u ON u.user_id=o.user_id LEFT JOIN company c on c.company_id =o.company_id LEFT JOIN company_user cu on cu.user_id=o.company_user_id LEFT JOIN fs_store_order fso ON fso.order_id= o.store_order_id "+
+            "select o.order_id,o.order_sn,o.package_name,o.source,o.pay_time,o.follow_rate,o.cycle,o.follow_num,o.inquiry_cost_price,o.product_cost_price,o.total_cost_price,o.cost_discount_money,o.total_price,o.discount_money,o.pay_delivery,o.is_pay,o.remark, o.days,o.pay_price,o.pay_money,o.pay_type,o.`status`,o.package_sub_type,o.create_time,o.start_time,o.refund_status,o.finish_time,d.doctor_name,u.nick_name,u.phone,c.company_name,cu.nick_name company_user_name,patient_json->>'$.patientName' as patientName,fso.delivery_status,fso.delivery_pay_status ,csc.name miniProgramName from fs_package_order o LEFT JOIN fs_doctor d ON d.doctor_id=o.doctor_id LEFT JOIN fs_user u ON u.user_id=o.user_id LEFT JOIN company c on c.company_id =o.company_id LEFT JOIN company_user cu on cu.user_id=o.company_user_id LEFT JOIN fs_store_order fso ON fso.order_id= o.store_order_id "+
+            "LEFT JOIN (SELECT sp.*,ROW_NUMBER() OVER (PARTITION BY sp.pay_code ORDER BY sp.create_time DESC) as rn\n" +
+            "        FROM fs_store_payment sp) sp_latest ON sp_latest.business_code = o.order_sn AND sp_latest.rn = 1\n" +
+            "        LEFT JOIN fs_course_play_source_config csc ON csc.appid = sp_latest.app_id" +
             "  <where>  \n" +
             "            <if test=\"orderSn != null  and orderSn != ''\"> and o.order_sn =#{orderSn}</if>\n" +
+            "            <if test=\"coursePlaySourceConfigId != null\"> and csc.id = #{coursePlaySourceConfigId}</if>\n" +
             "            <if test=\"phone != null \">and u.phone like concat( #{phone}, '%')</if>\n" +
             "            <if test=\"doctorName != null \">and d.doctor_name like concat(#{doctorName}, '%')</if>\n" +
             "            <if test=\"packageName != null  and packageName != ''\"> and o.package_name like concat('%', #{packageName}, '%')</if>\n" +

+ 3 - 7
fs-service/src/main/java/com/fs/his/mapper/FsStoreOrderMapper.java

@@ -670,17 +670,13 @@ public interface FsStoreOrderMapper
             " left join company_user cu on cu.user_id=so.company_user_id " +
             " left join company_tcm_schedule cts on cts.id = so.schedule_id " +
             " left join fs_patient pat on pat.patient_id = p.patient_id " +
-            "LEFT JOIN (\n" +
-            "        SELECT\n" +
-            "        sp.*,\n" +
-            "        ROW_NUMBER() OVER (PARTITION BY sp.pay_code ORDER BY sp.create_time DESC) as rn\n" +
-            "        FROM fs_store_payment sp\n" +
-            "        ) sp_latest ON sp_latest.business_code = so.order_code AND sp_latest.rn = 1\n" +
+            "LEFT JOIN (SELECT sp.*,ROW_NUMBER() OVER (PARTITION BY sp.pay_code ORDER BY sp.create_time DESC) as rn\n" +
+            "        FROM fs_store_payment sp) sp_latest ON sp_latest.business_code = so.order_code AND sp_latest.rn = 1\n" +
             "        LEFT JOIN fs_course_play_source_config csc ON csc.appid = sp_latest.app_id" +
             " WHERE so.is_del=0 "+
             "            <if test=\"maps.packageSecondName != null and maps.packageSecondName != '' \"> and so.package_second_name like concat('%', #{maps.packageSecondName}, '%')</if>"+
             "            <if test=\"maps.storeId != null \"> and so.store_id = #{maps.storeId}</if>\n" +
-            "            <if test=\"maps.coursePlaySourceConfigId != null\"> and csc.id = #{maps.coursePlaySourceConfigId}</if>" +
+            "            <if test=\"maps.coursePlaySourceConfigId != null\"> and csc.id = #{maps.coursePlaySourceConfigId}</if>\n" +
             "            <if test=\"maps.source != null \"> and so.source = #{maps.source}</if>\n" +
             "            <if test=\"maps.orderCode != null  and maps.orderCode != ''\"> and so.order_code = #{maps.orderCode}</if>\n" +
             "            <if test=\"maps.prescribeCode != null  and maps.prescribeCode != ''\"> and p.prescribe_code = #{maps.prescribeCode}</if>\n" +

+ 13 - 2
fs-service/src/main/java/com/fs/his/mapper/FsStorePaymentMapper.java

@@ -70,12 +70,17 @@ public interface FsStorePaymentMapper
     public int deleteFsStorePaymentByPaymentIds(Long[] paymentIds);
 
     @Select({"<script> " +
-            "SELECT sp.*,u.nick_name,u.phone,s.store_name,c.company_name,cu.nick_name as company_user_nick_name FROM fs_store_payment sp " +
+            "SELECT sp.*,u.nick_name,u.phone,s.store_name,c.company_name,cu.nick_name as company_user_nick_name ,csc.name miniProgramName FROM fs_store_payment sp " +
             " LEFT JOIN  fs_user u ON u.user_id=sp.user_id LEFT JOIN fs_store s ON s.store_id=sp.store_id " +
             " left join company_user cu on sp.company_user_id=cu.user_id " +
             " left join company c on c.company_id=sp.company_id "+
+            "LEFT JOIN (SELECT t.* FROM ( SELECT sp2.*, ROW_NUMBER() OVER (PARTITION BY sp2.business_code ORDER BY sp2.create_time DESC, sp2.payment_id DESC) as rn " +
+            "FROM fs_store_payment sp2) t WHERE t.rn = 1) " +
+            "latest_sp ON latest_sp.business_code = sp.business_code "+
+            "LEFT JOIN fs_course_play_source_config csc ON csc.appid = sp.app_id" +
             " where 1=1 " +
             "            <if test=\"maps.payCode != null  and maps.payCode != ''\"> and sp.pay_code = #{maps.payCode}</if>\n" +
+            "            <if test=\"maps.coursePlaySourceConfigId != null\"> and csc.id = #{maps.coursePlaySourceConfigId}</if>\n" +
             "            <if test=\"maps.payTypeCode != null  and maps.payTypeCode != ''\"> and sp.pay_type_code = #{maps.payTypeCode}</if>\n" +
             "            <if test=\"maps.businessCode != null  and maps.businessCode != ''\"> and sp.business_code = #{maps.businessCode}</if>\n" +
             "            <if test=\"maps.tradeNo != null  and maps.tradeNo != ''\"> and sp.trade_no = #{maps.tradeNo}</if>\n" +
@@ -176,7 +181,8 @@ public interface FsStorePaymentMapper
     @Select("select * from fs_store_payment where business_type=#{type} and  business_id=#{businessId} and (status=1 or starus=-1)")
     List<FsStorePayment> selectFsStorePaymentByPayOrRefund(int i, Long orderId);
     @Select({"<script> " +
-            " SELECT CONCAT('package-', sp.pay_code) AS pay_code,sp.*,u.nick_name,u.phone,s.store_name,c.company_name,cu.nick_name as companyUserName,fso.delivery_name,fso.package_name,fso.package_second_name FROM fs_store_payment sp " +
+            " SELECT CONCAT('package-', sp.pay_code) AS pay_code,sp.*,u.nick_name,u.phone,s.store_name,c.company_name,cu.nick_name as companyUserName,fso.delivery_name,fso.package_name,fso.package_second_name ,csc.name miniProgramName " +
+            " FROM fs_store_payment sp " +
             " LEFT JOIN  fs_user u ON u.user_id=sp.user_id " +
             " LEFT JOIN fs_store s ON s.store_id=sp.store_id " +
             " left join fs_store_order fso on fso.order_code = sp.business_code " +
@@ -187,9 +193,14 @@ public interface FsStorePaymentMapper
             "LEFT JOIN company_user cu ON \n" +
             "    ( cu.user_id = fso.company_user_id) OR\n" +
             "    (cu.user_id = fio.company_user_id) " +
+            "LEFT JOIN (SELECT t.* FROM ( SELECT sp2.*, ROW_NUMBER() OVER (PARTITION BY sp2.business_code ORDER BY sp2.create_time DESC, sp2.payment_id DESC) as rn " +
+            "FROM fs_store_payment sp2) t WHERE t.rn = 1) " +
+            "latest_sp ON latest_sp.business_code = sp.business_code "+
+            "LEFT JOIN fs_course_play_source_config csc ON csc.appid = sp.app_id" +
             " where 1=1 " +
             "            <if test=\"maps.payCode != null  and maps.payCode != ''\"> and sp.pay_code = #{maps.payCode}</if>\n" +
             "            <if test=\"maps.payTypeCode != null  and maps.payTypeCode != ''\"> and sp.pay_type_code = #{maps.payTypeCode}</if>\n" +
+            "            <if test=\"maps.coursePlaySourceConfigId != null\"> and csc.id = #{maps.coursePlaySourceConfigId}</if>\n" +
             "            <if test=\"maps.businessCode != null  and maps.businessCode != ''\"> and sp.business_code = #{maps.businessCode}</if>\n" +
             "            <if test=\"maps.tradeNo != null  and maps.tradeNo != ''\"> and sp.trade_no = #{maps.tradeNo}</if>\n" +
             "            <if test=\"maps.userId != null \"> and sp.user_id = #{maps.userId}</if>\n" +

+ 2 - 1
fs-service/src/main/java/com/fs/his/param/FsInquiryOrderParam.java

@@ -129,7 +129,8 @@ public class FsInquiryOrderParam {
     private String payTimeRange;
 
     private String[] payTimeList;
-
+    //小程序id
+    private  Long coursePlaySourceConfigId;
     //部门id
     private Long deptId;
     //公司员工昵称

+ 2 - 0
fs-service/src/main/java/com/fs/his/param/FsInquiryOrderReportParam.java

@@ -46,4 +46,6 @@ public class FsInquiryOrderReportParam {
     private String patientMobile;
     private  String fzName;
     private Long taskId;//任务ID
+    // 小程序id
+    private Long coursePlaySourceConfigId;
 }

+ 2 - 0
fs-service/src/main/java/com/fs/his/param/FsPackageOrderParam.java

@@ -103,5 +103,7 @@ public class FsPackageOrderParam  extends BaseEntity{
 
     private String source;
 
+    //小程序id
+    private Long coursePlaySourceConfigId;
     private Long taskId;//任务ID
 }

+ 2 - 0
fs-service/src/main/java/com/fs/his/param/FsStorePaymentParam.java

@@ -116,6 +116,8 @@ public class FsStorePaymentParam extends BaseEntity {
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date createTime;
 
+    // 小程序ID
+    private Long coursePlaySourceConfigId;
     private String appId;
 
 }

+ 3 - 1
fs-service/src/main/java/com/fs/his/vo/FsInquiryOrderListVO.java

@@ -107,7 +107,9 @@ public class FsInquiryOrderListVO {
     /** 问诊类型 */
     @Excel(name = "问诊类型")
     private Integer inquiryType;
-
+    //小程序名称
+    @Excel(name = "小程序名称")
+    private String miniProgramName;
     private Integer inquirySubType;
     /** 创建时间 */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

+ 2 - 0
fs-service/src/main/java/com/fs/his/vo/FsInquiryOrderReportListVO.java

@@ -101,6 +101,8 @@ public class FsInquiryOrderReportListVO {
     private  String DiseaseName;
     @Excel(name = "分诊人名称")
     private  String fzName;
+    @Excel(name = "小程序姓名")
+    private String miniProgramName;
 
 
 }

+ 2 - 0
fs-service/src/main/java/com/fs/his/vo/FsPackageOrderExcelVO.java

@@ -117,4 +117,6 @@ public class FsPackageOrderExcelVO {
     private Integer deliveryPayStatus;
     @Excel(name = "来源",dictType="sys_order_source")
     private Integer source;
+    @Excel(name = "微信小程序姓名")
+    private String miniProgramName;
 }

+ 3 - 0
fs-service/src/main/java/com/fs/his/vo/FsPackageOrderListVO.java

@@ -83,6 +83,9 @@ public class FsPackageOrderListVO {
     private Integer deliveryStatus;
     @Excel(name = "物流状态")
     private Integer deliveryPayStatus;
+    //小程序名称
+    @Excel(name = "小程序名称")
+    private String miniProgramName;
     private Integer packageSubType;
     private BigDecimal inquiryPrice;
     private BigDecimal productPrice;

+ 8 - 0
fs-service/src/main/java/com/fs/his/vo/FsStorePaymentExcelVO.java

@@ -84,4 +84,12 @@ public class FsStorePaymentExcelVO {
 
     @Excel(name = "套餐包别名")
     private String packageSecondName;
+
+    // 小程序名称
+    @Excel(name = "小程序名称")
+    private String miniProgramName;
+
+
+
+
 }

+ 4 - 2
fs-service/src/main/java/com/fs/his/vo/FsStorePaymentVO.java

@@ -85,8 +85,8 @@ public class FsStorePaymentVO {
     /** 创建时间 */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date createTime;
-
-
+   // 小程序id
+    private Long coursePlaySourceConfigId;
     /** 更新时间 */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date updateTime;
@@ -103,4 +103,6 @@ public class FsStorePaymentVO {
     private Integer shareStatus;
     private String shareCode;
     private BigDecimal shareMoney;
+    // 小程序名称
+    private String miniProgramName;
 }