Explorar el Código

Merge branch 'master' of http://git.shengws.com/csx/gdyb

csx hace 3 años
padre
commit
ea3f0575a0
Se han modificado 1 ficheros con 210 adiciones y 210 borrados
  1. 210 210
      service/hbyb_service.go

+ 210 - 210
service/hbyb_service.go Ver fichero

@@ -1640,216 +1640,216 @@ func Hbyb5301(psnNo string, insutype string, org_name string, doctor string, fix
1640 1640
 }
1641 1641
 
1642 1642
 //
1643
-func Hbyb4101(struct4101 Struct4101, secret_key string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string) string {
1644
-	// 生成签名
1645
-	nonce := GetRandomString(32)
1646
-	timestamp := time.Now().Unix()
1647
-	signature := setSignature(timestamp, nonce, secret_key)
1648
-
1649
-	// 生成输入报文
1650
-	inputMessage := SetInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
1651
-	input := make(map[string]interface{})
1652
-	inputData := make(map[string]interface{})
1653
-	inputMessage["infno"] = "4101" // 交易编码
1654
-
1655
-	year := time.Now().Format("2006")
1656
-	month := time.Now().Format("01")
1657
-	day := time.Now().Format("02")
1658
-
1659
-	inputData["mdtrt_id"] = struct4101.MdtrtId                // 就诊 ID  必填(来自2201接口返回)
1660
-	inputData["setl_id"] = struct4101.SetlId                  // 结算 ID  必填
1661
-	inputData["fixmedins_name"] = org_name                    // 定点医药机构名称  必填
1662
-	inputData["fixmedins_code"] = fixmedins_code              // 定点医药机构编码  必填
1663
-	inputData["hi_setl_lv"] = ""                              // 医保结算等级
1664
-	inputData["hi_no"] = ""                                   // 医保编号
1665
-	inputData["medcasno"] = struct4101.PsnNo                  // 病案号  必填
1666
-	inputData["dcla_time"] = year + "-" + month + "-" + day   // 申报时间  必填
1667
-	inputData["psn_name"] = struct4101.PsnName                // 人员姓名  必填
1668
-	inputData["gend"] = struct4101.Gend                       // 性别  必填
1669
-	inputData["brdy"] = struct4101.Brdy                       // 出生日期  必填
1670
-	inputData["age"] = struct4101.Age                         // 年龄  必填
1671
-	inputData["ntly"] = struct4101.Ntly                       // 国籍  必填
1672
-	inputData["nwb_age"] = ""                                 // 年龄  必填
1673
-	inputData["naty"] = struct4101.Naty                       // 民族  必填
1674
-	inputData["patn_cert_type"] = struct4101.PatnCertType     // 患者证件类别  必填
1675
-	inputData["certno"] = struct4101.Certno                   // 证件号码  必填
1676
-	inputData["prfs"] = struct4101.Prfs                       // 职业  必填
1677
-	inputData["curr_addr"] = ""                               // 现住址  必填
1678
-	inputData["emp_name"] = ""                                // 单位名称  必填
1679
-	inputData["emp_addr"] = ""                                // 单位地址  必填
1680
-	inputData["emp_tel"] = ""                                 // 单位电话  必填
1681
-	inputData["poscode"] = ""                                 // 邮编  必填
1682
-	inputData["coner_name"] = struct4101.ConerName            // 联系人姓名  必填
1683
-	inputData["patn_rlts"] = struct4101.PatnRlts              // 与患者关系  必填
1684
-	inputData["coner_addr"] = struct4101.ConerAddr            // 联系人地址  必填
1685
-	inputData["coner_tel"] = struct4101.ConerTel              // 联系人电话  必填
1686
-	inputData["hi_type"] = struct4101.HiType                  // 医保类型  必填
1687
-	inputData["insuplc"] = struct4101.Insuplc                 // 参保地  必填
1688
-	inputData["sp_psn_type"] = ""                             // 特殊人员类型  必填
1689
-	inputData["nwb_adm_type"] = ""                            // 新生儿入院类型  必填
1690
-	inputData["nwb_bir_wt"] = ""                              // 新生儿出生体重  必填
1691
-	inputData["nwb_adm_wt"] = ""                              // 新生儿入院体重  必填
1692
-	inputData["opsp_diag_caty"] = ""                          // 门诊慢特病诊断  必填
1693
-	inputData["opsp_mdtrt_date"] = ""                         // 门诊慢特病就诊日期  必填
1694
-	inputData["ipt_med_type"] = struct4101.IptMedType         // 住院医疗类型  必填
1695
-	inputData["adm_way"] = ""                                 // 入院途径  必填
1696
-	inputData["trt_type"] = ""                                // 治疗类别  必填
1697
-	inputData["adm_time"] = ""                                // 入院时间  必填
1698
-	inputData["adm_caty"] = struct4101.AdmCaty                // 入院科别  必填
1699
-	inputData["refldept_dept"] = ""                           // 转科科别  必填
1700
-	inputData["dscg_time"] = ""                               // 出院时间  必填
1701
-	inputData["dscg_caty"] = struct4101.AdmCaty               // 出院科别  必填
1702
-	inputData["act_ipt_days"] = ""                            // 实际住院天数  必填
1703
-	inputData["otp_wm_dise"] = ""                             // 门(急) 诊西医诊断  必填
1704
-	inputData["wm_dise_code"] = ""                            // 门(急) 诊中医诊断  必填
1705
-	inputData["otp_tcm_dise"] = ""                            // 西医诊断疾病代码  必填
1706
-	inputData["tcm_dise_code"] = ""                           // 中医诊断代码  必填
1707
-	inputData["oprn_oprt_code_cnt"] = ""                      // 手术操作代码计数  必填
1708
-	inputData["vent_used_dura"] = ""                          // 呼吸机使用时长  必填
1709
-	inputData["pwcry_bfadm_coma_dura"] = ""                   // 颅脑损伤患者入院前昏迷时长  必填
1710
-	inputData["pwcry_afadm_coma_dura"] = ""                   // 颅脑损伤患者入院后昏迷时长  必填
1711
-	inputData["bld_cat"] = ""                                 // 输血品种  必填
1712
-	inputData["bld_amt"] = ""                                 // 输血量  必填
1713
-	inputData["bld_unt"] = ""                                 // 输血计量单位  必填
1714
-	inputData["spga_nurscare_days"] = ""                      // 特级护理天数  必填
1715
-	inputData["lv1_nurscare_days"] = ""                       // 一级护理天数  必填
1716
-	inputData["scd_nurscare_days"] = ""                       // 二级护理天数  必填
1717
-	inputData["lv3_nurscare_days"] = ""                       // 三级护理天数  必填
1718
-	inputData["acp_medins_name"] = ""                         // 拟接收机构名称  必填
1719
-	inputData["acp_optins_code"] = ""                         // 拟接收机构代码  必填
1720
-	inputData["bill_code"] = struct4101.BillCode              // 票据代码  必填
1721
-	inputData["bill_no"] = struct4101.BillNo                  // 票据号码  必填
1722
-	inputData["biz_sn"] = struct4101.BizSn                    // 业务流水号  必填
1723
-	inputData["days_rinp_flag_31"] = ""                       // 出院 31 天内再住院计划标志  必填
1724
-	inputData["days_rinp_pup_31"] = ""                        // 出院 31 天内再住院目的  必填
1725
-	inputData["chfpdr_name"] = ""                             // 主诊医师姓名  必填
1726
-	inputData["chfpdr_code"] = ""                             // 主诊医师代码  必填
1727
-	inputData["setl_begn_date"] = struct4101.SetlBegnDate     // 结算开始日期  必填
1728
-	inputData["setl_end_date"] = struct4101.SetlEndDate       // 结算结束日期  必填
1729
-	inputData["psn_selfpay"] = struct4101.PsnSelfPay          // 个人自付  必填
1730
-	inputData["psn_ownpay"] = struct4101.PsnOwnPay            // 个人自费  必填
1731
-	inputData["acct_pay"] = struct4101.AcctPay                // 个人账户支出  必填
1732
-	inputData["hi_paymtd"] = struct4101.HiPaymtd              // 医保支付方式  必填
1733
-	inputData["hsorg"] = struct4101.Hsorg                     // 医保机构  必填
1734
-	inputData["hsorg_opter"] = struct4101.HsorgOpter          // 医保机构经办人  必填
1735
-	inputData["medins_fill_dept"] = struct4101.MedinsFillDept // 医疗机构填报部门  必填
1736
-	inputData["medins_fill_psn"] = struct4101.MedinsFillPsn   // 医疗机构填报人  必填
1737
-	inputData["psn_cashpay"] = struct4101.PsnCashpay          // 医疗机构填报人  必填
1738
-
1739
-	payinfo := make([]map[string]interface{}, 0) // 基金支付信息
1740
-	for _, item := range struct4101.CustomStruct {
1741
-		payinfotemp := make(map[string]interface{})
1742
-		if item.FundPayType == "310100" || item.FundPayType == "310200" || item.FundPayType == "320100" || item.FundPayType == "330100" || item.FundPayType == "340100" || item.FundPayType == "350100" || item.FundPayType == "370100" || item.FundPayType == "390100" || item.FundPayType == "610100" || item.FundPayType == "640100" || item.FundPayType == "620100" {
1743
-			payinfotemp["fund_pay_type"] = item.FundPayType // 基金支付类型  必填
1744
-			payinfotemp["fund_payamt"] = item.FundPayamt    // 基金支付金额
1745
-			payinfo = append(payinfo, payinfotemp)
1746
-		}
1747
-	}
1748
-	opspdiseinfo := make([]map[string]interface{}, 0) // 门诊慢特病诊断信息
1749
-	for _, item := range struct4101.OpspdiseinfoStruct {
1750
-		opspdiseinfotemp := make(map[string]interface{})
1751
-		opspdiseinfotemp["diag_name"] = item.DiagName // 诊断名称  必填
1752
-		opspdiseinfotemp["diag_code"] = item.DiagCode // 诊断代码 必填
1753
-		opspdiseinfotemp["oprn_oprt_name"] = ""       // 手术操作名称 必填
1754
-		opspdiseinfotemp["oprn_oprt_code"] = ""       // 手术操作代码 必填
1755
-
1756
-		opspdiseinfo = append(opspdiseinfo, opspdiseinfotemp)
1757
-	}
1758
-
1759
-	diseinfo := make([]map[string]interface{}, 0) // 住院诊断信息
1760
-	for _, item := range struct4101.OpspdiseinfoStruct {
1761
-		fmt.Println(item.DiagName)
1762
-		diseinfotemp := make(map[string]interface{})
1763
-		diseinfotemp["maindiag_flag"] = item.MaindiagFlag // 手术操作代码 必填
1764
-		diseinfotemp["diag_type"] = item.MaindiagFlag     // 诊断类别  必填
1765
-		diseinfotemp["diag_code"] = item.DiagCode         // 诊断代码 必填
1766
-		diseinfotemp["diag_name"] = item.DiagName         // 诊断名称 必填
1767
-		diseinfotemp["adm_cond_type"] = "3"               // 入院病情类型 必填
1768
-		diseinfo = append(diseinfo, diseinfotemp)
1769
-	}
1770
-
1771
-	iteminfo := make([]map[string]interface{}, 0) // 住院诊断信息
1772
-	for _, item := range struct4101.IteminfoStruct {
1773
-		iteminfotemp := make(map[string]interface{})
1774
-		iteminfotemp["med_chrgitm"] = item.MedChrgitm            // 医疗收费项目  必填
1775
-		iteminfotemp["amt"] = item.Amt                           // 金额 必填
1776
-		iteminfotemp["claa_sumfee"] = item.ClaaSumfee            // 甲类费用合计 必填
1777
-		iteminfotemp["clab_amt"] = item.ClabAmt                  // 乙类金额 必填
1778
-		iteminfotemp["fulamt_ownpay_amt"] = item.FulamtOwnpayAmt // 全自费金额 必填
1779
-		iteminfotemp["oth_amt"] = item.OthAmt                    // 其他金额 必填
1780
-		iteminfo = append(iteminfo, iteminfotemp)
1781
-	}
1782
-
1783
-	oprninfo := make([]map[string]interface{}, 0) // 手术操作信息
1784
-	oprninfotemp := make(map[string]interface{})
1785
-	oprninfotemp["oprn_oprt_type"] = "" // 手术操作类别  必填
1786
-	oprninfotemp["oprn_oprt_name"] = "" // 手术操作名称 必填
1787
-	oprninfotemp["oprn_oprt_code"] = "" // 手术操作代码 必填
1788
-	oprninfotemp["oprn_oprt_date"] = "" // 手术操作日期 必填
1789
-	oprninfotemp["anst_way"] = ""       // 麻醉方式 必填
1790
-	oprninfotemp["oper_dr_name"] = ""   // 术者医师姓名 必填
1791
-	oprninfotemp["oper_dr_code"] = ""   // 术者医师代码 必填
1792
-	oprninfotemp["anst_dr_name"] = ""   // 麻醉医师姓名 必填
1793
-	oprninfotemp["anst_dr_code"] = ""   // 麻醉医师代码 必填
1794
-	oprninfo = append(oprninfo, oprninfotemp)
1795
-
1796
-	icuinfo := make([]map[string]interface{}, 0) // 重症监护信息
1797
-	icuinfotemp := make(map[string]interface{})
1798
-	icuinfotemp["scs_cutd_ward_type"] = ""   // 重症监护病房类型  必填
1799
-	icuinfotemp["scs_cutd_inpool_time"] = "" // 重症监护进入时间 必填
1800
-	icuinfotemp["scs_cutd_exit_time"] = ""   // 重症监护退出时间 必填
1801
-	icuinfotemp["scs_cutd_sum_dura"] = ""    // 重症监护合计时长 必填
1802
-	icuinfo = append(icuinfo, icuinfotemp)
1803
-
1804
-	input["setlinfo"] = inputData
1805
-	input["payinfo"] = payinfo
1806
-	//input["opspdiseinfo"] = opspdiseinfo
1807
-	input["diseinfo"] = diseinfo
1808
-	input["iteminfo"] = iteminfo
1809
-	//input["oprninfo"] = oprninfo
1810
-	//input["icuinfo"] = icuinfo
1811
-	inputMessage["input"] = input //交易输入
1812
-
1813
-	bytesData, err := json.Marshal(inputMessage)
1814
-	fmt.Println(string(bytesData))
1815
-	if err != nil {
1816
-		fmt.Println(err.Error())
1817
-		return err.Error()
1818
-	}
1819
-	reader := bytes.NewReader(bytesData)
1820
-
1821
-	gdyb_url := beego.AppConfig.String("gdyb_url")
1822
-	gdyb_paasid := beego.AppConfig.String("gdyb_paasid")
1823
-	url := gdyb_url + "4101"
1824
-
1825
-	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/4101"
1826
-	request, err := http.NewRequest("POST", url, reader)
1827
-	if err != nil {
1828
-		fmt.Println(err.Error())
1829
-		return err.Error()
1830
-	}
1831
-
1832
-	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1833
-	request.Header.Set("x-tif-paasid", gdyb_paasid)
1834
-	request.Header.Set("x-tif-signature", signature)
1835
-	request.Header.Set("x-tif-timestamp", strconv.FormatInt(timestamp, 10))
1836
-	request.Header.Set("x-tif-nonce", nonce)
1837
-
1838
-	client := http.Client{}
1839
-	resp, err := client.Do(request)
1840
-	if err != nil {
1841
-		fmt.Println(err.Error())
1842
-		return err.Error()
1843
-	}
1844
-	respBytes, err := ioutil.ReadAll(resp.Body)
1845
-	if err != nil {
1846
-		fmt.Println(err.Error())
1847
-		return err.Error()
1848
-	}
1849
-	str := string(respBytes)
1850
-	fmt.Println(str)
1851
-	return str
1852
-}
1643
+//func Hbyb4101(struct4101 Struct4101, secret_key string, org_name string, doctor string, fixmedins_code string, insuplc_admdvs string, mdtrtarea_admvs string) string {
1644
+//	// 生成签名
1645
+//	nonce := GetRandomString(32)
1646
+//	timestamp := time.Now().Unix()
1647
+//	signature := setSignature(timestamp, nonce, secret_key)
1648
+//
1649
+//	// 生成输入报文
1650
+//	inputMessage := SetInputMessage(nonce, timestamp, org_name, doctor, fixmedins_code, insuplc_admdvs, mdtrtarea_admvs)
1651
+//	input := make(map[string]interface{})
1652
+//	inputData := make(map[string]interface{})
1653
+//	inputMessage["infno"] = "4101" // 交易编码
1654
+//
1655
+//	year := time.Now().Format("2006")
1656
+//	month := time.Now().Format("01")
1657
+//	day := time.Now().Format("02")
1658
+//
1659
+//	inputData["mdtrt_id"] = struct4101.MdtrtId                // 就诊 ID  必填(来自2201接口返回)
1660
+//	inputData["setl_id"] = struct4101.SetlId                  // 结算 ID  必填
1661
+//	inputData["fixmedins_name"] = org_name                    // 定点医药机构名称  必填
1662
+//	inputData["fixmedins_code"] = fixmedins_code              // 定点医药机构编码  必填
1663
+//	inputData["hi_setl_lv"] = ""                              // 医保结算等级
1664
+//	inputData["hi_no"] = ""                                   // 医保编号
1665
+//	inputData["medcasno"] = struct4101.PsnNo                  // 病案号  必填
1666
+//	inputData["dcla_time"] = year + "-" + month + "-" + day   // 申报时间  必填
1667
+//	inputData["psn_name"] = struct4101.PsnName                // 人员姓名  必填
1668
+//	inputData["gend"] = struct4101.Gend                       // 性别  必填
1669
+//	inputData["brdy"] = struct4101.Brdy                       // 出生日期  必填
1670
+//	inputData["age"] = struct4101.Age                         // 年龄  必填
1671
+//	inputData["ntly"] = struct4101.Ntly                       // 国籍  必填
1672
+//	inputData["nwb_age"] = ""                                 // 年龄  必填
1673
+//	inputData["naty"] = struct4101.Naty                       // 民族  必填
1674
+//	inputData["patn_cert_type"] = struct4101.PatnCertType     // 患者证件类别  必填
1675
+//	inputData["certno"] = struct4101.Certno                   // 证件号码  必填
1676
+//	inputData["prfs"] = struct4101.Prfs                       // 职业  必填
1677
+//	inputData["curr_addr"] = ""                               // 现住址  必填
1678
+//	inputData["emp_name"] = ""                                // 单位名称  必填
1679
+//	inputData["emp_addr"] = ""                                // 单位地址  必填
1680
+//	inputData["emp_tel"] = ""                                 // 单位电话  必填
1681
+//	inputData["poscode"] = ""                                 // 邮编  必填
1682
+//	inputData["coner_name"] = struct4101.ConerName            // 联系人姓名  必填
1683
+//	inputData["patn_rlts"] = struct4101.PatnRlts              // 与患者关系  必填
1684
+//	inputData["coner_addr"] = struct4101.ConerAddr            // 联系人地址  必填
1685
+//	inputData["coner_tel"] = struct4101.ConerTel              // 联系人电话  必填
1686
+//	inputData["hi_type"] = struct4101.HiType                  // 医保类型  必填
1687
+//	inputData["insuplc"] = struct4101.Insuplc                 // 参保地  必填
1688
+//	inputData["sp_psn_type"] = ""                             // 特殊人员类型  必填
1689
+//	inputData["nwb_adm_type"] = ""                            // 新生儿入院类型  必填
1690
+//	inputData["nwb_bir_wt"] = ""                              // 新生儿出生体重  必填
1691
+//	inputData["nwb_adm_wt"] = ""                              // 新生儿入院体重  必填
1692
+//	inputData["opsp_diag_caty"] = ""                          // 门诊慢特病诊断  必填
1693
+//	inputData["opsp_mdtrt_date"] = ""                         // 门诊慢特病就诊日期  必填
1694
+//	inputData["ipt_med_type"] = struct4101.IptMedType         // 住院医疗类型  必填
1695
+//	inputData["adm_way"] = ""                                 // 入院途径  必填
1696
+//	inputData["trt_type"] = ""                                // 治疗类别  必填
1697
+//	inputData["adm_time"] = ""                                // 入院时间  必填
1698
+//	inputData["adm_caty"] = struct4101.AdmCaty                // 入院科别  必填
1699
+//	inputData["refldept_dept"] = ""                           // 转科科别  必填
1700
+//	inputData["dscg_time"] = ""                               // 出院时间  必填
1701
+//	inputData["dscg_caty"] = struct4101.AdmCaty               // 出院科别  必填
1702
+//	inputData["act_ipt_days"] = ""                            // 实际住院天数  必填
1703
+//	inputData["otp_wm_dise"] = ""                             // 门(急) 诊西医诊断  必填
1704
+//	inputData["wm_dise_code"] = ""                            // 门(急) 诊中医诊断  必填
1705
+//	inputData["otp_tcm_dise"] = ""                            // 西医诊断疾病代码  必填
1706
+//	inputData["tcm_dise_code"] = ""                           // 中医诊断代码  必填
1707
+//	inputData["oprn_oprt_code_cnt"] = ""                      // 手术操作代码计数  必填
1708
+//	inputData["vent_used_dura"] = ""                          // 呼吸机使用时长  必填
1709
+//	inputData["pwcry_bfadm_coma_dura"] = ""                   // 颅脑损伤患者入院前昏迷时长  必填
1710
+//	inputData["pwcry_afadm_coma_dura"] = ""                   // 颅脑损伤患者入院后昏迷时长  必填
1711
+//	inputData["bld_cat"] = ""                                 // 输血品种  必填
1712
+//	inputData["bld_amt"] = ""                                 // 输血量  必填
1713
+//	inputData["bld_unt"] = ""                                 // 输血计量单位  必填
1714
+//	inputData["spga_nurscare_days"] = ""                      // 特级护理天数  必填
1715
+//	inputData["lv1_nurscare_days"] = ""                       // 一级护理天数  必填
1716
+//	inputData["scd_nurscare_days"] = ""                       // 二级护理天数  必填
1717
+//	inputData["lv3_nurscare_days"] = ""                       // 三级护理天数  必填
1718
+//	inputData["acp_medins_name"] = ""                         // 拟接收机构名称  必填
1719
+//	inputData["acp_optins_code"] = ""                         // 拟接收机构代码  必填
1720
+//	inputData["bill_code"] = struct4101.BillCode              // 票据代码  必填
1721
+//	inputData["bill_no"] = struct4101.BillNo                  // 票据号码  必填
1722
+//	inputData["biz_sn"] = struct4101.BizSn                    // 业务流水号  必填
1723
+//	inputData["days_rinp_flag_31"] = ""                       // 出院 31 天内再住院计划标志  必填
1724
+//	inputData["days_rinp_pup_31"] = ""                        // 出院 31 天内再住院目的  必填
1725
+//	inputData["chfpdr_name"] = ""                             // 主诊医师姓名  必填
1726
+//	inputData["chfpdr_code"] = ""                             // 主诊医师代码  必填
1727
+//	inputData["setl_begn_date"] = struct4101.SetlBegnDate     // 结算开始日期  必填
1728
+//	inputData["setl_end_date"] = struct4101.SetlEndDate       // 结算结束日期  必填
1729
+//	inputData["psn_selfpay"] = struct4101.PsnSelfPay          // 个人自付  必填
1730
+//	inputData["psn_ownpay"] = struct4101.PsnOwnPay            // 个人自费  必填
1731
+//	inputData["acct_pay"] = struct4101.AcctPay                // 个人账户支出  必填
1732
+//	inputData["hi_paymtd"] = struct4101.HiPaymtd              // 医保支付方式  必填
1733
+//	inputData["hsorg"] = struct4101.Hsorg                     // 医保机构  必填
1734
+//	inputData["hsorg_opter"] = struct4101.HsorgOpter          // 医保机构经办人  必填
1735
+//	inputData["medins_fill_dept"] = struct4101.MedinsFillDept // 医疗机构填报部门  必填
1736
+//	inputData["medins_fill_psn"] = struct4101.MedinsFillPsn   // 医疗机构填报人  必填
1737
+//	inputData["psn_cashpay"] = struct4101.PsnCashpay          // 医疗机构填报人  必填
1738
+//
1739
+//	payinfo := make([]map[string]interface{}, 0) // 基金支付信息
1740
+//	for _, item := range struct4101.CustomStruct {
1741
+//		payinfotemp := make(map[string]interface{})
1742
+//		if item.FundPayType == "310100" || item.FundPayType == "310200" || item.FundPayType == "320100" || item.FundPayType == "330100" || item.FundPayType == "340100" || item.FundPayType == "350100" || item.FundPayType == "370100" || item.FundPayType == "390100" || item.FundPayType == "610100" || item.FundPayType == "640100" || item.FundPayType == "620100" {
1743
+//			payinfotemp["fund_pay_type"] = item.FundPayType // 基金支付类型  必填
1744
+//			payinfotemp["fund_payamt"] = item.FundPayamt    // 基金支付金额
1745
+//			payinfo = append(payinfo, payinfotemp)
1746
+//		}
1747
+//	}
1748
+//	opspdiseinfo := make([]map[string]interface{}, 0) // 门诊慢特病诊断信息
1749
+//	for _, item := range struct4101.OpspdiseinfoStruct {
1750
+//		opspdiseinfotemp := make(map[string]interface{})
1751
+//		opspdiseinfotemp["diag_name"] = item.DiagName // 诊断名称  必填
1752
+//		opspdiseinfotemp["diag_code"] = item.DiagCode // 诊断代码 必填
1753
+//		opspdiseinfotemp["oprn_oprt_name"] = ""       // 手术操作名称 必填
1754
+//		opspdiseinfotemp["oprn_oprt_code"] = ""       // 手术操作代码 必填
1755
+//
1756
+//		opspdiseinfo = append(opspdiseinfo, opspdiseinfotemp)
1757
+//	}
1758
+//
1759
+//	diseinfo := make([]map[string]interface{}, 0) // 住院诊断信息
1760
+//	for _, item := range struct4101.OpspdiseinfoStruct {
1761
+//		fmt.Println(item.DiagName)
1762
+//		diseinfotemp := make(map[string]interface{})
1763
+//		diseinfotemp["maindiag_flag"] = item.MaindiagFlag // 手术操作代码 必填
1764
+//		diseinfotemp["diag_type"] = item.MaindiagFlag     // 诊断类别  必填
1765
+//		diseinfotemp["diag_code"] = item.DiagCode         // 诊断代码 必填
1766
+//		diseinfotemp["diag_name"] = item.DiagName         // 诊断名称 必填
1767
+//		diseinfotemp["adm_cond_type"] = "3"               // 入院病情类型 必填
1768
+//		diseinfo = append(diseinfo, diseinfotemp)
1769
+//	}
1770
+//
1771
+//	iteminfo := make([]map[string]interface{}, 0) // 住院诊断信息
1772
+//	for _, item := range struct4101.IteminfoStruct {
1773
+//		iteminfotemp := make(map[string]interface{})
1774
+//		iteminfotemp["med_chrgitm"] = item.MedChrgitm            // 医疗收费项目  必填
1775
+//		iteminfotemp["amt"] = item.Amt                           // 金额 必填
1776
+//		iteminfotemp["claa_sumfee"] = item.ClaaSumfee            // 甲类费用合计 必填
1777
+//		iteminfotemp["clab_amt"] = item.ClabAmt                  // 乙类金额 必填
1778
+//		iteminfotemp["fulamt_ownpay_amt"] = item.FulamtOwnpayAmt // 全自费金额 必填
1779
+//		iteminfotemp["oth_amt"] = item.OthAmt                    // 其他金额 必填
1780
+//		iteminfo = append(iteminfo, iteminfotemp)
1781
+//	}
1782
+//
1783
+//	oprninfo := make([]map[string]interface{}, 0) // 手术操作信息
1784
+//	oprninfotemp := make(map[string]interface{})
1785
+//	oprninfotemp["oprn_oprt_type"] = "" // 手术操作类别  必填
1786
+//	oprninfotemp["oprn_oprt_name"] = "" // 手术操作名称 必填
1787
+//	oprninfotemp["oprn_oprt_code"] = "" // 手术操作代码 必填
1788
+//	oprninfotemp["oprn_oprt_date"] = "" // 手术操作日期 必填
1789
+//	oprninfotemp["anst_way"] = ""       // 麻醉方式 必填
1790
+//	oprninfotemp["oper_dr_name"] = ""   // 术者医师姓名 必填
1791
+//	oprninfotemp["oper_dr_code"] = ""   // 术者医师代码 必填
1792
+//	oprninfotemp["anst_dr_name"] = ""   // 麻醉医师姓名 必填
1793
+//	oprninfotemp["anst_dr_code"] = ""   // 麻醉医师代码 必填
1794
+//	oprninfo = append(oprninfo, oprninfotemp)
1795
+//
1796
+//	icuinfo := make([]map[string]interface{}, 0) // 重症监护信息
1797
+//	icuinfotemp := make(map[string]interface{})
1798
+//	icuinfotemp["scs_cutd_ward_type"] = ""   // 重症监护病房类型  必填
1799
+//	icuinfotemp["scs_cutd_inpool_time"] = "" // 重症监护进入时间 必填
1800
+//	icuinfotemp["scs_cutd_exit_time"] = ""   // 重症监护退出时间 必填
1801
+//	icuinfotemp["scs_cutd_sum_dura"] = ""    // 重症监护合计时长 必填
1802
+//	icuinfo = append(icuinfo, icuinfotemp)
1803
+//
1804
+//	input["setlinfo"] = inputData
1805
+//	input["payinfo"] = payinfo
1806
+//	//input["opspdiseinfo"] = opspdiseinfo
1807
+//	input["diseinfo"] = diseinfo
1808
+//	input["iteminfo"] = iteminfo
1809
+//	//input["oprninfo"] = oprninfo
1810
+//	//input["icuinfo"] = icuinfo
1811
+//	inputMessage["input"] = input //交易输入
1812
+//
1813
+//	bytesData, err := json.Marshal(inputMessage)
1814
+//	fmt.Println(string(bytesData))
1815
+//	if err != nil {
1816
+//		fmt.Println(err.Error())
1817
+//		return err.Error()
1818
+//	}
1819
+//	reader := bytes.NewReader(bytesData)
1820
+//
1821
+//	gdyb_url := beego.AppConfig.String("gdyb_url")
1822
+//	gdyb_paasid := beego.AppConfig.String("gdyb_paasid")
1823
+//	url := gdyb_url + "4101"
1824
+//
1825
+//	//url := "http://igb.hsa.gdgov.cn/ebus/gdyb_inf/poc/hsa/hgs/4101"
1826
+//	request, err := http.NewRequest("POST", url, reader)
1827
+//	if err != nil {
1828
+//		fmt.Println(err.Error())
1829
+//		return err.Error()
1830
+//	}
1831
+//
1832
+//	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1833
+//	request.Header.Set("x-tif-paasid", gdyb_paasid)
1834
+//	request.Header.Set("x-tif-signature", signature)
1835
+//	request.Header.Set("x-tif-timestamp", strconv.FormatInt(timestamp, 10))
1836
+//	request.Header.Set("x-tif-nonce", nonce)
1837
+//
1838
+//	client := http.Client{}
1839
+//	resp, err := client.Do(request)
1840
+//	if err != nil {
1841
+//		fmt.Println(err.Error())
1842
+//		return err.Error()
1843
+//	}
1844
+//	respBytes, err := ioutil.ReadAll(resp.Body)
1845
+//	if err != nil {
1846
+//		fmt.Println(err.Error())
1847
+//		return err.Error()
1848
+//	}
1849
+//	str := string(respBytes)
1850
+//	fmt.Println(str)
1851
+//	return str
1852
+//}
1853 1853
 
1854 1854
 //func Gdyb1201(psnNo string, org_name string, doctor string) string {
1855 1855
 //	// 生成签名