package main import ( _ "gdyb/routers" "gdyb/service" "gdyb/models" //"gdyb/controllers/sg" "time" "strings" "strconv" "encoding/json" "gdyb/utils" "os" "fmt" "github.com/astaxie/beego" "github.com/shopspring/decimal" "net/http" "bytes" "io/ioutil" ) type ResultSeventeenOther struct { ErrMsg string `json:"err_msg"` InfRefmsgid string `json:"inf_refmsgid"` Infcode string `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"` } type ResultSix struct { Cainfo interface{} `json:"cainfo"` ErrMsg string `json:"err_msg"` InfRefmsgid string `json:"inf_refmsgid"` Infcode int64 `json:"infcode"` Output struct { } `json:"output"` RefmsgTime string `json:"refmsg_time"` RespondTime string `json:"respond_time"` Signtype interface{} `json:"signtype"` WarnMsg interface{} `json:"warn_msg"` } type ResultEmpty10265 struct { Cainfo interface{} `json:"cainfo"` ErrMsg string `json:"err_msg"` InfRefmsgid string `json:"inf_refmsgid"` Infcode string `json:"infcode"` Output struct { } `json:"output"` RefmsgTime string `json:"refmsg_time"` RespondTime string `json:"respond_time"` Signtype interface{} `json:"signtype"` WarnMsg interface{} `json:"warn_msg"` } func init() { //service.ConnectNMMSDB() service.ConnectDB() //org_id, _ := beego.AppConfig.Int64("org_id") //miConfig, _ := service.FindMedicalInsuranceInfo(org_id) //////CreateLog(miConfig) //////UploadLog(miConfig)31 //if org_id == 10191 { // service.GetFjAuthorizationInfo(miConfig.Code) //} } func main() { //service.AutoCreateStock() //service.AutoGdybCreateStock() //service.AutoUploadData //台山百伦清单上传方法 //GetBatchSettleList() //深圳百霖 //GetblBatchSettleList() //GetblbrBatchSettleList() //深圳百霖贝尔 //GetbrBatchSettleList() //a, _ := service.GetResultRecord("2023-01-01") //ticker := time.Tick(2 * time.Hour) //// 无限循环,等待定时器触发 //for { // select { // case <-ticker: // sg.ChangeDrugTenone() // } //} //utils.ErrorLog("接口返回数据解析JSON失败: %v", a) //赤峰费森 //GetcfBatchSettleList() //GetNMSettleListHospital() //Get4202() 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 GetcfBatchSettleList() { // orders, _ := service.GetAllHisOrder10265() // // for _, item := range orders{ // order, _ := service.GetHisOrderByIDTwo(item.ID) // roles, _ := service.GetDoctorListTwo(item.UserOrgId) // his, _ := service.GetInHospitalRecordByNumber(order.MdtrtId) // admin, _ := service.GetAdminUserByUserID(roles[0].AdminUserId) // curRoles, _ := service.GetAdminUserInfoByID(item.UserOrgId, 2738) // depart, _ := service.GetDepartMentDetail(curRoles.DepartmentId) // miConfig, _ := service.FindMedicalInsuranceInfo(item.UserOrgId) // // if order.ID == 0 { // c.ServeFailJSONWithSGJErrorCode(enu8ms.ErrorCodeHisOrderNoExistParamWrong) // return // } // // last_order, _ := service.GetLastHisOrder(c.GetAdminUserInfo().CurrentOrgId) // max_order, _ := service.GetLastHisOrderTwo(c.GetAdminUserInfo().CurrentOrgId) // count, _ := strconv.ParseInt(max_order.FaPiaoNumber, 10, 64) // fmt.Println(count) // var zero string // number := count + 1 // if number >= 1000 { // zero = "0000" + strconv.FormatInt(number, 10) // } else if number >= 10000 { // zero = "000" + strconv.FormatInt(number, 10) // } else if number >= 100000 { // zero = "00" + strconv.FormatInt(number, 10) // } else if number >= 1000000 { // zero = "0" + strconv.FormatInt(number, 10) // } else { // zero = strconv.FormatInt(number, 10) // } // fmt.Println(zero) // // struct4101 := service.Struct4101{ // PsnNo: order.PsnNo, // MdtrtId: order.MdtrtId, // SetlId: order.SetlId, // PsnName: order.PsnName, // Gend: order.Gend, // Brdy: his.Brdy, // Age: int64(order.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: miConfig.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: miConfig.InsuplcAdmdvs, // HsorgOpter: miConfig.InsuplcAdmdvs, // MedinsFillPsn: curRoles.UserName, // MedinsFillDept: depart.Name, // IptMedType: "2", // AdmTime: his.InHosptialTime, // AdmEndTime: his.OutHosptialTime, // } // struct4101.SetlBegnDate = order.SetlTime // struct4101.SetlEndDate = order.SetlTime // // var rf []CustomFundPay // json.Unmarshal([]byte(order.SetlDetail), &rf) // // var tempFunPays []service.CustomStruct // for _, item := range rf { // var tempFunPay service.CustomStruct // tempFunPay.FundPayamt = item.FundPayamt // tempFunPay.FundPayType = item.FundPayType // tempFunPays = append(tempFunPays, tempFunPay) // } // struct4101.CustomStruct = tempFunPays // // var tempDiaginfos []service.DiaginfoStructTwo // var tempOpspdiseinfo2 service.OpspdiseinfoStruct // var tempOpspdiseinfos []service.OpspdiseinfoStruct // infos, _ := service.FindLastPatientPrescriptionInfoTwo2(c.GetAdminUserInfo().CurrentOrgId, his.PatientId,strings.Split(his.InHosptialTime," ")[0],strings.Split(his.OutHosptialTime," ")[0]) // for _, item := range infos{ // his.Diagnosis = his.Diagnosis+","+ item.Diagnosis // } // diagnosis_ids_arr := strings.Split(his.Diagnosis, ",") // diagnosis_ids_arr = RemoveRepeatedPurviewElement2(diagnosis_ids_arr) // //diagnosis_ids := strings.Split(his.Diagnosis, ",") // fmt.Println(diagnosis_ids_arr) // var config []*models.HisXtDiagnoseConfig // for _, item := range diagnosis_ids_arr { // id, _ := strconv.ParseInt(item, 10, 64) // diagnosisConfig, _ := service.FindDiagnoseById(id) // if diagnosisConfig.ID > 0 { // config = append(config, &diagnosisConfig) // } // } // // for index, item := range config { // if item.ID > 0 { // 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 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 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 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 // // 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 == "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 == "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 == "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 == "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 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 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 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 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 // struct4101.Ntly = "中国" // struct4101.AdmCaty = "A03.06" // var resOther ResultSeventeenOther // var res ResultSeventeen // if miConfig.MdtrtareaAdmvs == "150499" { // var pp models.PublicParams // pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs // pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs // pp.FixmedinsName = miConfig.OrgName // pp.FixmedinsCode = miConfig.Code // pp.RequestUrl = miConfig.Url // pp.Cainfo = miConfig.Cainfo // pp.SecretKey = miConfig.SecretKey // pp.AccessKey = miConfig.AccessKey // pp.OpterName = curRoles.UserName // client := &http.Client{} // var req *http.Request // data := make(map[string]interface{}) // data["struct4101"] = struct4101 // data["pp"] = pp // bytesData, _ := json.Marshal(data) // req, _ = http.NewRequest("POST", "http://172.16.13.254:9532/"+"nmyb/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, &resOther); err != nil { // utils.ErrorLog("解析失败:%v", err) // c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException) // return // } // res.InfRefmsgid = resOther.InfRefmsgid // res.Output = resOther.Output // res.ErrMsg = resOther.ErrMsg // infocode, _ := strconv.ParseInt(resOther.Infcode, 10, 64) // res.Infcode = infocode // } // if res.Infcode != 0 { // c.ServeSuccessJSON(map[string]interface{}{ // "failed_code": -10, // "msg": res.ErrMsg, // }) // return // } else { // if miConfig.MdtrtareaAdmvs != "150499" { // order.FaPiaoNumber = zero // order.FaPiaoCode = last_order.FaPiaoCode // service.UpdateOrder(order) // } // hisFundSettleListResult := &models.HisFundSettleListResult{ // Number: res.Output.SetlListId, // Status: 1, // Ctime: time.Now().Unix(), // Mtime: time.Now().Unix(), // UserOrgId: c.GetAdminUserInfo().CurrentOrgId, // IsUpload: 1, // OrderId: order_id, // } // service.CreateUploadRecord(hisFundSettleListResult) // c.ServeSuccessJSON(map[string]interface{}{ // "msg": "上传成功", // "result": hisFundSettleListResult, // }) // return // } //}GetAllHisOrder10138 // // func GetblBatchSettleList() { org_id, _ := beego.AppConfig.Int64("org_id") var orders []*models.HisOrder //var orders []*models.HisOrderError orders, _ = service.GetAllHisOrder10138() for _, item := range orders { order_id := item.ID order, _ := service.GetHisOrderByIDTwo(order_id) if order.MedType == "14" { his, _ := service.GetHisPatientByNumber(order.MdtrtId) var patientPrescription models.HisPrescriptionInfo patientPrescription, _ = service.FindLastPatientPrescriptionInfo(order.UserOrgId, order.PatientId, order.SettleAccountsDate) doctor_info, _ := service.GetAdminUserInfoByID(order.UserOrgId, patientPrescription.DoctorId) department, _ := service.GetDepartMentDetail(patientPrescription.Departments) miConfig, _ := service.FindMedicalInsuranceInfo(order.UserOrgId) var configTwo []*models.HisXtDiagnoseConfig diagnosis_idstwo := strings.Split(his.Diagnosis, ",") curRoles, _ := service.GetAdminUserInfoByID(org_id, 2185) for _, item := range diagnosis_idstwo { id, _ := strconv.ParseInt(item, 10, 64) diagnosisConfig, _ := service.FindDiagnoseById(id) configTwo = append(configTwo, &diagnosisConfig) } patient, _ := service.GetPatientByIDTwo(10138, order.PatientId) sickConfig, _ := service.FindSickById(his.SickType) //if order.MedType == "1111" || order.MedType == "1112" { // order.MedType = "11" //} service.Gdyb2203d(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, "14", doctor_info.DoctorNumber, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, curRoles.UserName, configTwo, time.Unix(his.RecordDate, 0).Format("2006-01-02 15:04:05")) depart, _ := service.GetDepartMentDetail(curRoles.DepartmentId) 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: order.PsnCertType, Certno: order.Certno, Prfs: "90", ConerName: "", PatnRlts: "", ConerAddr: "", ConerTel: "", 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", CurAddr: patient.HomeAddress, } struct4101.SetlBegnDate = order.SetlTime struct4101.SetlEndDate = order.SetlTime 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) if id == 24 { diagnosisConfig, _ := service.FindDiagnoseById(id) config = append(config, &diagnosisConfig) } } for _, item := range diagnosis_ids { id, _ := strconv.ParseInt(item, 10, 64) if id != 24 { 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 = "1" 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 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 = "CHN" struct4101.AdmCaty = "A03.06" var res ResultSeventeen result, request := service.Gdyb4101For10138(struct4101, miConfig.SecretKey, miConfig.OrgName, curRoles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, org_id) fmt.Println(result) saveLog(result, request, "4101A", "清单上传") 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: 10138600, } 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: 10138600, } 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 GetblbrBatchSettleList() { org_id, _ := beego.AppConfig.Int64("org_id") var orders []*models.HisOrder //var orders []*models.HisOrderError orders, _ = service.GetAllHisOrder10278() for _, item := range orders { order_id := item.ID order, _ := service.GetHisOrderByIDTwo(order_id) if order.MedType == "14" { his, _ := service.GetHisPatientByNumber(order.MdtrtId) var patientPrescription models.HisPrescriptionInfo patientPrescription, _ = service.FindLastPatientPrescriptionInfo(order.UserOrgId, order.PatientId, order.SettleAccountsDate) doctor_info, _ := service.GetAdminUserInfoByID(order.UserOrgId, patientPrescription.DoctorId) department, _ := service.GetDepartMentDetail(patientPrescription.Departments) miConfig, _ := service.FindMedicalInsuranceInfo(order.UserOrgId) var configTwo []*models.HisXtDiagnoseConfig diagnosis_idstwo := strings.Split(his.Diagnosis, ",") curRoles, _ := service.GetAdminUserInfoByID(org_id, 2185) for _, item := range diagnosis_idstwo { id, _ := strconv.ParseInt(item, 10, 64) diagnosisConfig, _ := service.FindDiagnoseById(id) configTwo = append(configTwo, &diagnosisConfig) } patient, _ := service.GetPatientByIDTwo(10278, order.PatientId) sickConfig, _ := service.FindSickById(his.SickType) //if order.MedType == "1111" || order.MedType == "1112" { // order.MedType = "11" //} service.Gdyb2203d(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, "14", doctor_info.DoctorNumber, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, curRoles.UserName, configTwo, time.Unix(his.RecordDate, 0).Format("2006-01-02 15:04:05")) depart, _ := service.GetDepartMentDetail(curRoles.DepartmentId) 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: order.PsnCertType, Certno: order.Certno, Prfs: "90", ConerName: "", PatnRlts: "", ConerAddr: "", ConerTel: "", 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", CurAddr: patient.HomeAddress, } struct4101.SetlBegnDate = order.SetlTime struct4101.SetlEndDate = order.SetlTime 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) if id == 24 { diagnosisConfig, _ := service.FindDiagnoseById(id) config = append(config, &diagnosisConfig) } } for _, item := range diagnosis_ids { id, _ := strconv.ParseInt(item, 10, 64) if id != 24 { 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 = "1" 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 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 = "CHN" struct4101.AdmCaty = "A03.06" var res ResultSeventeen result, request := service.Gdyb4101For10138(struct4101, miConfig.SecretKey, miConfig.OrgName, curRoles.UserName, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, org_id) fmt.Println(result) saveLog(result, request, "4101A", "清单上传") 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: 10278600, } 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: 15, PatientId: order_id, Stage: 10278600, } 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 GetbrBatchSettleList() { //// org_id, _ := beego.AppConfig.Int64("org_id") //// var orders []*models.HisOrder //// orders, _ = service.GetAllHisOrder10278() //// for _, item := range orders { //// order_id := item.ID //// order, _ := service.GetHisOrderByIDTwo(order_id) //// //roles, _ := service.GetDoctorListTwo(org_id) //// his, _ := service.GetHisPatientByNumber(order.MdtrtId) //// var patientPrescription models.HisPrescriptionInfo //// patientPrescription, _ = service.FindLastPatientPrescriptionInfo(order.UserOrgId, order.PatientId, order.SettleAccountsDate) //// doctor_info, _ := service.GetAdminUserInfoByID(order.UserOrgId, patientPrescription.DoctorId) //// department, _ := service.GetDepartMentDetail(patientPrescription.Departments) //// miConfig, _ := service.FindMedicalInsuranceInfo(order.UserOrgId) //// var configTwo []*models.HisXtDiagnoseConfig //// diagnosis_idstwo := strings.Split(his.Diagnosis, ",") //// curRoles, _ := service.GetAdminUserInfoByID(org_id, 2185) //// for _, item := range diagnosis_idstwo { //// id, _ := strconv.ParseInt(item, 10, 64) //// diagnosisConfig, _ := service.FindDiagnoseById(id) //// configTwo = append(configTwo, &diagnosisConfig) //// } //// //// sickConfig, _ := service.FindSickById(his.SickType) //// service.Gdyb2203A(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, "14", doctor_info.DoctorNumber, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, curRoles.UserName, configTwo, time.Unix(his.RecordDate, 0).Format("2006-01-02 15:04:05")) //// //// depart, _ := service.GetDepartMentDetail(curRoles.DepartmentId) //// 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: order.PsnCertType, //// Certno: order.Certno, //// Prfs: "90", //// ConerName: "", //// PatnRlts: "", //// ConerAddr: "", //// ConerTel: "", //// 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 //// //// //// 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 //// { //// result, request := service.Gdyb4101For10138(struct4101, miConfig.SecretKey, miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, org_id) //// fmt.Println(result) //// saveLog(result, request, "4101A", "清单上传") //// 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: 10138, //// } //// 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: 10138, //// } //// 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 GetbrBatchSettleList() { // org_id, _ := beego.AppConfig.Int64("org_id") // var orders []*models.HisOrder // //var orders []*models.HisOrderError // // orders, _ = service.GetAllHisOrder10278() // for _, item := range orders { // order_id := item.ID // order, _ := service.GetHisOrderByIDTwo(order_id) // //roles, _ := service.GetDoctorListTwo(org_id) // his, _ := service.GetHisPatientByNumber(order.MdtrtId) // var patientPrescription models.HisPrescriptionInfo // patientPrescription, _ = service.FindLastPatientPrescriptionInfo(order.UserOrgId, order.PatientId, order.SettleAccountsDate) // doctor_info, _ := service.GetAdminUserInfoByID(order.UserOrgId, patientPrescription.DoctorId) // department, _ := service.GetDepartMentDetail(patientPrescription.Departments) // miConfig, _ := service.FindMedicalInsuranceInfo(order.UserOrgId) // var configTwo []*models.HisXtDiagnoseConfig // diagnosis_idstwo := strings.Split(his.Diagnosis, ",") // curRoles, _ := service.GetAdminUserInfoByID(org_id, 2185) // for _, item := range diagnosis_idstwo { // id, _ := strconv.ParseInt(item, 10, 64) // diagnosisConfig, _ := service.FindDiagnoseById(id) // configTwo = append(configTwo, &diagnosisConfig) // } // // sickConfig, _ := service.FindSickById(his.SickType) // if order.MedType == "1111" || order.MedType == "1112" { // order.MedType = "11" // } // service.Gdyb2203A(his.PsnNo, his.Number, doctor_info.UserName, department.Name, miConfig.OrgName, order.MedType, doctor_info.DoctorNumber, miConfig.Code, his.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, miConfig.SecretKey, sickConfig.ContentCode, sickConfig.ClassName, curRoles.UserName, configTwo, strings.Split(time.Unix(his.RecordDate, 0).Format("2006-01-02 15:04:05"), " ")[0]+" 22:00:00") // // depart, _ := service.GetDepartMentDetail(curRoles.DepartmentId) // 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: order.PsnCertType, // Certno: order.Certno, // Prfs: "90", // ConerName: "", // PatnRlts: "", // ConerAddr: "", // ConerTel: "", // 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 // // 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 // { // result, request := service.Gdyb4101For10138(struct4101, miConfig.SecretKey, miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, org_id) // fmt.Println(result) // saveLog(result, request, "4101A", "清单上传") // 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: 10278000, // } // 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: 10278000, // } // 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 GetbrBatchSettleList() { //// org_id, _ := beego.AppConfig.Int64("org_id") //// var orders []*models.HisOrder //// orders, _ = service.GetAllHisOrder10278() //// 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, 2185) //// 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: order.PsnCertType, //// 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 //// //// //// 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 //// { //// result, request := service.Gdyb4101For10138(struct4101, miConfig.SecretKey, miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, org_id) //// fmt.Println(result) //// saveLog(result, request, "4101A", "清单上传") //// 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: 10138, //// } //// 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: 10138, //// } //// 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 GetBatchSettleList() { // // org_id, _ := beego.AppConfig.Int64("org_id") // //list, _ := service.GetLastFundList(org_id) // //orders, _ := service.GetOrderError(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.GetAllHisOrder10106(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, request := service.Gdyb4101For10106(struct4101, miConfig.SecretKey, miConfig.OrgName, curRoles.UserName, miConfig.Code, miConfig.InsuplcAdmdvs, miConfig.MdtrtareaAdmvs, org_id) // fmt.Println(result) // saveLog(result, request, "4205", "自费就诊和诊断信息上传") // 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: 50000, // } // 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: 50000, // } // 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 saveLog(result string, request string, infno string, desc string) { org_id, _ := beego.AppConfig.Int64("org_id") miConfig, _ := service.FindMedicalInsuranceInfo(org_id) dir := miConfig.OrgName + "日志" utils.Mkdir(dir) month := time.Unix(1557042972, 0).Format("1") year := time.Now().Format("2006") month = time.Now().Format("01") day := time.Now().Format("02") hour := time.Now().Format("15") min := time.Now().Format("04") sec := time.Now().Format("05") result_time := year + "-" + month + "-" + day + " " + hour + ":" + min + ":" + sec file := strconv.FormatInt(org_id, 10) + "_" + year + month + day + "_log" file_name := file + ".txt" file_path := miConfig.OrgName + "日志" + "/" + file_name exist, _ := utils.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\n" + "\r\n" + "\r\n" + result_time + " " + "【 " + desc + infno + "入参" + " 】:" + "\r\n" + request + "\r\n" + result_time + " " + "【 " + desc + infno + "出参" + " 】:" + "\r\n" + result 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 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) ////} func GetNMSettleListHospital() { admin_user_id := int64(2738) var orders []*models.HisOrder orders, _ = service.GetAllHisOrder10265() for _, item := range orders{ order_id := item.ID order, _ := service.GetHisOrderByIDTwo(order_id) roles, _ := service.GetDoctorListTwo(10265) his, _ := service.GetInHospitalRecordByNumber(order.MdtrtId) admin, _ := service.GetAdminUserByUserID(roles[0].AdminUserId) curRoles, _ := service.GetAdminUserInfoByID(10265, admin_user_id) depart, _ := service.GetDepartMentDetail(curRoles.DepartmentId) miConfig, _ := service.FindMedicalInsuranceInfo(10265) if order.ID == 0 { continue } struct4101 := service.Struct4101{ PsnNo: order.PsnNo, MdtrtId: order.MdtrtId, SetlId: order.SetlId, PsnName: order.PsnName, Gend: order.Gend, Brdy: his.Brdy, Age: int64(order.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: miConfig.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: miConfig.InsuplcAdmdvs, HsorgOpter: miConfig.InsuplcAdmdvs, MedinsFillPsn: curRoles.UserName, MedinsFillDept: depart.Name, IptMedType: "2", AdmTime: his.InHosptialTime, AdmEndTime: his.OutHosptialTime, } struct4101.SetlBegnDate = order.SetlTime struct4101.SetlEndDate = order.SetlTime var tempDiaginfos []service.DiaginfoStructTwo var tempOpspdiseinfo2 service.OpspdiseinfoStruct var tempOpspdiseinfos []service.OpspdiseinfoStruct diagnosis_ids_arr := strings.Split(his.Diagnosis, ",") diagnosis_ids_arr = RemoveRepeatedPurviewElement2(diagnosis_ids_arr) var config []*models.HisXtDiagnoseConfig for _, item := range diagnosis_ids_arr { id, _ := strconv.ParseInt(item, 10, 64) diagnosisConfig, _ := service.FindDiagnoseById(id) if diagnosisConfig.ID > 0 { config = append(config, &diagnosisConfig) } } for index, item := range config { if item.ID > 0 { 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 = "1" 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 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 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 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 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 == "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 == "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 == "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 == "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 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 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 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 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 struct4101.Ntly = "中国" struct4101.AdmCaty = "A03.06" var resOther ResultSeventeenOther var res ResultSeventeen if miConfig.MdtrtareaAdmvs == "150499" { var pp models.PublicParams pp.InsuplcAdmdvs = miConfig.InsuplcAdmdvs pp.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs pp.FixmedinsName = miConfig.OrgName pp.FixmedinsCode = miConfig.Code pp.RequestUrl = miConfig.Url pp.Cainfo = miConfig.Cainfo pp.SecretKey = miConfig.SecretKey pp.AccessKey = miConfig.AccessKey pp.OpterName = curRoles.UserName client := &http.Client{} var req *http.Request data := make(map[string]interface{}) data["struct4101"] = struct4101 data["pp"] = pp bytesData, _ := json.Marshal(data) req, _ = http.NewRequest("POST", "http://172.16.13.254:9532/"+"nmyb/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) } var respJSON map[string]interface{} if err := json.Unmarshal([]byte(body), &respJSON); err != nil { utils.ErrorLog("接口返回数据解析JSON失败: %v", err) } respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{}) userJSONBytes, _ := json.Marshal(respJSON) if err := json.Unmarshal(userJSONBytes, &resOther); err != nil { utils.ErrorLog("解析失败:%v", err) } res.InfRefmsgid = resOther.InfRefmsgid res.Output = resOther.Output res.ErrMsg = resOther.ErrMsg infocode, _ := strconv.ParseInt(resOther.Infcode, 10, 64) res.Infcode = infocode } if res.Infcode != 0 { errlog := &models.HisOrderError{ UserOrgId: 10265, Ctime: time.Now().Unix(), Mtime: time.Now().Unix(), ErrMsg: res.ErrMsg, Status: 3000, PatientId: order_id, Stage: 10265, } service.CreateErrMsgLog(errlog) continue } else { hisFundSettleListResult := &models.HisFundSettleListResult{ Number: res.Output.SetlListId, Status: 1, Ctime: time.Now().Unix(), Mtime: time.Now().Unix(), UserOrgId: 10265, IsUpload: 1, OrderId: order_id, } service.CreateUploadRecord(hisFundSettleListResult) continue } } } func RemoveRepeatedPurviewElement2(arr []string) (newArr []string) { newArr = make([]string, 0) for i := 0; i < len(arr); i++ { repeat := false for j := i + 1; j < len(arr); j++ { if arr[i] == arr[j] { repeat = true break } } if !repeat { newArr = append(newArr, arr[i]) } } return } func Get4202(){ admin_user_id := int64(2738) var orders []*models.HisOrder orders, _ = service.GetAllHisOrder10265() for _,item := range orders{ order_id := item.ID stas_type := "1" order, _ := service.GetHisOrderByID(order_id) miConfig, _ := service.FindMedicalInsuranceInfo(10265) var user_name string role, _ := service.GetAdminUserInfoByID(10265, admin_user_id) if role.ID == 0 { user_name = "管理员" } else { user_name = role.UserName } baseParams := models.BaseParams{ SecretKey: miConfig.SecretKey, FixmedinsCode: miConfig.Code, InsuplcAdmdvs: miConfig.InsuplcAdmdvs, MdtrtareaAdmvs: miConfig.MdtrtareaAdmvs, OrgName: miConfig.OrgName, Doctor: user_name, RequestUrl: miConfig.Url, AccessKey: miConfig.AccessKey, } businessParams := models.BusinessParams{ PsnNo: order.PsnNo, MdtrtId: order.MdtrtId, SetlId: order.SetlId, StasType: stas_type, } api := "http://172.16.13.254:9532/" + "nmyb/4102?psn_no=" + businessParams.PsnNo + "&mdtrt_id=" + businessParams.MdtrtId + "&setl_id=" + businessParams.SetlId + "&org_name=" + miConfig.OrgName + "&doctor=" + baseParams.Doctor + "&fixmedins_code=" + miConfig.Code + "&insuplc_admdvs=" + miConfig.InsuplcAdmdvs + "&mdtrtarea_admvs=" + miConfig.MdtrtareaAdmvs + "&secret_key=" + miConfig.SecretKey + "&stas_type=" + stas_type resp, _ := http.Get(api) body, ioErr := ioutil.ReadAll(resp.Body) if ioErr != nil { utils.ErrorLog("接口返回数据读取失败: %v", ioErr) } var respJSON map[string]interface{} if err := json.Unmarshal([]byte(string(body)), &respJSON); err != nil { utils.ErrorLog("接口返回数据解析JSON失败: %v", err) } respJSON = respJSON["data"].(map[string]interface{})["pre"].(map[string]interface{}) result, _ := json.Marshal(respJSON) var res2 ResultSix var resEmpty10265 ResultEmpty10265 if err := json.Unmarshal(result, &resEmpty10265); err != nil { utils.ErrorLog("解析失败:%v", err) } Infcode, _ := strconv.ParseInt(resEmpty10265.Infcode, 10, 64) res2.Infcode = Infcode res2.RespondTime = resEmpty10265.RespondTime res2.ErrMsg = resEmpty10265.ErrMsg res2.Output = resEmpty10265.Output res2.WarnMsg = resEmpty10265.WarnMsg if res2.Infcode == 0 { continue } else { errlog := &models.HisOrderError{ UserOrgId: 10265, Ctime: time.Now().Unix(), Mtime: time.Now().Unix(), ErrMsg: res2.ErrMsg, Status: 2000, PatientId: order_id, Stage: 10265, } service.CreateErrMsgLog(errlog) continue } } }