Browse Source

医保钱包结算业务更新

837390164@qq.com 2 days ago
parent
commit
6977eccb75
4 changed files with 41 additions and 37 deletions
  1. 7 4
      Business/IrisServices.cs
  2. 5 6
      Forms/OutpatientRegistration.cs
  3. 27 27
      Forms/SettlementInfo.designer.cs
  4. 2 0
      Variables/Struct.cs

+ 7 - 4
Business/IrisServices.cs

@@ -547,7 +547,7 @@ namespace PTMedicalInsurance.Business
             joSumFee = new JObject();
 
             errMsg = "";
-            decimal ybAmt, psnAcctAmt, hospAmt, psnCashAmt, medFee, ownpayhosppart;
+            decimal ybAmt, psnAcctAmt, hospAmt, psnCashAmt, medFee, ownpayhosppart, wltpayamt;
             try
             {
                 ybAmt = getFee(jo, "hifp_pay")      //基本医保统筹基金支出
@@ -558,10 +558,13 @@ namespace PTMedicalInsurance.Business
                       + getFee(jo, "cvlserv_pay")   //公务员医疗补助
                       + getFee(jo, "maf_pay")       //医疗救助基金支出
                       + getFee(jo, "oth_pay");     //其他支出
-                                               //+ getFee(jo, "ownpay_hosp_part"); //自费中医院负担部分
+                                                   //+ getFee(jo, "ownpay_hosp_part"); //自费中医院负担部分
+
+                JObject joExpContent = JObject.Parse(jo["exp_content"].ToString());
+                wltpayamt = getFee(joExpContent, "wltpay_amt"); //钱包支付金额
 
                 ownpayhosppart = getFee(jo, "ownpay_hosp_part"); //自费中医院负担部分
-                psnAcctAmt = getFee(jo, "acct_pay");     //账户支付金额
+                psnAcctAmt = getFee(jo, "acct_pay") + wltpayamt;     //账户支付金额+医保钱包支付金额
                 psnCashAmt = getFee(jo, "psn_cash_pay"); //现金支付金额
                 hospAmt = getFee(jo, "hosp_part_amt")+ ownpayhosppart;   //医院承担金额
                 medFee = getFee(jo, "medfee_sumamt");    //总费用
@@ -576,7 +579,7 @@ namespace PTMedicalInsurance.Business
 
                 if (medFee != (ybAmt + psnAcctAmt + psnCashAmt + hospAmt))
                 {
-                    errMsg = "ybAmt + psnAcctAmt + psnCashAmt + hospAmt(hospAmt+ownpayhosppart) != medFee";
+                    errMsg = "ybAmt + psnAcctAmt(psnAcctAmt+wltpayamt) + psnCashAmt + hospAmt(hospAmt+ownpayhosppart) != medFee";
                     return -1;
                 }
                 return 0;

+ 5 - 6
Forms/OutpatientRegistration.cs

@@ -113,8 +113,7 @@ namespace PTMedicalInsurance.Forms
         public string crossYearHosp = "0";
         public string traumaFlag = "0";
         public string relTtpFlag = "0";
-        public string hospType = "0";
-        public string WltpayUsedFlag = "0";
+        public string hospType = "0";        
 
         private DataTable GetDBLKComboxTable(string sqlStr)
         {
@@ -203,17 +202,17 @@ namespace PTMedicalInsurance.Forms
 
             //医保钱包账户支付
             if (cbxWltpayPay.Checked)
-                WltpayUsedFlag = "1";
+                Global.pat.WltpayUsedFlag = 1;
             else
-                WltpayUsedFlag = "0";
+                Global.pat.WltpayUsedFlag = 0; 
 
             //扩展字段
             //银海说二维码信息可以不填写了Global.pat.ExpContent = Global.pat.card.QrCode + "|" + Global.pat.CrossYearHosp + "||" + Global.pat.DisType + "|" + Global.inf.hospitalNO + "|" + iptTypeCode + "|就诊人群类型|" + traumaFlag + "|" + relTtpFlag+"|急诊标志|||处方号"+WltpayUsedFlag+"|";
             //"exp_content": "电子医保凭证卡串|跨年住院标志|门慢输血费标志|单病种类型|开方机构编码|住院类型|就诊人群类型|外伤标志|涉及第三方标志|急诊标志|||处方号|钱包账户使用标志|"
             if (Global.pat.mdtrtcertType == "01")
-                Global.pat.ExpContent = "|" + Global.pat.CrossYearHosp + "||" + Global.pat.DisType + "|" + Global.inf.hospitalNO + "|" + iptTypeCode + "||" + traumaFlag + "|" + relTtpFlag + "|||||" + WltpayUsedFlag + "|";
+                Global.pat.ExpContent = "|" + Global.pat.CrossYearHosp + "||" + Global.pat.DisType + "|" + Global.inf.hospitalNO + "|" + iptTypeCode + "||" + traumaFlag + "|" + relTtpFlag + "|||||" + Global.pat.WltpayUsedFlag + "|";
             else
-                Global.pat.ExpContent = "|" + Global.pat.CrossYearHosp + "||" + Global.pat.DisType + "|" + Global.inf.hospitalNO + "|" + iptTypeCode + "||" + traumaFlag + "|" + relTtpFlag + "|||||" + WltpayUsedFlag + "|";
+                Global.pat.ExpContent = "|" + Global.pat.CrossYearHosp + "||" + Global.pat.DisType + "|" + Global.inf.hospitalNO + "|" + iptTypeCode + "||" + traumaFlag + "|" + relTtpFlag + "|||||" + Global.pat.WltpayUsedFlag + "|";
 
             this.DialogResult = DialogResult.OK;
         }

+ 27 - 27
Forms/SettlementInfo.designer.cs

@@ -55,6 +55,8 @@ namespace PTMedicalInsurance.Forms
             this.pnlClient = new Sunny.UI.UIPanel();
             this.gbSetlinfo = new Sunny.UI.UIGroupBox();
             this.pnlPayInfo = new Sunny.UI.UIPanel();
+            this.tbWltpayAmt = new Sunny.UI.UITextBox();
+            this.uiLabel32 = new Sunny.UI.UILabel();
             this.tbownpayhosppart = new Sunny.UI.UITextBox();
             this.uiLabel31 = new Sunny.UI.UILabel();
             this.tbAccountMutualAidAmount = new Sunny.UI.UITextBox();
@@ -119,8 +121,6 @@ namespace PTMedicalInsurance.Forms
             this.uiLabel30 = new Sunny.UI.UILabel();
             this.gbSetldetail = new Sunny.UI.UIGroupBox();
             this.dgvSetlDetail = new Sunny.UI.UIDataGridView();
-            this.tbWltpayAmt = new Sunny.UI.UITextBox();
-            this.uiLabel32 = new Sunny.UI.UILabel();
             this.pnlBottom.SuspendLayout();
             this.pnlClient.SuspendLayout();
             this.gbSetlinfo.SuspendLayout();
@@ -285,6 +285,31 @@ namespace PTMedicalInsurance.Forms
             this.pnlPayInfo.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
             this.pnlPayInfo.Click += new System.EventHandler(this.pnlPayInfo_Click);
             // 
+            // tbWltpayAmt
+            // 
+            this.tbWltpayAmt.Cursor = System.Windows.Forms.Cursors.IBeam;
+            this.tbWltpayAmt.Font = new System.Drawing.Font("微软雅黑", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.tbWltpayAmt.Location = new System.Drawing.Point(609, 225);
+            this.tbWltpayAmt.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
+            this.tbWltpayAmt.MinimumSize = new System.Drawing.Size(1, 16);
+            this.tbWltpayAmt.Name = "tbWltpayAmt";
+            this.tbWltpayAmt.ShowText = false;
+            this.tbWltpayAmt.Size = new System.Drawing.Size(100, 29);
+            this.tbWltpayAmt.TabIndex = 45;
+            this.tbWltpayAmt.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
+            this.tbWltpayAmt.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
+            // 
+            // uiLabel32
+            // 
+            this.uiLabel32.Font = new System.Drawing.Font("微软雅黑", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
+            this.uiLabel32.Location = new System.Drawing.Point(502, 228);
+            this.uiLabel32.Name = "uiLabel32";
+            this.uiLabel32.Size = new System.Drawing.Size(100, 23);
+            this.uiLabel32.TabIndex = 44;
+            this.uiLabel32.Text = "医保钱包支付";
+            this.uiLabel32.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
+            this.uiLabel32.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
+            // 
             // tbownpayhosppart
             // 
             this.tbownpayhosppart.Cursor = System.Windows.Forms.Cursors.IBeam;
@@ -1144,31 +1169,6 @@ namespace PTMedicalInsurance.Forms
             this.dgvSetlDetail.TabIndex = 1;
             this.dgvSetlDetail.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
             // 
-            // tbWltpayAmt
-            // 
-            this.tbWltpayAmt.Cursor = System.Windows.Forms.Cursors.IBeam;
-            this.tbWltpayAmt.Font = new System.Drawing.Font("微软雅黑", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.tbWltpayAmt.Location = new System.Drawing.Point(609, 225);
-            this.tbWltpayAmt.Margin = new System.Windows.Forms.Padding(4, 5, 4, 5);
-            this.tbWltpayAmt.MinimumSize = new System.Drawing.Size(1, 16);
-            this.tbWltpayAmt.Name = "tbWltpayAmt";
-            this.tbWltpayAmt.ShowText = false;
-            this.tbWltpayAmt.Size = new System.Drawing.Size(100, 29);
-            this.tbWltpayAmt.TabIndex = 45;
-            this.tbWltpayAmt.TextAlignment = System.Drawing.ContentAlignment.MiddleLeft;
-            this.tbWltpayAmt.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
-            // 
-            // uiLabel32
-            // 
-            this.uiLabel32.Font = new System.Drawing.Font("微软雅黑", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134)));
-            this.uiLabel32.Location = new System.Drawing.Point(502, 228);
-            this.uiLabel32.Name = "uiLabel32";
-            this.uiLabel32.Size = new System.Drawing.Size(100, 23);
-            this.uiLabel32.TabIndex = 44;
-            this.uiLabel32.Text = "个人现金支付";
-            this.uiLabel32.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
-            this.uiLabel32.ZoomScaleRect = new System.Drawing.Rectangle(0, 0, 0, 0);
-            // 
             // SettlementInfo
             // 
             this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 12F);

+ 2 - 0
Variables/Struct.cs

@@ -168,6 +168,8 @@ namespace PTMedicalInsurance.Variables
 
         public string patInfo_mutualAidPay;
         public JObject joSettlInfoOfMutualAid;
+
+        public int WltpayUsedFlag;
     }
 
     public struct Card