package main import ( "bytes" "encoding/json" "fmt" "gdyb/models" _ "gdyb/routers" "gdyb/service" "github.com/shopspring/decimal" "io/ioutil" "net/http" "strconv" "strings" "time" "github.com/astaxie/beego" //"github.com/qiniu/api.v7/auth/qbox" //"github.com/qiniu/api.v7/storage" //"github.com/qiniu/roapi.v7/auth/qbox" //"github.com/qiniu/api.v7/storage" //"strconv" //"time" ) func init() { service.ConnectDB() org_id, _ := beego.AppConfig.Int64("org_id") miConfig, _ := service.FindMedicalInsuranceInfo(org_id) //CreateLog(miConfig) //UploadLog(miConfig) if org_id == 10191 { service.GetFjAuthorizationInfo(miConfig.Code) } } func main() { //service.AutoCreateStock() //service.AutoUploadData //GetBatchSettleList() beego.Run() } type CustomFundPay struct { FundPayType string `json:"fund_pay_type"` FundPayamt float64 `json:"fund_payamt"` } type ResultSeventeen struct { ErrMsg string `json:"err_msg"` InfRefmsgid string `json:"inf_refmsgid"` Infcode int64 `json:"infcode"` Output struct { SetlListId string `json:"setl_list_id"` } `json:"output"` RefmsgTime string `json:"refmsg_time"` RespondTime string `json:"respond_time"` Signtype string `json:"signtype"` WarnInfo string `json:"warn_info"` } func GetBatchSettleList() { org_id, _ := beego.AppConfig.Int64("org_id") list, _ := service.GetLastFundList(org_id) order, _ := service.GetHisOrderByID(list.OrderId) var orders []*models.HisOrder if order.ID > 0 { orders, _ = service.GetAllHisOrderTwo(org_id, order.ID) } else { orders, _ = service.GetAllHisOrder(org_id) } for _, item := range orders { order_id := item.ID order, _ := service.GetHisOrderByIDTwo(order_id) roles, _ := service.GetDoctorListTwo(org_id) his, _ := service.GetHisPatientByNumber(order.MdtrtId) admin, _ := service.GetAdminUserByUserID(roles[0].AdminUserId) curRoles, _ := service.GetAdminUserInfoByID(org_id, 2495) depart, _ := service.GetDepartMentDetail(curRoles.DepartmentId) miConfig, _ := service.FindMedicalInsuranceInfo(org_id) pre, _ := service.GetNewHisPrescriptionByNumber(order.Number) doctor, _ := service.GetAdminUserInfoByID(org_id, pre.Creator) if order.ID == 0 { return } if his.BalanceAccountsType == 2 { continue } struct4101 := service.Struct4101{ PsnNo: order.PsnNo, MdtrtId: order.MdtrtId, SetlId: order.SetlId, PsnName: order.PsnName, Gend: order.Gend, Brdy: his.Brdy, Age: his.Age, Naty: order.Naty, PatnCertType: "01", Certno: order.Certno, Prfs: "90", ConerName: roles[0].UserName, PatnRlts: "99", ConerAddr: miConfig.OrgName, ConerTel: admin.Mobile, HiType: order.Insutype, Insuplc: his.InsuplcAdmdvs, MaindiagFlag: "1", BillCode: order.SetlId, BillNo: order.SetlId, BizSn: order.Number, PsnSelfPay: order.PsnPartAmt, PsnOwnPay: order.PsnPartAmt, AcctPay: order.AcctPay, PsnCashpay: order.PsnCashPay, HiPaymtd: "1", Hsorg: his.InsuplcAdmdvs, HsorgOpter: his.InsuplcAdmdvs, MedinsFillPsn: curRoles.UserName, MedinsFillDept: depart.Name, IptMedType: "2", } struct4101.SetlBegnDate = order.SetlTime struct4101.SetlEndDate = order.SetlTime //if order.SettleType == 1 { // t := time.Unix(int64(order.SettleAccountsDate), 0) // dateStr := t.Format("2006-01-02") // struct4101.SetlBegnDate = dateStr // struct4101.SetlEndDate = dateStr //} else { // t := time.Unix(int64(order.SettleStartTime), 0) // t2 := time.Unix(int64(order.SettleEndTime), 0) // dateStartStr := t.Format("2006-01-02") // dateEndStr := t2.Format("2006-01-02") // struct4101.SetlBegnDate = dateStartStr // struct4101.SetlEndDate = dateEndStr //} var rf []CustomFundPay json.Unmarshal([]byte(order.SetlDetail), &rf) var tempFunPays []service.CustomStruct var tempFunPay610100 service.CustomStruct for _, item := range rf { if item.FundPayType == "610100" { tempFunPay610100.FundPayamt, _ = decimal.NewFromFloat(tempFunPay610100.FundPayamt).Add(decimal.NewFromFloat(item.FundPayamt)).Float64() tempFunPay610100.FundPayType = item.FundPayType } else { var tempFunPay service.CustomStruct tempFunPay.FundPayamt = item.FundPayamt tempFunPay.FundPayType = item.FundPayType tempFunPays = append(tempFunPays, tempFunPay) } } tempFunPays = append(tempFunPays, tempFunPay610100) struct4101.CustomStruct = tempFunPays var tempDiaginfos []service.DiaginfoStructTwo var tempOpspdiseinfo2 service.OpspdiseinfoStruct var tempOpspdiseinfos []service.OpspdiseinfoStruct diagnosis_ids := strings.Split(his.Diagnosis, ",") var config []*models.HisXtDiagnoseConfig for _, item := range diagnosis_ids { id, _ := strconv.ParseInt(item, 10, 64) diagnosisConfig, _ := service.FindDiagnoseById(id) config = append(config, &diagnosisConfig) } for index, item := range config { if index == 0 { var tempDiaginfo service.DiaginfoStructTwo tempDiaginfo.DiagCode = item.CountryCode tempDiaginfo.DiagName = item.CountryContentName tempDiaginfo.DiagType = "1" tempDiaginfo.MaindiagFlag = "1" tempDiaginfos = append(tempDiaginfos, tempDiaginfo) } else { var tempDiaginfo service.DiaginfoStructTwo tempDiaginfo.DiagCode = item.CountryCode tempDiaginfo.DiagName = item.CountryContentName tempDiaginfo.DiagType = "2" tempDiaginfo.MaindiagFlag = "0" tempDiaginfos = append(tempDiaginfos, tempDiaginfo) } } struct4101.Diseinfo = tempDiaginfos sickConfigTwo, _ := service.FindSickById(his.SickType) tempOpspdiseinfo2.DiagCode = sickConfigTwo.ContentCode tempOpspdiseinfo2.DiagName = sickConfigTwo.CountryContentName tempOpspdiseinfo2.OprnOprtCode = "" tempOpspdiseinfo2.OprnOprtName = "" tempOpspdiseinfos = append(tempOpspdiseinfos, tempOpspdiseinfo2) struct4101.OpspdiseinfoStruct = tempOpspdiseinfos var iteminfo service.IteminfoStruct var bedCostTotal float64 = 0 //床位总费 var bedCostSelfTotal float64 = 0 //床位自费 var bedCostPartSelfTotal float64 = 0 //床位部分项目自费 var examineCostTotal float64 = 0 //诊查总费 var examineCostSelfTotal float64 = 0 //诊查自费 var examineCostPartSelfTotal float64 = 0 //诊查部分项目自费 var nursingCostTotal float64 = 0 //护理总费 var nursingCostSelfTotal float64 = 0 //护理自费 var nursingCostPartSelfTotal float64 = 0 //护理部分项目自费 var chineseMedicineCostTotal float64 = 0 //中成药 var chineseMedicineCostSelfTotal float64 = 0 //中成药 var chineseMedicineCostPartSelfTotal float64 = 0 //中成药 var commonlyTreatmentCostTotal float64 = 0 //一般诊疗费 var commonlyTreatmentCostSelfTotal float64 = 0 //一般诊疗费 var commonlyTreatmentCostPartSelfTotal float64 = 0 //一般诊疗费 var registerCostTotal float64 = 0 //一般诊疗费 var registerCostSelfTotal float64 = 0 //一般诊疗费 var registerPartSelfTotal float64 = 0 //一般诊疗费 var operationCostTotal float64 = 0 //手术费 var operationCostSelfTotal float64 = 0 //手术费 var operationCostPartSelfTotal float64 = 0 //手术费 var otherCostTotal float64 = 0 //其他费用 var otherCostSelfTotal float64 = 0 //其他费用 var otherCostPartSelfTotal float64 = 0 //其他费用 var materialCostTotal float64 = 0 //材料费 var materialCostSelfTotal float64 = 0 //材料费 var materialCostPartSelfTotal float64 = 0 //材料费 var westernMedicineCostTotal float64 = 0 //西药费 var westernMedicineCostSelfTotal float64 = 0 //西药费 var westernMedicineCostPartSelfTotal float64 = 0 //西药费 var chineseTraditionalMedicineCostTotal float64 = 0 //中成药 var chineseTraditionalMedicineCostSelfTotal float64 = 0 //中成药 var chineseTraditionalMedicineCostPartSelfTotal float64 = 0 //中成药 var checkCostTotal float64 = 0 //检查费 var checkCostSelfTotal float64 = 0 //检查费 var checkCostPartSelfTotal float64 = 0 //检查费 var laboratoryCostTotal float64 = 0 //化验费 var laboratoryCostSelfTotal float64 = 0 //化验费 var laboratoryCostPartSelfTotal float64 = 0 //化验费 var treatCostTotal float64 = 0 //治疗费用 var treatCostSelfTotal float64 = 0 //治疗费用 var treatCostPartSelfTotal float64 = 0 //治疗费用 decimal.DivisionPrecision = 2 var bed_fulamt_ownpay_amt float64 = 0 var examine_fulamt_ownpay_amt float64 = 0 var nursing_fulamt_ownpay_amt float64 = 0 var chinese_medicine_fulamt_ownpay_amt float64 = 0 var commonly_treatment_fulamt_ownpay_amt float64 = 0 var register_fulamt_ownpay_amt float64 = 0 var operation_fulamt_ownpay_amt float64 = 0 var other_fulamt_ownpay_amt float64 = 0 var westernMedicine_fulamt_ownpay_amt float64 = 0 var chineseTraditional_fulamt_ownpay_amt float64 = 0 var check_fulamt_ownpay_amt float64 = 0 var material_fulamt_ownpay_amt float64 = 0 var laboratory_fulamt_ownpay_amt float64 = 0 var treat_fulamt_ownpay_amt float64 = 0 var bed_claa_sunmfee float64 = 0 var bed_clab_amt float64 = 0 var bed_other_amt float64 = 0 var examine_claa_sunmfee float64 = 0 var examine_clab_amt float64 = 0 var examine_other_amt float64 = 0 var nursing_claa_sunmfee float64 = 0 var nursing_clab_amt float64 = 0 var nursing_other_amt float64 = 0 var chinese_medicine_claa_sunmfee float64 = 0 var chinese_medicine_clab_amt float64 = 0 var chinese_medicine_other_amt float64 = 0 var commonly_treatment_claa_sunmfee float64 = 0 var commonly_treatment_clab_amt float64 = 0 var commonly_treatment_other_amt float64 = 0 var operation_claa_sunmfee float64 = 0 var operation_clab_amt float64 = 0 var operation_other_amt float64 = 0 var other_claa_sunmfee float64 = 0 var other_clab_amt float64 = 0 var other_other_amt float64 = 0 var westernMedicine_claa_sunmfee float64 = 0 var westernMedicine_clab_amt float64 = 0 var westernMedicine_other_amt float64 = 0 var chineseTraditional_claa_sunmfee float64 = 0 var chineseTraditional_clab_amt float64 = 0 var chineseTraditional_other_amt float64 = 0 var check_claa_sunmfee float64 = 0 var check_clab_amt float64 = 0 var check_other_amt float64 = 0 var material_claa_sunmfee float64 = 0 var material_clab_amt float64 = 0 var material_other_amt float64 = 0 var laboratory_claa_sunmfee float64 = 0 var laboratory_clab_amt float64 = 0 var laboratory_other_amt float64 = 0 var treat_claa_sunmfee float64 = 0 var treat_clab_amt float64 = 0 var treat_other_amt float64 = 0 var register_claa_sunmfee float64 = 0 var register_clab_amt float64 = 0 var register_other_amt float64 = 0 for _, item := range order.HisOrderInfo { if item.MedChrgitmType == "01" { //床位费 bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() bedCostSelfTotal, _ = decimal.NewFromFloat(bedCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() bedCostPartSelfTotal, _ = decimal.NewFromFloat(bedCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() bed_fulamt_ownpay_amt, _ = decimal.NewFromFloat(bed_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() if item.ChrgitmLv == "1" { bed_claa_sunmfee, _ = decimal.NewFromFloat(bed_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() } if item.ChrgitmLv == "2" { bed_clab_amt, _ = decimal.NewFromFloat(bed_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() } if item.ChrgitmLv == "3" { bed_other_amt, _ = decimal.NewFromFloat(bed_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() } } if item.MedChrgitmType == "02" { //诊查 examineCostTotal, _ = decimal.NewFromFloat(examineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() examineCostSelfTotal, _ = decimal.NewFromFloat(examineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() examineCostPartSelfTotal, _ = decimal.NewFromFloat(examineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() examine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(examine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() if item.ChrgitmLv == "1" { examine_claa_sunmfee, _ = decimal.NewFromFloat(examine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() } if item.ChrgitmLv == "2" { examine_clab_amt, _ = decimal.NewFromFloat(examine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() } if item.ChrgitmLv == "3" { examine_other_amt, _ = decimal.NewFromFloat(examine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() } } if item.MedChrgitmType == "03" { //检查费 checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() checkCostSelfTotal, _ = decimal.NewFromFloat(checkCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() checkCostPartSelfTotal, _ = decimal.NewFromFloat(checkCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() check_fulamt_ownpay_amt, _ = decimal.NewFromFloat(check_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() if item.ChrgitmLv == "1" { check_claa_sunmfee, _ = decimal.NewFromFloat(check_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() } if item.ChrgitmLv == "2" { check_clab_amt, _ = decimal.NewFromFloat(check_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() } if item.ChrgitmLv == "3" { check_other_amt, _ = decimal.NewFromFloat(check_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() } } if item.MedChrgitmType == "04" { //化验费 laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() laboratoryCostSelfTotal, _ = decimal.NewFromFloat(laboratoryCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() laboratory_fulamt_ownpay_amt, _ = decimal.NewFromFloat(laboratory_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() if item.ChrgitmLv == "1" { laboratory_claa_sunmfee, _ = decimal.NewFromFloat(laboratory_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() } if item.ChrgitmLv == "2" { laboratory_clab_amt, _ = decimal.NewFromFloat(laboratory_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() } if item.ChrgitmLv == "3" { laboratory_other_amt, _ = decimal.NewFromFloat(laboratory_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() } } if item.MedChrgitmType == "05" { //治疗费 treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() treat_fulamt_ownpay_amt, _ = decimal.NewFromFloat(treat_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() if item.ChrgitmLv == "1" { treat_claa_sunmfee, _ = decimal.NewFromFloat(treat_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() } if item.ChrgitmLv == "2" { treat_clab_amt, _ = decimal.NewFromFloat(treat_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() } if item.ChrgitmLv == "3" { treat_other_amt, _ = decimal.NewFromFloat(treat_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() } } if item.MedChrgitmType == "06" { //手术费 operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() operationCostSelfTotal, _ = decimal.NewFromFloat(operationCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() operation_fulamt_ownpay_amt, _ = decimal.NewFromFloat(operation_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() if item.ChrgitmLv == "1" { operation_claa_sunmfee, _ = decimal.NewFromFloat(operation_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() } if item.ChrgitmLv == "2" { operation_clab_amt, _ = decimal.NewFromFloat(operation_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() } if item.ChrgitmLv == "3" { operation_other_amt, _ = decimal.NewFromFloat(operation_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() } } if item.MedChrgitmType == "07" { //手术费 nursingCostTotal, _ = decimal.NewFromFloat(nursingCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() nursingCostSelfTotal, _ = decimal.NewFromFloat(nursingCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() nursingCostPartSelfTotal, _ = decimal.NewFromFloat(nursingCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() nursing_fulamt_ownpay_amt, _ = decimal.NewFromFloat(nursing_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() if item.ChrgitmLv == "1" { nursing_claa_sunmfee, _ = decimal.NewFromFloat(nursing_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() } if item.ChrgitmLv == "2" { nursing_clab_amt, _ = decimal.NewFromFloat(nursing_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() } if item.ChrgitmLv == "3" { nursing_other_amt, _ = decimal.NewFromFloat(nursing_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() } } if item.MedChrgitmType == "08" { //材料费 materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() material_fulamt_ownpay_amt, _ = decimal.NewFromFloat(material_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() if item.ChrgitmLv == "1" { material_claa_sunmfee, _ = decimal.NewFromFloat(material_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() } if item.ChrgitmLv == "2" { material_clab_amt, _ = decimal.NewFromFloat(material_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() } if item.ChrgitmLv == "3" { material_other_amt, _ = decimal.NewFromFloat(material_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() } } if item.MedChrgitmType == "09" { //西药费 westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() westernMedicineCostSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() westernMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() westernMedicine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(westernMedicine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() if item.ChrgitmLv == "1" { westernMedicine_claa_sunmfee, _ = decimal.NewFromFloat(westernMedicine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() } if item.ChrgitmLv == "2" { westernMedicine_clab_amt, _ = decimal.NewFromFloat(westernMedicine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() } if item.ChrgitmLv == "3" { westernMedicine_other_amt, _ = decimal.NewFromFloat(westernMedicine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() } } if item.MedChrgitmType == "10" { //中药饮片 chineseMedicineCostTotal, _ = decimal.NewFromFloat(chineseMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() chineseMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() chineseMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() chinese_medicine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(chinese_medicine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() if item.ChrgitmLv == "1" { chinese_medicine_claa_sunmfee, _ = decimal.NewFromFloat(chinese_medicine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() } if item.ChrgitmLv == "2" { chinese_medicine_clab_amt, _ = decimal.NewFromFloat(chinese_medicine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() } if item.ChrgitmLv == "3" { chinese_medicine_other_amt, _ = decimal.NewFromFloat(chinese_medicine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() } } if item.MedChrgitmType == "11" { //中成费 chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() chineseTraditionalMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() chineseTraditionalMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() chineseTraditional_fulamt_ownpay_amt, _ = decimal.NewFromFloat(chineseTraditional_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() if item.ChrgitmLv == "1" { chineseTraditional_claa_sunmfee, _ = decimal.NewFromFloat(chineseTraditional_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() } if item.ChrgitmLv == "2" { chineseTraditional_clab_amt, _ = decimal.NewFromFloat(chineseTraditional_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() } if item.ChrgitmLv == "3" { chineseTraditional_other_amt, _ = decimal.NewFromFloat(chineseTraditional_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() } } if item.MedChrgitmType == "12" { //中成费 commonlyTreatmentCostTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() commonlyTreatmentCostSelfTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() commonlyTreatmentCostPartSelfTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() commonly_treatment_fulamt_ownpay_amt, _ = decimal.NewFromFloat(commonly_treatment_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() if item.ChrgitmLv == "1" { commonly_treatment_claa_sunmfee, _ = decimal.NewFromFloat(commonly_treatment_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() } if item.ChrgitmLv == "2" { commonly_treatment_clab_amt, _ = decimal.NewFromFloat(commonly_treatment_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() } if item.ChrgitmLv == "3" { commonly_treatment_other_amt, _ = decimal.NewFromFloat(commonly_treatment_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() } } if item.MedChrgitmType == "13" { //中成费 registerCostTotal, _ = decimal.NewFromFloat(registerCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() registerCostSelfTotal, _ = decimal.NewFromFloat(registerCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() registerPartSelfTotal, _ = decimal.NewFromFloat(registerPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() register_fulamt_ownpay_amt, _ = decimal.NewFromFloat(register_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() if item.ChrgitmLv == "1" { register_claa_sunmfee, _ = decimal.NewFromFloat(register_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() } if item.ChrgitmLv == "2" { register_clab_amt, _ = decimal.NewFromFloat(register_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() } if item.ChrgitmLv == "3" { register_other_amt, _ = decimal.NewFromFloat(register_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() } } if item.MedChrgitmType == "14" { //其他费 otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() otherCostSelfTotal, _ = decimal.NewFromFloat(otherCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() otherCostPartSelfTotal, _ = decimal.NewFromFloat(otherCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() other_fulamt_ownpay_amt, _ = decimal.NewFromFloat(other_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() if item.ChrgitmLv == "1" { other_claa_sunmfee, _ = decimal.NewFromFloat(other_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() } if item.ChrgitmLv == "2" { other_clab_amt, _ = decimal.NewFromFloat(other_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() } if item.ChrgitmLv == "3" { other_other_amt, _ = decimal.NewFromFloat(other_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() } } } var iteminfoStructs []service.IteminfoStruct if bedCostTotal != 0 { iteminfo.MedChrgitm = "01" iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt iteminfo.Amt = bedCostTotal iteminfo.ClaaSumfee = bed_claa_sunmfee iteminfo.ClabAmt = bed_clab_amt iteminfo.OthAmt = bed_other_amt iteminfoStructs = append(iteminfoStructs, iteminfo) } if examineCostTotal != 0 { iteminfo.MedChrgitm = "02" iteminfo.FulamtOwnpayAmt = examine_fulamt_ownpay_amt iteminfo.Amt = examineCostTotal iteminfo.ClaaSumfee = examine_claa_sunmfee iteminfo.ClabAmt = examine_clab_amt iteminfo.OthAmt = examine_other_amt //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo) iteminfoStructs = append(iteminfoStructs, iteminfo) } if checkCostTotal != 0 { iteminfo.MedChrgitm = "03" iteminfo.FulamtOwnpayAmt = check_fulamt_ownpay_amt iteminfo.Amt = checkCostTotal iteminfo.ClaaSumfee = check_claa_sunmfee iteminfo.ClabAmt = check_clab_amt iteminfo.OthAmt = check_other_amt iteminfoStructs = append(iteminfoStructs, iteminfo) } if laboratoryCostTotal != 0 { iteminfo.MedChrgitm = "04" iteminfo.FulamtOwnpayAmt = laboratory_fulamt_ownpay_amt iteminfo.Amt = laboratoryCostTotal iteminfo.ClaaSumfee = laboratory_claa_sunmfee iteminfo.ClabAmt = laboratory_clab_amt iteminfo.OthAmt = laboratory_other_amt iteminfoStructs = append(iteminfoStructs, iteminfo) //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo) } if treatCostTotal != 0 { iteminfo.MedChrgitm = "05" iteminfo.FulamtOwnpayAmt = treat_fulamt_ownpay_amt iteminfo.Amt = treatCostTotal iteminfo.ClaaSumfee = treat_claa_sunmfee iteminfo.ClabAmt = treat_clab_amt iteminfo.OthAmt = treat_other_amt iteminfoStructs = append(iteminfoStructs, iteminfo) //(struct4101.IteminfoStruct, iteminfo) //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo) } if operationCostTotal != 0 { iteminfo.MedChrgitm = "06" iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt iteminfo.Amt = operationCostTotal iteminfo.ClaaSumfee = operation_claa_sunmfee iteminfo.ClabAmt = operation_clab_amt iteminfo.OthAmt = operation_other_amt //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo) iteminfoStructs = append(iteminfoStructs, iteminfo) } if nursingCostTotal != 0 { iteminfo.MedChrgitm = "07" iteminfo.FulamtOwnpayAmt = nursing_fulamt_ownpay_amt iteminfo.Amt = nursingCostTotal iteminfo.ClaaSumfee = nursing_claa_sunmfee iteminfo.ClabAmt = nursing_clab_amt iteminfo.OthAmt = nursing_other_amt iteminfoStructs = append(iteminfoStructs, iteminfo) } if materialCostTotal != 0 { iteminfo.MedChrgitm = "08" iteminfo.FulamtOwnpayAmt = material_fulamt_ownpay_amt iteminfo.Amt = materialCostTotal iteminfo.ClaaSumfee = material_claa_sunmfee iteminfo.ClabAmt = material_clab_amt iteminfo.OthAmt = material_other_amt //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo) iteminfoStructs = append(iteminfoStructs, iteminfo) } if westernMedicineCostTotal != 0 { iteminfo.MedChrgitm = "09" iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt iteminfo.Amt = westernMedicineCostTotal iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee iteminfo.ClabAmt = westernMedicine_clab_amt iteminfo.OthAmt = westernMedicine_other_amt //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo) iteminfoStructs = append(iteminfoStructs, iteminfo) } if chineseMedicineCostTotal != 0 { iteminfo.MedChrgitm = "10" iteminfo.FulamtOwnpayAmt = chinese_medicine_fulamt_ownpay_amt iteminfo.Amt = chineseMedicineCostTotal iteminfo.ClaaSumfee = chinese_medicine_claa_sunmfee iteminfo.ClabAmt = chinese_medicine_clab_amt iteminfo.OthAmt = chinese_medicine_other_amt //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo) iteminfoStructs = append(iteminfoStructs, iteminfo) } if chineseTraditionalMedicineCostTotal != 0 { iteminfo.MedChrgitm = "11" iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt iteminfo.Amt = westernMedicineCostTotal iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee iteminfo.ClabAmt = westernMedicine_clab_amt iteminfo.OthAmt = westernMedicine_other_amt //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo) iteminfoStructs = append(iteminfoStructs, iteminfo) } if commonlyTreatmentCostTotal != 0 { iteminfo.MedChrgitm = "12" iteminfo.FulamtOwnpayAmt = commonly_treatment_fulamt_ownpay_amt iteminfo.Amt = commonlyTreatmentCostTotal iteminfo.ClaaSumfee = commonly_treatment_claa_sunmfee iteminfo.ClabAmt = commonly_treatment_clab_amt iteminfo.OthAmt = commonly_treatment_other_amt //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo) iteminfoStructs = append(iteminfoStructs, iteminfo) } if registerCostTotal != 0 { iteminfo.MedChrgitm = "13" iteminfo.FulamtOwnpayAmt = register_fulamt_ownpay_amt iteminfo.Amt = registerCostTotal iteminfo.ClaaSumfee = register_claa_sunmfee iteminfo.ClabAmt = register_clab_amt iteminfo.OthAmt = register_other_amt //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo) iteminfoStructs = append(iteminfoStructs, iteminfo) } if otherCostTotal != 0 { iteminfo.MedChrgitm = "14" iteminfo.FulamtOwnpayAmt = other_fulamt_ownpay_amt iteminfo.Amt = otherCostTotal iteminfo.ClaaSumfee = other_claa_sunmfee iteminfo.ClabAmt = other_clab_amt iteminfo.OthAmt = other_other_amt //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo) iteminfoStructs = append(iteminfoStructs, iteminfo) } struct4101.IteminfoStruct = iteminfoStructs time_arr := strings.Split(order.SetlTime, " ") struct4101.AdmTime = time_arr[0] struct4101.AdmEndTime = time_arr[0] struct4101.DoctorName = doctor.UserName struct4101.DoctorCode = doctor.DoctorNumber struct4101.Ntly = "中国" struct4101.AdmCaty = "A03.06" var res ResultSeventeen if miConfig.MdtrtareaAdmvs == "421300" { data := make(map[string]interface{}) data["struct4101"] = struct4101 data["secret_key"] = miConfig.SecretKey data["org_name"] = miConfig.OrgName data["opera"] = curRoles.UserName data["code"] = miConfig.Code data["insuplc_admdvs"] = miConfig.InsuplcAdmdvs data["mdtrtarea_admvs"] = miConfig.MdtrtareaAdmvs client := &http.Client{} bytesData, _ := json.Marshal(data) req, _ := http.NewRequest("POST", "http://192.168.124.4:9532/"+"hbyb/4101", bytes.NewReader(bytesData)) resp, _ := client.Do(req) defer resp.Body.Close() body, ioErr := ioutil.ReadAll(resp.Body) if ioErr != nil { //utils.ErrorLog("接口返回数据读取失败: %v", ioErr) //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException) return } var respJSON map[string]interface{} if err := json.Unmarshal([]byte(body), &respJSON); err != nil { //utils.ErrorLog("接口返回数据解析JSON失败: %v", err) //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException) return } respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{}) userJSONBytes, _ := json.Marshal(respJSON) if err := json.Unmarshal(userJSONBytes, &res); err != nil { //utils.ErrorLog("解析失败:%v", err) //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException) errlog := &models.HisOrderError{ UserOrgId: org_id, Ctime: time.Now().Unix(), Mtime: time.Now().Unix(), ErrMsg: res.ErrMsg + "解析失败", Status: 1, PatientId: order_id, Stage: 10088, } service.CreateErrMsgLog(errlog) continue } } else { result := service.Gdyb4101(struct4101, miConfig.SecretKey, miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, org_id) fmt.Println(result) var dat map[string]interface{} if err := json.Unmarshal([]byte(result), &dat); err == nil { fmt.Println(dat) } else { fmt.Println(err) } userJSONBytes, _ := json.Marshal(dat) if err := json.Unmarshal(userJSONBytes, &res); err != nil { //utils.ErrorLog("解析失败:%v", err) //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException) //adminUser := c.GetAdminUserInfo() errlog := &models.HisOrderError{ UserOrgId: org_id, Ctime: time.Now().Unix(), Mtime: time.Now().Unix(), ErrMsg: res.ErrMsg + "解析失败", Status: 1, PatientId: order_id, Stage: 10106, } service.CreateErrMsgLog(errlog) continue } } if res.Infcode != 0 { //adminUser := c.GetAdminUserInfo() errlog := &models.HisOrderError{ UserOrgId: org_id, Ctime: time.Now().Unix(), Mtime: time.Now().Unix(), ErrMsg: res.ErrMsg, Status: 1, PatientId: order_id, Stage: 10106, } service.CreateErrMsgLog(errlog) continue } else { hisFundSettleListResult := &models.HisFundSettleListResult{ Number: res.Output.SetlListId, Status: 1, Ctime: time.Now().Unix(), Mtime: time.Now().Unix(), UserOrgId: org_id, IsUpload: 1, OrderId: order_id, } service.CreateUploadRecord(hisFundSettleListResult) continue } } } //func UploadSettleList(org_id int64) { // orders, _ := service.GetAllHisOrder(org_id) // for _, item := range orders { // order_id := item.ID // order, _ := service.GetHisOrderByIDTwo(order_id) // roles, _ := service.GetDoctorListTwo(org_id) // his, _ := service.GetHisPatientByNumber(order.MdtrtId) // admin, _ := service.GetAdminUserByUserID(roles[0].AdminUserId) // curRoles, _ := service.GetAdminUserInfo(org_id) // depart, _ := service.GetDepartMentDetail(curRoles.DepartmentId) // miConfig, _ := service.FindMedicalInsuranceInfo(org_id) // // result, _ := service.GetHisFundSettleListResult(order_id) // //判断是否已经上传过医保,上传过就跳过该条记录 // if result.ID > 0 { // continue // } // // if his.BalanceAccountsType == 2 { // continue // } // // struct4101 := service.Struct4101{ // PsnNo: order.PsnNo, // MdtrtId: order.MdtrtId, // SetlId: order.SetlId, // PsnName: order.PsnName, // Gend: order.Gend, // Brdy: his.Brdy, // Age: his.Age, // Naty: order.Naty, // PatnCertType: "01", // Certno: order.Certno, // Prfs: "90", // ConerName: roles[0].UserName, // PatnRlts: "99", // ConerAddr: miConfig.OrgName, // ConerTel: admin.Mobile, // HiType: order.Insutype, // Insuplc: his.InsuplcAdmdvs, // MaindiagFlag: "1", // BillCode: order.FaPiaoCode, // BillNo: order.FaPiaoNumber, // BizSn: order.Number, // PsnSelfPay: order.PsnPartAmt, // PsnOwnPay: order.PsnPartAmt, // AcctPay: order.AcctPay, // PsnCashpay: order.PsnCashPay, // HiPaymtd: "1", // Hsorg: his.InsuplcAdmdvs, // HsorgOpter: his.InsuplcAdmdvs, // MedinsFillPsn: curRoles.UserName, // MedinsFillDept: depart.Name, // IptMedType: "2", // } // struct4101.SetlBegnDate = order.SetlTime // struct4101.SetlEndDate = order.SetlTime // //if order.SettleType == 1 { // // t := time.Unix(int64(order.SettleAccountsDate), 0) // // dateStr := t.Format("2006-01-02") // // struct4101.SetlBegnDate = dateStr // // struct4101.SetlEndDate = dateStr // //} else { // // t := time.Unix(int64(order.SettleStartTime), 0) // // t2 := time.Unix(int64(order.SettleEndTime), 0) // // dateStartStr := t.Format("2006-01-02") // // dateEndStr := t2.Format("2006-01-02") // // struct4101.SetlBegnDate = dateStartStr // // struct4101.SetlEndDate = dateEndStr // //} // // var rf []CustomFundPay // json.Unmarshal([]byte(order.SetlDetail), &rf) // // var tempFunPays []service.CustomStruct // var tempFunPay610100 service.CustomStruct // // for _, item := range rf { // if item.FundPayType == "610100" { // tempFunPay610100.FundPayamt, _ = decimal.NewFromFloat(tempFunPay610100.FundPayamt).Add(decimal.NewFromFloat(item.FundPayamt)).Float64() // tempFunPay610100.FundPayType = item.FundPayType // } else { // var tempFunPay service.CustomStruct // tempFunPay.FundPayamt = item.FundPayamt // tempFunPay.FundPayType = item.FundPayType // tempFunPays = append(tempFunPays, tempFunPay) // } // } // tempFunPays = append(tempFunPays, tempFunPay610100) // struct4101.CustomStruct = tempFunPays // // var tempOpspdiseinfos []service.OpspdiseinfoStruct // var tempOpspdiseinfo2 service.OpspdiseinfoStruct // //sickConfig, _ := service.FindDiagnoseById(his.Diagnosis) // // diagnosis_ids := strings.Split(his.Diagnosis, ",") // var config []*models.HisXtDiagnoseConfig // for _, item := range diagnosis_ids { // id, _ := strconv.ParseInt(item, 10, 64) // diagnosisConfig, _ := service.FindDiagnoseById(id) // config = append(config, &diagnosisConfig) // } // // for _, item := range config { // var tempOpspdiseinfo service.OpspdiseinfoStruct // tempOpspdiseinfo.DiagCode = item.CountryCode // tempOpspdiseinfo.DiagName = item.CountryContentName // tempOpspdiseinfo.MaindiagFlag = "1" // tempOpspdiseinfo.OprnOprtCode = "" // tempOpspdiseinfo.OprnOprtName = "" // tempOpspdiseinfos = append(tempOpspdiseinfos, tempOpspdiseinfo) // } // // sickConfigTwo, _ := service.FindSickById(his.SickType) // tempOpspdiseinfo2.DiagCode = sickConfigTwo.ContentCode // tempOpspdiseinfo2.DiagName = sickConfigTwo.CountryContentName // tempOpspdiseinfo2.MaindiagFlag = "2" // tempOpspdiseinfo2.OprnOprtCode = "" // tempOpspdiseinfo2.OprnOprtName = "" // tempOpspdiseinfos = append(tempOpspdiseinfos, tempOpspdiseinfo2) // struct4101.OpspdiseinfoStruct = tempOpspdiseinfos // // var iteminfo service.IteminfoStruct // // var bedCostTotal float64 = 0 //床位总费 // var bedCostSelfTotal float64 = 0 //床位自费 // var bedCostPartSelfTotal float64 = 0 //床位部分项目自费 // // var examineCostTotal float64 = 0 //诊查总费 // var examineCostSelfTotal float64 = 0 //诊查自费 // var examineCostPartSelfTotal float64 = 0 //诊查部分项目自费 // // var nursingCostTotal float64 = 0 //护理总费 // var nursingCostSelfTotal float64 = 0 //护理自费 // var nursingCostPartSelfTotal float64 = 0 //护理部分项目自费 // // var chineseMedicineCostTotal float64 = 0 //中成药 // var chineseMedicineCostSelfTotal float64 = 0 //中成药 // var chineseMedicineCostPartSelfTotal float64 = 0 //中成药 // // var commonlyTreatmentCostTotal float64 = 0 //一般诊疗费 // var commonlyTreatmentCostSelfTotal float64 = 0 //一般诊疗费 // var commonlyTreatmentCostPartSelfTotal float64 = 0 //一般诊疗费 // // var registerCostTotal float64 = 0 //一般诊疗费 // var registerCostSelfTotal float64 = 0 //一般诊疗费 // var registerPartSelfTotal float64 = 0 //一般诊疗费 // // var operationCostTotal float64 = 0 //手术费 // var operationCostSelfTotal float64 = 0 //手术费 // var operationCostPartSelfTotal float64 = 0 //手术费 // // var otherCostTotal float64 = 0 //其他费用 // var otherCostSelfTotal float64 = 0 //其他费用 // var otherCostPartSelfTotal float64 = 0 //其他费用 // // var materialCostTotal float64 = 0 //材料费 // var materialCostSelfTotal float64 = 0 //材料费 // var materialCostPartSelfTotal float64 = 0 //材料费 // // var westernMedicineCostTotal float64 = 0 //西药费 // var westernMedicineCostSelfTotal float64 = 0 //西药费 // var westernMedicineCostPartSelfTotal float64 = 0 //西药费 // // var chineseTraditionalMedicineCostTotal float64 = 0 //中成药 // var chineseTraditionalMedicineCostSelfTotal float64 = 0 //中成药 // var chineseTraditionalMedicineCostPartSelfTotal float64 = 0 //中成药 // // var checkCostTotal float64 = 0 //检查费 // var checkCostSelfTotal float64 = 0 //检查费 // var checkCostPartSelfTotal float64 = 0 //检查费 // // var laboratoryCostTotal float64 = 0 //化验费 // var laboratoryCostSelfTotal float64 = 0 //化验费 // var laboratoryCostPartSelfTotal float64 = 0 //化验费 // // var treatCostTotal float64 = 0 //治疗费用 // var treatCostSelfTotal float64 = 0 //治疗费用 // var treatCostPartSelfTotal float64 = 0 //治疗费用 // // decimal.DivisionPrecision = 2 // // var bed_fulamt_ownpay_amt float64 = 0 // // var examine_fulamt_ownpay_amt float64 = 0 // // var nursing_fulamt_ownpay_amt float64 = 0 // // var chinese_medicine_fulamt_ownpay_amt float64 = 0 // // var commonly_treatment_fulamt_ownpay_amt float64 = 0 // // var register_fulamt_ownpay_amt float64 = 0 // // var operation_fulamt_ownpay_amt float64 = 0 // var other_fulamt_ownpay_amt float64 = 0 // var westernMedicine_fulamt_ownpay_amt float64 = 0 // var chineseTraditional_fulamt_ownpay_amt float64 = 0 // var check_fulamt_ownpay_amt float64 = 0 // var material_fulamt_ownpay_amt float64 = 0 // var laboratory_fulamt_ownpay_amt float64 = 0 // var treat_fulamt_ownpay_amt float64 = 0 // // var bed_claa_sunmfee float64 = 0 // var bed_clab_amt float64 = 0 // var bed_other_amt float64 = 0 // // var examine_claa_sunmfee float64 = 0 // var examine_clab_amt float64 = 0 // var examine_other_amt float64 = 0 // // var nursing_claa_sunmfee float64 = 0 // var nursing_clab_amt float64 = 0 // var nursing_other_amt float64 = 0 // // var chinese_medicine_claa_sunmfee float64 = 0 // var chinese_medicine_clab_amt float64 = 0 // var chinese_medicine_other_amt float64 = 0 // // var commonly_treatment_claa_sunmfee float64 = 0 // var commonly_treatment_clab_amt float64 = 0 // var commonly_treatment_other_amt float64 = 0 // // var operation_claa_sunmfee float64 = 0 // var operation_clab_amt float64 = 0 // var operation_other_amt float64 = 0 // // var other_claa_sunmfee float64 = 0 // var other_clab_amt float64 = 0 // var other_other_amt float64 = 0 // // var westernMedicine_claa_sunmfee float64 = 0 // var westernMedicine_clab_amt float64 = 0 // var westernMedicine_other_amt float64 = 0 // // var chineseTraditional_claa_sunmfee float64 = 0 // var chineseTraditional_clab_amt float64 = 0 // var chineseTraditional_other_amt float64 = 0 // // var check_claa_sunmfee float64 = 0 // var check_clab_amt float64 = 0 // var check_other_amt float64 = 0 // // var material_claa_sunmfee float64 = 0 // var material_clab_amt float64 = 0 // var material_other_amt float64 = 0 // // var laboratory_claa_sunmfee float64 = 0 // var laboratory_clab_amt float64 = 0 // var laboratory_other_amt float64 = 0 // // var treat_claa_sunmfee float64 = 0 // var treat_clab_amt float64 = 0 // var treat_other_amt float64 = 0 // // var register_claa_sunmfee float64 = 0 // var register_clab_amt float64 = 0 // var register_other_amt float64 = 0 // // for _, item := range order.HisOrderInfo { // if item.MedChrgitmType == "01" { //床位费 // bedCostTotal, _ = decimal.NewFromFloat(bedCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // bedCostSelfTotal, _ = decimal.NewFromFloat(bedCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // bedCostPartSelfTotal, _ = decimal.NewFromFloat(bedCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // bed_fulamt_ownpay_amt, _ = decimal.NewFromFloat(bed_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() // if item.ChrgitmLv == "1" { // bed_claa_sunmfee, _ = decimal.NewFromFloat(bed_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // } // if item.ChrgitmLv == "2" { // bed_clab_amt, _ = decimal.NewFromFloat(bed_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // // } // if item.ChrgitmLv == "3" { // bed_other_amt, _ = decimal.NewFromFloat(bed_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // } // // } // // if item.MedChrgitmType == "02" { //诊查 // examineCostTotal, _ = decimal.NewFromFloat(examineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // examineCostSelfTotal, _ = decimal.NewFromFloat(examineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // examineCostPartSelfTotal, _ = decimal.NewFromFloat(examineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // examine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(examine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() // if item.ChrgitmLv == "1" { // examine_claa_sunmfee, _ = decimal.NewFromFloat(examine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // } // if item.ChrgitmLv == "2" { // examine_clab_amt, _ = decimal.NewFromFloat(examine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // // } // if item.ChrgitmLv == "3" { // examine_other_amt, _ = decimal.NewFromFloat(examine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // } // // } // // if item.MedChrgitmType == "03" { //检查费 // checkCostTotal, _ = decimal.NewFromFloat(checkCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // checkCostSelfTotal, _ = decimal.NewFromFloat(checkCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // checkCostPartSelfTotal, _ = decimal.NewFromFloat(checkCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // check_fulamt_ownpay_amt, _ = decimal.NewFromFloat(check_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() // if item.ChrgitmLv == "1" { // // check_claa_sunmfee, _ = decimal.NewFromFloat(check_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // // } // if item.ChrgitmLv == "2" { // check_clab_amt, _ = decimal.NewFromFloat(check_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // // } // if item.ChrgitmLv == "3" { // check_other_amt, _ = decimal.NewFromFloat(check_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // } // } // // if item.MedChrgitmType == "04" { //化验费 // laboratoryCostTotal, _ = decimal.NewFromFloat(laboratoryCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // laboratoryCostSelfTotal, _ = decimal.NewFromFloat(laboratoryCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // laboratoryCostPartSelfTotal, _ = decimal.NewFromFloat(laboratoryCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // laboratory_fulamt_ownpay_amt, _ = decimal.NewFromFloat(laboratory_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() // if item.ChrgitmLv == "1" { // // laboratory_claa_sunmfee, _ = decimal.NewFromFloat(laboratory_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // // } // if item.ChrgitmLv == "2" { // laboratory_clab_amt, _ = decimal.NewFromFloat(laboratory_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // // } // if item.ChrgitmLv == "3" { // laboratory_other_amt, _ = decimal.NewFromFloat(laboratory_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // } // } // // if item.MedChrgitmType == "05" { //治疗费 // treatCostTotal, _ = decimal.NewFromFloat(treatCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // treatCostSelfTotal, _ = decimal.NewFromFloat(treatCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // treatCostPartSelfTotal, _ = decimal.NewFromFloat(treatCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // treat_fulamt_ownpay_amt, _ = decimal.NewFromFloat(treat_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() // if item.ChrgitmLv == "1" { // // treat_claa_sunmfee, _ = decimal.NewFromFloat(treat_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // // } // if item.ChrgitmLv == "2" { // treat_clab_amt, _ = decimal.NewFromFloat(treat_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // // } // if item.ChrgitmLv == "3" { // treat_other_amt, _ = decimal.NewFromFloat(treat_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // } // } // // if item.MedChrgitmType == "06" { //手术费 // operationCostTotal, _ = decimal.NewFromFloat(operationCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // operationCostSelfTotal, _ = decimal.NewFromFloat(operationCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // operationCostPartSelfTotal, _ = decimal.NewFromFloat(operationCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // operation_fulamt_ownpay_amt, _ = decimal.NewFromFloat(operation_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() // // if item.ChrgitmLv == "1" { // // operation_claa_sunmfee, _ = decimal.NewFromFloat(operation_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // // } // if item.ChrgitmLv == "2" { // operation_clab_amt, _ = decimal.NewFromFloat(operation_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // // } // if item.ChrgitmLv == "3" { // operation_other_amt, _ = decimal.NewFromFloat(operation_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // } // } // // if item.MedChrgitmType == "07" { //手术费 // nursingCostTotal, _ = decimal.NewFromFloat(nursingCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // nursingCostSelfTotal, _ = decimal.NewFromFloat(nursingCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // nursingCostPartSelfTotal, _ = decimal.NewFromFloat(nursingCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // nursing_fulamt_ownpay_amt, _ = decimal.NewFromFloat(nursing_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() // // if item.ChrgitmLv == "1" { // // nursing_claa_sunmfee, _ = decimal.NewFromFloat(nursing_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // // } // if item.ChrgitmLv == "2" { // nursing_clab_amt, _ = decimal.NewFromFloat(nursing_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // // } // if item.ChrgitmLv == "3" { // nursing_other_amt, _ = decimal.NewFromFloat(nursing_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // } // } // // if item.MedChrgitmType == "08" { //材料费 // materialCostTotal, _ = decimal.NewFromFloat(materialCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // materialCostSelfTotal, _ = decimal.NewFromFloat(materialCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // materialCostPartSelfTotal, _ = decimal.NewFromFloat(materialCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // material_fulamt_ownpay_amt, _ = decimal.NewFromFloat(material_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() // if item.ChrgitmLv == "1" { // // material_claa_sunmfee, _ = decimal.NewFromFloat(material_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // // } // if item.ChrgitmLv == "2" { // material_clab_amt, _ = decimal.NewFromFloat(material_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // // } // if item.ChrgitmLv == "3" { // material_other_amt, _ = decimal.NewFromFloat(material_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // } // } // if item.MedChrgitmType == "09" { //西药费 // westernMedicineCostTotal, _ = decimal.NewFromFloat(westernMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // westernMedicineCostSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // westernMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(westernMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // westernMedicine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(westernMedicine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() // if item.ChrgitmLv == "1" { // westernMedicine_claa_sunmfee, _ = decimal.NewFromFloat(westernMedicine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // } // if item.ChrgitmLv == "2" { // westernMedicine_clab_amt, _ = decimal.NewFromFloat(westernMedicine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // } // if item.ChrgitmLv == "3" { // westernMedicine_other_amt, _ = decimal.NewFromFloat(westernMedicine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // } // } // if item.MedChrgitmType == "10" { //中药饮片 // chineseMedicineCostTotal, _ = decimal.NewFromFloat(chineseMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // chineseMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // chineseMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // chinese_medicine_fulamt_ownpay_amt, _ = decimal.NewFromFloat(chinese_medicine_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() // if item.ChrgitmLv == "1" { // chinese_medicine_claa_sunmfee, _ = decimal.NewFromFloat(chinese_medicine_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // } // if item.ChrgitmLv == "2" { // chinese_medicine_clab_amt, _ = decimal.NewFromFloat(chinese_medicine_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // } // if item.ChrgitmLv == "3" { // chinese_medicine_other_amt, _ = decimal.NewFromFloat(chinese_medicine_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // } // } // // if item.MedChrgitmType == "11" { //中成费 // chineseTraditionalMedicineCostTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // chineseTraditionalMedicineCostSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // chineseTraditionalMedicineCostPartSelfTotal, _ = decimal.NewFromFloat(chineseTraditionalMedicineCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // chineseTraditional_fulamt_ownpay_amt, _ = decimal.NewFromFloat(chineseTraditional_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() // if item.ChrgitmLv == "1" { // // chineseTraditional_claa_sunmfee, _ = decimal.NewFromFloat(chineseTraditional_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // // } // if item.ChrgitmLv == "2" { // chineseTraditional_clab_amt, _ = decimal.NewFromFloat(chineseTraditional_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // // } // if item.ChrgitmLv == "3" { // chineseTraditional_other_amt, _ = decimal.NewFromFloat(chineseTraditional_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // } // } // // if item.MedChrgitmType == "12" { //中成费 // commonlyTreatmentCostTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // commonlyTreatmentCostSelfTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // commonlyTreatmentCostPartSelfTotal, _ = decimal.NewFromFloat(commonlyTreatmentCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // commonly_treatment_fulamt_ownpay_amt, _ = decimal.NewFromFloat(commonly_treatment_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() // if item.ChrgitmLv == "1" { // // commonly_treatment_claa_sunmfee, _ = decimal.NewFromFloat(commonly_treatment_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // // } // if item.ChrgitmLv == "2" { // commonly_treatment_clab_amt, _ = decimal.NewFromFloat(commonly_treatment_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // // } // if item.ChrgitmLv == "3" { // commonly_treatment_other_amt, _ = decimal.NewFromFloat(commonly_treatment_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // } // } // // if item.MedChrgitmType == "13" { //中成费 // registerCostTotal, _ = decimal.NewFromFloat(registerCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // registerCostSelfTotal, _ = decimal.NewFromFloat(registerCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // registerPartSelfTotal, _ = decimal.NewFromFloat(registerPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // register_fulamt_ownpay_amt, _ = decimal.NewFromFloat(register_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() // if item.ChrgitmLv == "1" { // // register_claa_sunmfee, _ = decimal.NewFromFloat(register_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // // } // if item.ChrgitmLv == "2" { // register_clab_amt, _ = decimal.NewFromFloat(register_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // // } // if item.ChrgitmLv == "3" { // register_other_amt, _ = decimal.NewFromFloat(register_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // } // } // // if item.MedChrgitmType == "14" { //其他费 // otherCostTotal, _ = decimal.NewFromFloat(otherCostTotal).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // otherCostSelfTotal, _ = decimal.NewFromFloat(otherCostSelfTotal).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // otherCostPartSelfTotal, _ = decimal.NewFromFloat(otherCostPartSelfTotal).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // other_fulamt_ownpay_amt, _ = decimal.NewFromFloat(other_fulamt_ownpay_amt).Add(decimal.NewFromFloat(item.FulamtOwnpayAmt)).Float64() // if item.ChrgitmLv == "1" { // other_claa_sunmfee, _ = decimal.NewFromFloat(other_claa_sunmfee).Add(decimal.NewFromFloat(item.DetItemFeeSumamt)).Float64() // // } // if item.ChrgitmLv == "2" { // other_clab_amt, _ = decimal.NewFromFloat(other_clab_amt).Add(decimal.NewFromFloat(item.PreselfpayAmt)).Float64() // // } // if item.ChrgitmLv == "3" { // other_other_amt, _ = decimal.NewFromFloat(other_other_amt).Add(decimal.NewFromFloat(item.OverlmtAmt)).Float64() // } // } // // } // // var iteminfoStructs []service.IteminfoStruct // // if bedCostTotal != 0 { // iteminfo.MedChrgitm = "01" // iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt // iteminfo.Amt = bedCostTotal // iteminfo.ClaaSumfee = bed_claa_sunmfee // iteminfo.ClabAmt = bed_clab_amt // iteminfo.OthAmt = bed_other_amt // iteminfoStructs = append(iteminfoStructs, iteminfo) // } // // if examineCostTotal != 0 { // iteminfo.MedChrgitm = "02" // iteminfo.FulamtOwnpayAmt = examine_fulamt_ownpay_amt // iteminfo.Amt = examineCostTotal // iteminfo.ClaaSumfee = examine_claa_sunmfee // iteminfo.ClabAmt = examine_clab_amt // iteminfo.OthAmt = examine_other_amt // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo) // iteminfoStructs = append(iteminfoStructs, iteminfo) // } // // if checkCostTotal != 0 { // iteminfo.MedChrgitm = "03" // iteminfo.FulamtOwnpayAmt = check_fulamt_ownpay_amt // iteminfo.Amt = checkCostTotal // iteminfo.ClaaSumfee = check_claa_sunmfee // iteminfo.ClabAmt = check_clab_amt // iteminfo.OthAmt = check_other_amt // iteminfoStructs = append(iteminfoStructs, iteminfo) // // } // // if laboratoryCostTotal != 0 { // iteminfo.MedChrgitm = "04" // iteminfo.FulamtOwnpayAmt = laboratory_fulamt_ownpay_amt // iteminfo.Amt = laboratoryCostTotal // iteminfo.ClaaSumfee = laboratory_claa_sunmfee // iteminfo.ClabAmt = laboratory_clab_amt // iteminfo.OthAmt = laboratory_other_amt // iteminfoStructs = append(iteminfoStructs, iteminfo) // // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo) // // } // // if treatCostTotal != 0 { // iteminfo.MedChrgitm = "05" // iteminfo.FulamtOwnpayAmt = treat_fulamt_ownpay_amt // iteminfo.Amt = treatCostTotal // iteminfo.ClaaSumfee = treat_claa_sunmfee // iteminfo.ClabAmt = treat_clab_amt // iteminfo.OthAmt = treat_other_amt // iteminfoStructs = append(iteminfoStructs, iteminfo) // //(struct4101.IteminfoStruct, iteminfo) // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo) // } // // if operationCostTotal != 0 { // iteminfo.MedChrgitm = "06" // iteminfo.FulamtOwnpayAmt = bed_fulamt_ownpay_amt // iteminfo.Amt = operationCostTotal // iteminfo.ClaaSumfee = operation_claa_sunmfee // iteminfo.ClabAmt = operation_clab_amt // iteminfo.OthAmt = operation_other_amt // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo) // iteminfoStructs = append(iteminfoStructs, iteminfo) // } // // if nursingCostTotal != 0 { // iteminfo.MedChrgitm = "07" // iteminfo.FulamtOwnpayAmt = nursing_fulamt_ownpay_amt // iteminfo.Amt = nursingCostTotal // iteminfo.ClaaSumfee = nursing_claa_sunmfee // iteminfo.ClabAmt = nursing_clab_amt // iteminfo.OthAmt = nursing_other_amt // iteminfoStructs = append(iteminfoStructs, iteminfo) // } // // if materialCostTotal != 0 { // iteminfo.MedChrgitm = "08" // iteminfo.FulamtOwnpayAmt = material_fulamt_ownpay_amt // iteminfo.Amt = materialCostTotal // iteminfo.ClaaSumfee = material_claa_sunmfee // iteminfo.ClabAmt = material_clab_amt // iteminfo.OthAmt = material_other_amt // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo) // iteminfoStructs = append(iteminfoStructs, iteminfo) // } // // if westernMedicineCostTotal != 0 { // iteminfo.MedChrgitm = "09" // iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt // iteminfo.Amt = westernMedicineCostTotal // iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee // iteminfo.ClabAmt = westernMedicine_clab_amt // iteminfo.OthAmt = westernMedicine_other_amt // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo) // iteminfoStructs = append(iteminfoStructs, iteminfo) // // } // // if chineseMedicineCostTotal != 0 { // iteminfo.MedChrgitm = "10" // iteminfo.FulamtOwnpayAmt = chinese_medicine_fulamt_ownpay_amt // iteminfo.Amt = chineseMedicineCostTotal // iteminfo.ClaaSumfee = chinese_medicine_claa_sunmfee // iteminfo.ClabAmt = chinese_medicine_clab_amt // iteminfo.OthAmt = chinese_medicine_other_amt // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo) // iteminfoStructs = append(iteminfoStructs, iteminfo) // // } // // if chineseTraditionalMedicineCostTotal != 0 { // iteminfo.MedChrgitm = "11" // iteminfo.FulamtOwnpayAmt = westernMedicine_fulamt_ownpay_amt // iteminfo.Amt = westernMedicineCostTotal // iteminfo.ClaaSumfee = westernMedicine_claa_sunmfee // iteminfo.ClabAmt = westernMedicine_clab_amt // iteminfo.OthAmt = westernMedicine_other_amt // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo) // iteminfoStructs = append(iteminfoStructs, iteminfo) // // } // // if commonlyTreatmentCostTotal != 0 { // iteminfo.MedChrgitm = "12" // iteminfo.FulamtOwnpayAmt = commonly_treatment_fulamt_ownpay_amt // iteminfo.Amt = commonlyTreatmentCostTotal // iteminfo.ClaaSumfee = commonly_treatment_claa_sunmfee // iteminfo.ClabAmt = commonly_treatment_clab_amt // iteminfo.OthAmt = commonly_treatment_other_amt // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo) // iteminfoStructs = append(iteminfoStructs, iteminfo) // // } // // if registerCostTotal != 0 { // iteminfo.MedChrgitm = "13" // iteminfo.FulamtOwnpayAmt = register_fulamt_ownpay_amt // iteminfo.Amt = registerCostTotal // iteminfo.ClaaSumfee = register_claa_sunmfee // iteminfo.ClabAmt = register_clab_amt // iteminfo.OthAmt = register_other_amt // //struct4101.IteminfoStruct = append(struct4101.IteminfoStruct, iteminfo) // iteminfoStructs = append(iteminfoStructs, iteminfo) // // } // // if otherCostTotal != 0 { // iteminfo.MedChrgitm = "14" // iteminfo.FulamtOwnpayAmt = other_fulamt_ownpay_amt // iteminfo.Amt = otherCostTotal // iteminfo.ClaaSumfee = other_claa_sunmfee // iteminfo.ClabAmt = other_clab_amt // iteminfo.OthAmt = other_other_amt // iteminfoStructs = append(iteminfoStructs, iteminfo) // // } // struct4101.IteminfoStruct = iteminfoStructs // struct4101.Ntly = "中国" // struct4101.AdmCaty = "A03.06" // result := service.Gdyb4101(struct4101, miConfig.SecretKey, miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, org_id) // fmt.Println(result) // // var dat map[string]interface{} // if err := json.Unmarshal([]byte(result), &dat); err == nil { // fmt.Println(dat) // } else { // fmt.Println(err) // } // userJSONBytes, _ := json.Marshal(dat) // var res ResultSeventeen // if err := json.Unmarshal(userJSONBytes, &res); err != nil { // utils.ErrorLog("解析失败:%v", err) // //c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException) // errlog := &models.HisOrderError{ // UserOrgId: org_id, // Ctime: time.Now().Unix(), // Mtime: time.Now().Unix(), // ErrMsg: res.ErrMsg + "解析失败", // Status: 1, // PatientId: order_id, // Stage: 120, // } // service.CreateErrMsgLog(errlog) // continue // } // // if res.Infcode != 0 { // errlog := &models.HisOrderError{ // UserOrgId: org_id, // Ctime: time.Now().Unix(), // Mtime: time.Now().Unix(), // ErrMsg: res.ErrMsg, // Status: 1, // PatientId: order_id, // Stage: 200, // } // service.CreateErrMsgLog(errlog) // continue // } else { // hisFundSettleListResult := &models.HisFundSettleListResult{ // Number: res.Output.SetlListId, // Status: 1, // Ctime: time.Now().Unix(), // Mtime: time.Now().Unix(), // UserOrgId: org_id, // IsUpload: 1, // OrderId: order_id, // } // service.CreateUploadRecord(hisFundSettleListResult) // continue // } // } //} //func CreateLog(miConfig models.MedicalInsuranceOrgConfig) { // Mkdir(miConfig.OrgName + "日志") // //org_id,_ := beego.AppConfig.Int("org_id") // month := time.Unix(1557042972, 0).Format("1") // year := time.Now().Format("2006") // month = time.Now().Format("01") // day := time.Now().Format("02") // file := strconv.FormatInt(miConfig.UserOrgId, 10) + "_" + year + month + day + "_log" // file_name := file + ".txt" // file_path := miConfig.OrgName + "日志" + "/" + file_name // exist, _ := PathExists(file_path) // if exist { //存在 // fmt.Println("存在") // f, err := os.OpenFile(file_path, os.O_WRONLY, 0644) // if err != nil { // fmt.Println("read fail") // } // content := "\r\r\r" // n, _ := f.Seek(0, 2) // _, err = f.WriteAt([]byte(content), n) // // } else { //不存在 // fmt.Println("文件不存在,创建文件") // f, err := os.Create(miConfig.OrgName + "日志" + "/" + file_name) // defer f.Close() // if err != nil { // } else { // _, err = f.Write([]byte("记录日志")) // } // } // //} //func UploadLog(miConfig models.MedicalInsuranceOrgConfig) { // //获取七牛云上的文件信息,不存在则表示没上传到七牛云,上传昨天日志信息 // nTime := time.Now() // yesTime := nTime.AddDate(0, 0, -1) // file_key := strconv.FormatInt(miConfig.UserOrgId, 10) + "_" + yesTime.Format("20060102") + "_log.txt" // mac := qbox.NewMac(beego.AppConfig.String("qiniu_accesskey"), beego.AppConfig.String("qiniu_secretkey")) // cfg := storage.Config{ // // 是否使用https域名进行资源管理 // UseHTTPS: true, // } // // 指定空间所在的区域,如果不指定将自动探测 // // 如果没有特殊需求,默认不需要指定 // //cfg.Zone=&storage.ZoneHuabei // bucketManager := storage.NewBucketManager(mac, &cfg) // bucket := beego.AppConfig.String("qiniu_bucket") // key := file_key // file, sErr := bucketManager.Stat(bucket, key) // fmt.Println(file) // fmt.Println(sErr) // fmt.Println(miConfig.OrgName + "日志" + "/" + file_key) // // if sErr != nil { // fmt.Println("七牛云上文件不存在,上传到七牛云") // //判断本地文件是否存在,存在则执行上传操作 // exist, _ := PathExists(miConfig.OrgName + "日志" + "/" + file_key) // if exist { // upload_qiniu(miConfig.OrgName+"日志"+"/"+file_key, file_key) // } else { // fmt.Println("本地文件不存在") // // } // } else { // fmt.Println("七牛云文件存在") // } // //} //func Mkdir(dir string) { // // 创建文件夹 // exist, err := PathExists(dir) // if err != nil { // fmt.Println(err.Error()) // } else { // if exist { // fmt.Println(dir + "文件夹已存在!") // } else { // // 文件夹名称,权限 // err := os.Mkdir(dir, os.ModePerm) // if err != nil { // fmt.Println(dir+"文件夹创建失败:", err.Error()) // } else { // fmt.Println(dir + "文件夹创建成功!") // } // } // } //} //func PathExists(path string) (bool, error) { // _, err := os.Stat(path) // if err == nil { // return true, nil // } // if os.IsNotExist(err) { // return false, nil // } // return false, err //} //func upload_qiniu(filePath string, keys string) { // key := keys // //上传凭证,关于凭证这块大家可以去看看官方文档 // putPolicy := storage.PutPolicy{ // Scope: beego.AppConfig.String("qiniu_bucket"), // } // mac := qbox.NewMac(beego.AppConfig.String("qiniu_accesskey"), beego.AppConfig.String("qiniu_secretkey")) // upToken := putPolicy.UploadToken(mac) // cfg := storage.Config{} // //空间对应机房 // //其中关于Zone对象和机房的关系如下: // // 机房 Zone对象 // // 华东 storage.ZoneHuadong // // 华北 storage.ZoneHuabei // // 华南 storage.ZoneHuanan // // 北美 storage.ZoneBeimei // //七牛云存储空间设置首页有存储区域 // cfg.Zone = &storage.ZoneHuadong // //不启用HTTPS域名 // cfg.UseHTTPS = false // //不使用CND加速 // cfg.UseCdnDomains = false // //构建上传表单对象 // formUploader := storage.NewFormUploader(&cfg) // ret := storage.PutRet{} // // 可选 // putExtra := storage.PutExtra{ // Params: map[string]string{}, // } // err := formUploader.PutFile(context.Background(), &ret, upToken, key, filePath, &putExtra) // if err != nil { // fmt.Println(err) // return // } // fmt.Println(ret.Key, ret.Hash) //}