package controllers

import (
	"Xcx_New/enums"
	"Xcx_New/models"
	"Xcx_New/service"
	"encoding/json"
	"fmt"
	"os"
	"path"
	"runtime"
	"strconv"
	"strings"
	"time"

	"github.com/astaxie/beego"
)

type PublicApiController struct {
	BaseAPIController
}

//var f_a *os.File
//
//
//	func init() {
//		org_id, _ := beego.AppConfig.Int64("org_id")
//		miConfig, _ := service.FindMedicalInsuranceInfo(org_id)
//		Mkdir(miConfig.OrgName+"日志")
//		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( org_id, 10) + "_"+ year + month + day + "_log"
//		file_name := file + ".txt"
//		file_path := miConfig.OrgName+"日志" + "/" + file_name
//		exist, _ := PathExists(file_path)
//		if exist {//存在
//			f_a, _ := os.OpenFile(file_path,os.O_WRONLY,0644)
//			content := "新的日志内容吧"
//			n, _ := f_a.Seek(0,2)
//			f_a.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 PublicApiRegistRouters() {
	beego.Router("/api/public/getadviceconfig", &PublicApiController{}, "Get:GetDoctorAdviceConfig")
	beego.Router("/api/public/servertime", &PublicApiController{}, "Get:GetServerTime")
	beego.Router("/api/app/release", &PublicApiController{}, "Get:AppRelease")
	beego.Router("/api/get", &PublicApiController{}, "Get:GetJson")
	beego.Router("/api/public/handledata", &PublicApiController{}, "get:HandleData")
	beego.Router("/api/public/handlestockdata", &PublicApiController{}, "get:HandleStockData")
	beego.Router("/api/public/handlecomdata", &PublicApiController{}, "get:HandleComData")
	beego.Router("/hello", &PublicApiController{}, "get:HandleComData")

	beego.Router("/handel", &PublicApiController{}, "get:HandleHIS")

	//beego.Router("/handelOrder", &PublicApiController{}, "get:HandleOrder")

}

func (c *PublicApiController) GetDoctorAdviceConfig() {
	drugs, _, _ := service.GetPublicDrugDics()
	drugways, _, _ := service.GetPublicDrugWayDics()
	efs, _, _ := service.GetPublicExecutionFrequencyDics()

	c.ServeSuccessJSON(map[string]interface{}{
		"drugs":    drugs,
		"drugways": drugways,
		"efs":      efs,
	})
}

func (c *PublicApiController) GetServerTime() {
	timeNow := time.Now()
	timeNowStamp := timeNow.Unix()
	timeNowStr := timeNow.Format("2006-01-02 15:04:05")
	c.ServeSuccessJSON(map[string]interface{}{
		"time":      timeNowStr,
		"timestamp": timeNowStamp,
	})
}

func (c *PublicApiController) AppRelease() {
	// appId := c.GetString("appid")
	version := c.GetString("version")
	appType, _ := c.GetInt64("app_type", 0)

	appVersion, err := service.GetAppVersionByAppType(appType)
	if err != nil {
		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
		return
	}

	if appVersion == nil {
		c.ServeSuccessJSON(map[string]interface{}{
			"version": nil,
			"state":   2,
		})
		return
	}

	state := strings.Compare(version, appVersion.Version)
	// state := 1

	if state < 0 {
		c.ServeSuccessJSON(map[string]interface{}{
			"version": appVersion,
			"state":   appVersion.Status,
		})
		return
	}
	c.ServeSuccessJSON(map[string]interface{}{
		"version": nil,
		"state":   2,
	})
	return

}

func (this *PublicApiController) GetJson() {
	type Global struct {
		DeviceSN        string
		Version         string
		Timestamp       string
		InterfaceSource string
	}
	type RBPResultModel struct {
		Sys         string
		Dia         string
		HR          string
		MeasureTime string
	}

	type ScannerResultModel struct {
		Code string
	}

	type IDCardResultModel struct {
		IDCardNo         string
		UserName         string
		Age              string
		Female           string
		Male             string
		SocialSecurityNo string
	}

	type JsonTemp struct {
		Global             Global
		RBPResultModel     RBPResultModel
		ScannerResultModel ScannerResultModel
		IDCardResultModel  IDCardResultModel
	}

	var person JsonTemp
	err3 := json.Unmarshal([]byte(this.GetString("params")), &person)
	fmt.Println(err3)

	fmt.Println(person.Global)

	//temp := JsonTemp{
	//	Global:Global{
	//		DeviceSN:"1122",
	//		Version:"1122",
	//		Timestamp:"1222",
	//		InterfaceSource:"1233",
	//	},
	//	RBPResultModel: RBPResultModel{
	//		Sys:"12",
	//		Dia:"22",
	//		HR:"23",
	//		MeasureTime:"123",
	//	},
	//	ScannerResultModel:ScannerResultModel{
	//		Code:"1233",
	//	},
	//	IDCardResultModel:IDCardResultModel{
	//		IDCardNo:"123",
	//		UserName:"123",
	//		Age:"123",
	//		Female:"123",
	//		Male:"123",
	//		SocialSecurityNo:"123",
	//	},
	//}
	//
	//jsonBytes, err := json.Marshal(temp)
	//if err != nil {
	//	fmt.Println(err)
	//}
	//fmt.Println(string(jsonBytes))

}

func (c *PublicApiController) HandleData() {
	//service.HandleData()

	org_app, _ := service.GetAllAppOrg()
	//org_role, _ := service.GetAllRole()
	//
	//var org_ids []int64

	for _, apps := range org_app {
		xt_org_app, _ := service.GetAppByType(int64(apps.OrgId), 3)
		//org_app_6, _ := service.GetAppByType(int64(apps.OrgId), 6)
		//org_app_7, _ := service.GetAppByType(int64(apps.OrgId), 7)
		//org_app_8, _ := service.GetAppByType(int64(apps.OrgId), 8)
		//org_app_9, _ := service.GetAppByType(int64(apps.OrgId), 9)
		//org_app_10, _ := service.GetAppByType(int64(apps.OrgId), 10)
		//org_app_11, _ := service.GetAppByType(int64(apps.OrgId), 11)
		//org_app_12, _ := service.GetAppByType(int64(apps.OrgId), 12)
		//org_app_13, _ := service.GetAppByType(int64(apps.OrgId), 13)
		//org_app_14, _ := service.GetAppByType(int64(apps.OrgId), 14)
		//org_app_15, _ := service.GetAppByType(int64(apps.OrgId), 15)

		//org_app_16, _ := service.GetAppByType(int64(apps.OrgId), 16)
		//org_app_17, _ := service.GetAppByType(int64(apps.OrgId), 17)
		org_app_18, _ := service.GetAppByType(int64(apps.OrgId), 18)

		var xt_temp_org_app *models.OrgApp
		//var mall_temp_org_app *models.OrgApp

		if xt_org_app == nil || xt_org_app.Id == 0 { //判断之前是否有创建该app类型，如果没有则插入数据

			app, _ := service.GetOrgAppA(0, 3)
			org, _ := service.GetOrgByIdB(int64(apps.OrgId))
			if org == nil || org.Id == 0 {
				continue
			}

			app.Id = 0
			app.OrgId = apps.OrgId
			app.Creator = int(org.Creator)
			app.Number = 0
			app.Status = 1
			app.ModifyTime = time.Now().Unix()
			app.CreateTime = time.Now().Unix()
			service.CreateOrgApp(app)
			xt_temp_org_app = app
		} else {

			xt_temp_org_app = xt_org_app

		}

		//if scrm_org_app == nil || scrm_org_app.Id == 0 { //判断之前是否有创建该app类型，如果没有则插入数据
		//
		//	app, _ := service.GetOrgAppA(0, 1)
		//	//org, _ := service.GetOrgById(int64(12))
		//	org, _ := service.GetOrgByIdB(int64(apps.OrgId))
		//	if org == nil || org.Id == 0 {
		//		continue
		//	}
		//
		//
		//	app.OrgId = apps.OrgId
		//	app.Id = 0
		//
		//	app.Creator = int(org.Creator)
		//	app.Number = 0
		//	app.Status = 1
		//	app.ModifyTime = time.Now().Unix()
		//	app.CreateTime = time.Now().Unix()
		//	service.CreateOrgApp(app)
		//
		//}
		//
		//if cdm_org_app == nil || cdm_org_app.Id == 0 { //判断之前是否有创建该app类型，如果没有则插入数据
		//	app, _ := service.GetOrgAppA(0, 4)
		//	//org, _ := service.GetOrgById(int64(12))
		//	org, _ := service.GetOrgByIdB(int64(apps.OrgId))
		//	if org == nil || org.Id == 0 {
		//		continue
		//	}
		//
		//
		//	app.OrgId = apps.OrgId
		//	app.Creator = int(org.Creator)
		//	app.Number = 0
		//	app.Id = 0
		//
		//	app.Status = 1
		//	app.ModifyTime = time.Now().Unix()
		//	app.CreateTime = time.Now().Unix()
		//	service.CreateOrgApp(app)
		//}
		//
		//if mall_org_app == nil || mall_org_app.Id == 0 { //判断之前是否有创建该app类型，如果没有则插入数据
		//	app, _ := service.GetOrgAppA(0, 5)
		//	//org, _ := service.GetOrgById(int64(12))
		//	org, _ := service.GetOrgByIdB(int64(apps.OrgId))
		//
		//	if org == nil || org.Id == 0 {
		//		continue
		//	}
		//
		//	app.OrgId = apps.OrgId
		//	app.Creator = int(org.Creator)
		//	app.Number = 0
		//	app.Id = 0
		//
		//	app.Status = 1
		//	app.ModifyTime = time.Now().Unix()
		//	app.CreateTime = time.Now().Unix()
		//	service.CreateOrgApp(app)
		//	mall_temp_org_app = app
		//} else {
		//	mall_temp_org_app = mall_org_app
		//}
		//
		//if org_app_16 == nil || org_app_16.Id == 0 { //判断之前是否有创建该app类型，如果没有则插入数据
		//	app, _ := service.GetOrgAppA(0, 16)
		//	//org, _ := service.GetOrgById(int64(12))
		//	org, _ := service.GetOrgByIdB(int64(apps.OrgId))
		//	if org == nil || org.Id == 0 {
		//		continue
		//	}
		//
		//	app.OrgId = apps.OrgId
		//	app.Creator = int(org.Creator)
		//	app.Number = 11
		//	app.Id = 0
		//	app.Status = 1
		//	app.ModifyTime = time.Now().Unix()
		//	app.CreateTime = time.Now().Unix()
		//	app.Pid = xt_temp_org_app.Id
		//	service.CreateOrgApp(app)
		//
		//}
		//
		//if org_app_17 == nil || org_app_17.Id == 0 { //判断之前是否有创建该app类型，如果没有则插入数据
		//	app, _ := service.GetOrgAppA(0, 17)
		//	//org, _ := service.GetOrgById(int64(12))
		//	org, _ := service.GetOrgByIdB(int64(apps.OrgId))
		//	if org == nil || org.Id == 0 {
		//		continue
		//	}
		//
		//	app.OrgId = apps.OrgId
		//	app.Creator = int(org.Creator)
		//	app.Number = 12
		//	app.Id = 0
		//	app.Status = 1
		//	app.ModifyTime = time.Now().Unix()
		//	app.CreateTime = time.Now().Unix()
		//	app.Pid = xt_temp_org_app.Id
		//	service.CreateOrgApp(app)
		//
		//}

		if org_app_18 == nil || org_app_18.Id == 0 { //判断之前是否有创建该app类型，如果没有则插入数据
			app, _ := service.GetOrgAppA(0, 18)
			//org, _ := service.GetOrgById(int64(12))
			org, _ := service.GetOrgByIdB(int64(apps.OrgId))
			if org == nil || org.Id == 0 {
				continue
			}

			app.OrgId = apps.OrgId
			app.Creator = int(org.Creator)
			app.Number = 5
			app.Id = 0
			app.Status = 1
			app.ModifyTime = time.Now().Unix()
			app.CreateTime = time.Now().Unix()
			app.Pid = xt_temp_org_app.Id
			service.CreateOrgApp(app)

		}
		//if org_app_7 == nil || org_app_7.Id == 0 { //判断之前是否有创建该app类型，如果没有则插入数据
		//	app, _ := service.GetOrgAppA(0, 7)
		//	//org, _ := service.GetOrgById(int64(12))
		//	org, _ := service.GetOrgByIdB(int64(apps.OrgId))
		//	if org == nil || org.Id == 0 {
		//		continue
		//	}
		//
		//
		//	app.OrgId = apps.OrgId
		//	app.Creator = int(org.Creator)
		//	app.Number = 2
		//	app.Status = 2
		//	app.Id = 0
		//
		//	app.ModifyTime = time.Now().Unix()
		//	app.CreateTime = time.Now().Unix()
		//	app.Pid = xt_temp_org_app.Id
		//
		//	service.CreateOrgApp(app)
		//}
		//if org_app_8 == nil || org_app_8.Id == 0 { //判断之前是否有创建该app类型，如果没有则插入数据
		//	app, _ := service.GetOrgAppA(0, 8)
		//	//org, _ := service.GetOrgById(int64(12))
		//	org, _ := service.GetOrgByIdB(int64(apps.OrgId))
		//	if org == nil || org.Id == 0 {
		//		continue
		//	}
		//
		//
		//	app.OrgId = apps.OrgId
		//	app.Creator = int(org.Creator)
		//	app.Number = 3
		//	app.Id = 0
		//
		//	app.Pid = mall_temp_org_app.Id
		//
		//	app.Status = 1
		//	app.ModifyTime = time.Now().Unix()
		//	app.CreateTime = time.Now().Unix()
		//	service.CreateOrgApp(app)
		//}
		//if org_app_9 == nil || org_app_9.Id == 0 { //判断之前是否有创建该app类型，如果没有则插入数据
		//	app, _ := service.GetOrgAppA(0, 9)
		//	//org, _ := service.GetOrgById(int64(12))
		//	org, _ := service.GetOrgByIdB(int64(apps.OrgId))
		//	if org == nil || org.Id == 0 {
		//		continue
		//	}
		//
		//
		//	app.OrgId = apps.OrgId
		//	app.Pid = xt_temp_org_app.Id
		//
		//	app.Creator = int(org.Creator)
		//	app.Number = 4
		//	app.Id = 0
		//
		//	app.Status = 1
		//	app.ModifyTime = time.Now().Unix()
		//	app.CreateTime = time.Now().Unix()
		//	service.CreateOrgApp(app)
		//
		//}
		//if org_app_10 == nil || org_app_10.Id == 0 { //判断之前是否有创建该app类型，如果没有则插入数据
		//	app, _ := service.GetOrgAppA(0, 10)
		//	//org, _ := service.GetOrgById(int64(12))
		//	org, _ := service.GetOrgByIdB(int64(apps.OrgId))
		//	if org == nil || org.Id == 0 {
		//		continue
		//	}
		//
		//
		//	app.OrgId = apps.OrgId
		//	app.Creator = int(org.Creator)
		//	app.Pid = xt_temp_org_app.Id
		//
		//	app.Number = 5
		//	app.Id = 0
		//
		//	app.Status = 1
		//	app.ModifyTime = time.Now().Unix()
		//	app.CreateTime = time.Now().Unix()
		//	service.CreateOrgApp(app)
		//}
		//if org_app_11 == nil || org_app_11.Id == 0 { //判断之前是否有创建该app类型，如果没有则插入数据
		//	app, _ := service.GetOrgAppA(0, 11)
		//	//org, _ := service.GetOrgById(int64(12))
		//	org, _ := service.GetOrgByIdB(int64(apps.OrgId))
		//	if org == nil || org.Id == 0 {
		//		continue
		//	}
		//
		//
		//	app.OrgId = apps.OrgId
		//	app.Creator = int(org.Creator)
		//	app.Pid = xt_temp_org_app.Id
		//	app.Id = 0
		//
		//	app.Number = 6
		//	app.Status = 1
		//	app.ModifyTime = time.Now().Unix()
		//	app.CreateTime = time.Now().Unix()
		//	service.CreateOrgApp(app)
		//}
		//if org_app_12 == nil || org_app_12.Id == 0 { //判断之前是否有创建该app类型，如果没有则插入数据
		//	app, _ := service.GetOrgAppA(0, 12)
		//	//org, _ := service.GetOrgById(int64(12))
		//	org, _ := service.GetOrgByIdB(int64(apps.OrgId))
		//	if org == nil || org.Id == 0 {
		//		continue
		//	}
		//
		//
		//	app.OrgId = apps.OrgId
		//	app.Creator = int(org.Creator)
		//	app.Pid = xt_temp_org_app.Id
		//	app.Number = 7
		//	app.Status = 1
		//	app.Id = 0
		//
		//	app.ModifyTime = time.Now().Unix()
		//	app.CreateTime = time.Now().Unix()
		//	service.CreateOrgApp(app)
		//}
		//if org_app_13 == nil || org_app_13.Id == 0 { //判断之前是否有创建该app类型，如果没有则插入数据
		//	app, _ := service.GetOrgAppA(0, 13)
		//	//org, _ := service.GetOrgById(int64(12))
		//	org, _ := service.GetOrgByIdB(int64(apps.OrgId))
		//	if org == nil || org.Id == 0 {
		//		continue
		//	}
		//
		//
		//	app.OrgId = apps.OrgId
		//	app.Creator = int(org.Creator)
		//	app.Pid = xt_temp_org_app.Id
		//	app.Number = 8
		//	app.Id = 0
		//	app.Status = 1
		//	app.ModifyTime = time.Now().Unix()
		//	app.CreateTime = time.Now().Unix()
		//	service.CreateOrgApp(app)
		//}
		//if org_app_14 == nil || org_app_14.Id == 0 { //判断之前是否有创建该app类型，如果没有则插入数据
		//	app, _ := service.GetOrgAppA(0, 14)
		//	//org, _ := service.GetOrgById(int64(12))
		//	org, _ := service.GetOrgByIdB(int64(apps.OrgId))
		//	if org == nil || org.Id == 0 {
		//		continue
		//	}
		//
		//
		//	app.OrgId = apps.OrgId
		//	app.Creator = int(org.Creator)
		//	app.Pid = xt_temp_org_app.Id
		//	app.Id = 0
		//	app.Number = 9
		//	app.Status = 1
		//	app.ModifyTime = time.Now().Unix()
		//	app.CreateTime = time.Now().Unix()
		//	service.CreateOrgApp(app)
		//}

		//if org_app_15 == nil || org_app_15.Id == 0 { //判断之前是否有创建该app类型，如果没有则插入数据
		//	app, _ := service.GetOrgAppA(0, 15)
		//	//org, _ := service.GetOrgById(int64(12))
		//	org, _ := service.GetOrgByIdB(int64(apps.OrgId))
		//	if org == nil || org.Id == 0 {
		//		continue
		//	}
		//
		//	app.OrgId = apps.OrgId
		//	app.Creator = int(org.Creator)
		//	app.Pid = xt_temp_org_app.Id
		//	app.Number = 10
		//	app.Status = 1
		//	app.Id = 0
		//	app.ModifyTime = time.Now().Unix()
		//	app.CreateTime = time.Now().Unix()
		//	service.CreateOrgApp(app)
		//}
	}

	//for _, role := range org_role {
	//	org_ids = append(org_ids, role.OrgId)
	//}
	//
	//
	////创建内置角色
	//InitRoleAndPurviews(org_ids)

	//var org_id int = 0
	//管理员
	//app_roles  := service.GetAllUserRoleByUserTypeOne(org_id)
	//for _, item := range app_roles{
	//	var ids string
	//	if len(item.RoleIds) == 0{
	//		ids = strconv.FormatInt( item.RoleId,10)
	//	}else{
	//		ids = item.RoleIds + ","+strconv.FormatInt( item.RoleId,10)
	//	}
	//	service.UpdateRoleIds(item.Id, ids)
	//}
	//护士医生
	//app_roles2  := service.GetAllUserRoleByUserTypeOther()
	//	for _, item := range app_roles2{
	//		var ids string
	//		if len(item.RoleIds) == 0{
	//			ids = strconv.FormatInt( item.RoleId,10)
	//		}else{
	//			ids = item.RoleIds + ","+strconv.FormatInt( item.RoleId,10)
	//		}
	//		if item.UserType == 2{
	//			role := service.FindRoleByUserTypeOne(item.OrgId)
	//			ids = ids +"," + strconv.FormatInt(role.Id,10)
	//
	//		} else if item.UserType == 3{
	//			role := service.FindRoleByUserTypeTwo(item.OrgId)
	//			ids = ids +"," + strconv.FormatInt(role.Id,10)
	//		}
	//		service.UpdateRoleIds(item.Id, ids)
	//	}
	//c.ServeSuccessJSON(map[string]interface{}{
	//	"msg": "ok",
	//})

}

func InitRoleAndPurviews(org_ids []int64) {
	roles := LoadRoleConfig("./role.json").Roles
	for _, org_id := range org_ids {
		app, _ := service.GetOrgAppB(org_id, 3)
		role, _ := service.GetSystemRole(org_id)

		if app == nil || app.Id == 0 {
			continue
		}
		if len(role) == 0 {
			for _, item := range roles {
				role := &models.Role{
					RoleName:     item.RoleName,
					RoleIntro:    item.RoleIntroduction,
					Creator:      0,
					OrgId:        org_id,
					AppId:        app.Id,
					IsSuperAdmin: false,
					Status:       1,
					CreateTime:   time.Now().Unix(),
					ModifyTime:   time.Now().Unix(),
					Number:       item.Number,
					IsSystem:     item.IsSystem,
				}
				err := service.CreateOrgRoleB(role)
				if err == nil {
					purview := &models.RolePurview{
						RoleId:     role.Id,
						OrgId:      org_id,
						AppId:      role.AppId,
						PurviewIds: item.PurviewIds,
						Status:     1,
						CreateTime: time.Now().Unix(),
						ModifyTime: time.Now().Unix(),
					}
					func_purview := &models.SgjUserRoleFuncPurview{
						RoleId:     role.Id,
						OrgId:      org_id,
						AppId:      role.AppId,
						PurviewIds: item.FuncIds,
						Status:     1,
						Ctime:      time.Now().Unix(),
						Mtime:      time.Now().Unix(),
					}

					service.CreateRolePurviewB(purview)
					service.CreateFuncRolePurviewB(func_purview)
				}
			}

		}
	}

}

type RoleConfig struct {
	Roles []*models.VMUserRoleAndPurview "json:roles"
}

func LoadRoleConfig(dataFile string) *RoleConfig {
	var config RoleConfig
	_, filename, _, _ := runtime.Caller(1)
	datapath := path.Join(path.Dir(filename), dataFile)
	config_file, err := os.Open(datapath)
	if err != nil {
		emit("Failed to open config file '%s': %s\n", datapath, err)
		return &config
	}

	fi, _ := config_file.Stat()

	buffer := make([]byte, fi.Size())
	_, err = config_file.Read(buffer)

	buffer, err = StripComments(buffer) //去掉注释
	if err != nil {
		emit("Failed to strip comments from json: %s\n", err)
		return &config
	}

	buffer = []byte(os.ExpandEnv(string(buffer))) //特殊
	err = json.Unmarshal(buffer, &config)         //解析json格式数据
	if err != nil {
		emit("Failed unmarshalling json: %s\n", err)
		return &config
	}
	return &config
}

type GoodTypesConfig struct {
	GoodTypes []*models.VMGoodsType "json:list"
}

func LoadGoodTypeConfig(dataFile string) *GoodTypesConfig {
	var config GoodTypesConfig
	_, filename, _, _ := runtime.Caller(1)
	datapath := path.Join(path.Dir(filename), dataFile)
	config_file, err := os.Open(datapath)
	if err != nil {
		emit("Failed to open config file '%s': %s\n", datapath, err)
		return &config
	}

	fi, _ := config_file.Stat()

	buffer := make([]byte, fi.Size())
	_, err = config_file.Read(buffer)

	buffer, err = StripComments(buffer) //去掉注释
	if err != nil {
		emit("Failed to strip comments from json: %s\n", err)
		return &config
	}

	buffer = []byte(os.ExpandEnv(string(buffer))) //特殊
	err = json.Unmarshal(buffer, &config)         //解析json格式数据
	if err != nil {
		emit("Failed unmarshalling json: %s\n", err)
		return &config
	}
	return &config
}

func (c *PublicApiController) HandleStockData() {
	org, _ := service.FindAllOrgByImportType()

	for _, item := range org {
		if item.Id != 3907 || item.Id != 9779 || item.Id != 9883 {
			goodTypes := &models.GoodsType{
				TypeCode: "14000000",
				TypeName: "穿刺针",
				Remark:   "",
				Ctime:    time.Now().Unix(),
				Mtime:    time.Now().Unix(),
				Creater:  0,
				Modifier: 0,
				OrgId:    item.Id,
				Status:   1,
				Type:     1,
				Number:   1,
			}

			service.AddSigleGoodType(goodTypes)

			goodTypes1 := &models.GoodsType{
				TypeCode: "14000001",
				TypeName: "透析器",
				Remark:   "",
				Ctime:    time.Now().Unix(),
				Mtime:    time.Now().Unix(),
				Creater:  0,
				Modifier: 0,
				OrgId:    item.Id,
				Status:   1,
				Type:     1,
				Number:   2,
			}

			service.AddSigleGoodType(goodTypes1)

			goodTypes2 := &models.GoodsType{
				TypeCode: "14000002",
				TypeName: "灌流器",
				Remark:   "",
				Ctime:    time.Now().Unix(),
				Mtime:    time.Now().Unix(),
				Creater:  0,
				Modifier: 0,
				OrgId:    item.Id,
				Status:   1,
				Type:     1,
				Number:   3,
			}

			service.AddSigleGoodType(goodTypes2)

			goodTypes3 := &models.GoodsType{
				TypeCode: "14000003",
				TypeName: "血路管",
				Remark:   "",
				Ctime:    time.Now().Unix(),
				Mtime:    time.Now().Unix(),
				Creater:  0,
				Modifier: 0,
				OrgId:    item.Id,
				Status:   1,
				Type:     1,
				Number:   4,
			}

			service.AddSigleGoodType(goodTypes3)

			goodTypes4 := &models.GoodsType{
				TypeCode: "14000004",
				TypeName: "血滤补液管",
				Remark:   "",
				Ctime:    time.Now().Unix(),
				Mtime:    time.Now().Unix(),
				Creater:  0,
				Modifier: 0,
				OrgId:    item.Id,
				Status:   1,
				Type:     1,
				Number:   5,
			}

			service.AddSigleGoodType(goodTypes4)

			goodTypes5 := &models.GoodsType{
				TypeCode: "14000005",
				TypeName: "注射器",
				Remark:   "",
				Ctime:    time.Now().Unix(),
				Mtime:    time.Now().Unix(),
				Creater:  0,
				Modifier: 0,
				OrgId:    item.Id,
				Status:   1,
				Type:     1,
				Number:   6,
			}

			service.AddSigleGoodType(goodTypes5)

			goodTypes6 := &models.GoodsType{
				TypeCode: "14000006",
				TypeName: "护理包(内瘘穿刺包)",
				Remark:   "",
				Ctime:    time.Now().Unix(),
				Mtime:    time.Now().Unix(),
				Creater:  0,
				Modifier: 0,
				OrgId:    item.Id,
				Status:   1,
				Type:     1,
				Number:   7,
			}

			service.AddSigleGoodType(goodTypes6)

			goodTypes7 := &models.GoodsType{
				TypeCode: "14000007",
				TypeName: "细菌过滤器",
				Remark:   "",
				Ctime:    time.Now().Unix(),
				Mtime:    time.Now().Unix(),
				Creater:  0,
				Modifier: 0,
				OrgId:    item.Id,
				Status:   1,
				Type:     1,
				Number:   8,
			}

			service.AddSigleGoodType(goodTypes7)

			goodTypes8 := &models.GoodsType{
				TypeCode: "14000008",
				TypeName: "血液透析干粉",
				Remark:   "",
				Ctime:    time.Now().Unix(),
				Mtime:    time.Now().Unix(),
				Creater:  0,
				Modifier: 0,
				OrgId:    item.Id,
				Status:   1,
				Type:     1,
				Number:   9,
			}

			service.AddSigleGoodType(goodTypes8)

			goodTypes9 := &models.GoodsType{
				TypeCode: "14000009",
				TypeName: "A液",
				Remark:   "",
				Ctime:    time.Now().Unix(),
				Mtime:    time.Now().Unix(),
				Creater:  0,
				Modifier: 0,
				OrgId:    item.Id,
				Status:   1,
				Type:     1,
				Number:   10,
			}

			service.AddSigleGoodType(goodTypes9)

			goodTypes10 := &models.GoodsType{
				TypeCode: "14000010",
				TypeName: "B液",
				Remark:   "",
				Ctime:    time.Now().Unix(),
				Mtime:    time.Now().Unix(),
				Creater:  0,
				Modifier: 0,
				OrgId:    item.Id,
				Status:   1,
				Type:     1,
				Number:   11,
			}

			service.AddSigleGoodType(goodTypes10)

			goodTypes11 := &models.GoodsType{
				TypeCode: "14000011",
				TypeName: "导管包",
				Remark:   "",
				Ctime:    time.Now().Unix(),
				Mtime:    time.Now().Unix(),
				Creater:  0,
				Modifier: 0,
				OrgId:    item.Id,
				Status:   1,
				Type:     1,
				Number:   12,
			}

			service.AddSigleGoodType(goodTypes11)

			goodTypes12 := &models.GoodsType{
				TypeCode: "14000012",
				TypeName: "血液透析导管",
				Remark:   "",
				Ctime:    time.Now().Unix(),
				Mtime:    time.Now().Unix(),
				Creater:  0,
				Modifier: 0,
				OrgId:    item.Id,
				Status:   1,
				Type:     1,
				Number:   13,
			}

			service.AddSigleGoodType(goodTypes12)
		}
	}
}

func (c *PublicApiController) HandleComData() {
	org_ids := []int64{3907, 9779, 9883}

	for _, id := range org_ids {
		//查处所有处方记录
		prescriptions, _ := service.FindAllPrescription(id)
		if id == 3907 {

			for _, item := range prescriptions {

				if item.Niprocart > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Niprocart
					before.GoodTypeId = 241
					service.AddSigleDialysisBeforePre(before)
				}

				if item.Jms > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Jms
					before.GoodTypeId = 233
					service.AddSigleDialysisBeforePre(before)

				}

				if item.FistulaNeedleSet > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.FistulaNeedleSet
					before.GoodTypeId = 233
					service.AddSigleDialysisBeforePre(before)
				}

				if item.FistulaNeedleSet16 > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.FistulaNeedleSet16
					before.GoodTypeId = 233
					service.AddSigleDialysisBeforePre(before)

				}

				if item.Hemoperfusion > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Hemoperfusion
					before.GoodTypeId = 235
					service.AddSigleDialysisBeforePre(before)

				}

				if item.DialyserSterilised > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.DialyserSterilised
					before.GoodTypeId = 234
					service.AddSigleDialysisBeforePre(before)

				}

				if item.Filtryzer > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Filtryzer
					before.GoodTypeId = 234
					service.AddSigleDialysisBeforePre(before)

				}

				if item.Dialyzers > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Dialyzers
					before.GoodTypeId = 234
					service.AddSigleDialysisBeforePre(before)

				}

				if item.Injector > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Injector
					before.GoodTypeId = 238
					service.AddSigleDialysisBeforePre(before)

				}

				if item.Bloodlines > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Bloodlines
					before.GoodTypeId = 236
					service.AddSigleDialysisBeforePre(before)

				}

				if item.TubingHemodialysis > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.TubingHemodialysis
					before.GoodTypeId = 237
					service.AddSigleDialysisBeforePre(before)

				}

				if item.Package > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Package
					before.GoodTypeId = 239
					service.AddSigleDialysisBeforePre(before)

				}

				if item.ALiquid > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.ALiquid
					before.GoodTypeId = 242
					service.AddSigleDialysisBeforePre(before)

				}

			}

		} else if id == 9779 {

			for _, item := range prescriptions {

				if item.Niprocart > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Niprocart
					before.GoodTypeId = 254
					service.AddSigleDialysisBeforePre(before)
				}

				if item.Jms > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Jms
					before.GoodTypeId = 246
					service.AddSigleDialysisBeforePre(before)

				}

				if item.FistulaNeedleSet > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.FistulaNeedleSet
					before.GoodTypeId = 246
					service.AddSigleDialysisBeforePre(before)
				}

				if item.FistulaNeedleSet16 > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.FistulaNeedleSet16
					before.GoodTypeId = 246
					service.AddSigleDialysisBeforePre(before)

				}

				if item.Hemoperfusion > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Hemoperfusion
					before.GoodTypeId = 248
					service.AddSigleDialysisBeforePre(before)

				}

				if item.DialyserSterilised > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.DialyserSterilised
					before.GoodTypeId = 247
					service.AddSigleDialysisBeforePre(before)

				}

				if item.Filtryzer > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Filtryzer
					before.GoodTypeId = 247
					service.AddSigleDialysisBeforePre(before)

				}

				if item.Dialyzers > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Dialyzers
					before.GoodTypeId = 247
					service.AddSigleDialysisBeforePre(before)

				}

				if item.Injector > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Injector
					before.GoodTypeId = 251
					service.AddSigleDialysisBeforePre(before)

				}

				if item.Bloodlines > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Bloodlines
					before.GoodTypeId = 249
					service.AddSigleDialysisBeforePre(before)

				}

				if item.TubingHemodialysis > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.TubingHemodialysis
					before.GoodTypeId = 250
					service.AddSigleDialysisBeforePre(before)

				}

				if item.Package > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Package
					before.GoodTypeId = 252
					service.AddSigleDialysisBeforePre(before)

				}

				if item.ALiquid > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.ALiquid
					before.GoodTypeId = 255
					service.AddSigleDialysisBeforePre(before)

				}

			}

		} else if id == 9883 {

			for _, item := range prescriptions {

				if item.Niprocart > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Niprocart
					before.GoodTypeId = 267
					service.AddSigleDialysisBeforePre(before)
				}

				if item.Jms > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Jms
					before.GoodTypeId = 259
					service.AddSigleDialysisBeforePre(before)

				}

				if item.FistulaNeedleSet > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}

					before.GoodId = item.FistulaNeedleSet
					before.GoodTypeId = 259
					service.AddSigleDialysisBeforePre(before)
				}

				if item.FistulaNeedleSet16 > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.FistulaNeedleSet16
					before.GoodTypeId = 259
					service.AddSigleDialysisBeforePre(before)

				}

				if item.Hemoperfusion > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Hemoperfusion
					before.GoodTypeId = 261
					service.AddSigleDialysisBeforePre(before)

				}

				if item.DialyserSterilised > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.DialyserSterilised
					before.GoodTypeId = 260
					service.AddSigleDialysisBeforePre(before)

				}

				if item.Filtryzer > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Filtryzer
					before.GoodTypeId = 260
					service.AddSigleDialysisBeforePre(before)

				}

				if item.Dialyzers > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Dialyzers
					before.GoodTypeId = 260
					service.AddSigleDialysisBeforePre(before)

				}

				if item.Injector > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Injector
					before.GoodTypeId = 264
					service.AddSigleDialysisBeforePre(before)

				}

				if item.Bloodlines > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Bloodlines
					before.GoodTypeId = 262
					service.AddSigleDialysisBeforePre(before)

				}

				if item.TubingHemodialysis > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.TubingHemodialysis
					before.GoodTypeId = 263
					service.AddSigleDialysisBeforePre(before)

				}

				if item.Package > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.Package
					before.GoodTypeId = 265
					service.AddSigleDialysisBeforePre(before)

				}

				if item.ALiquid > 0 {
					before := &models.DialysisBeforePrepare{
						UserOrgId:  id,
						PatientId:  item.PatientId,
						RecordDate: item.RecordDate,
						Count:      1,
						Ctime:      item.RecordDate,
						Mtime:      item.RecordDate,
						Creater:    item.Creater,
						Modifier:   item.Creater,
						Status:     1,
					}
					before.GoodId = item.ALiquid
					before.GoodTypeId = 268
					service.AddSigleDialysisBeforePre(before)

				}

			}

		}

	}

}

func (c *PublicApiController) HandleHIS() {
	his, _ := service.GetAllHisInfo(9919)
	for _, item := range his {
		fsn := strings.Split(item.FeedetlSn, "-")
		item.FeedetlSn = fsn[0] + "-" + fsn[1] + "-" + strconv.FormatInt(item.ID, 10)
		fmt.Println(item.FeedetlSn)
		service.UpDateHis2(item)
	}

}

//func (c *PublicApiController)HandleOrder(){
//	//orders, _ := service.GetAllHisOrder()
//
//
//	order, _ := service.GetLastHisOrder()
//
//	fpNumber, _ := strconv.Atoi(order.FaPiaoNumber)
//
//
//	//fmt.Println(fpNumber)
//
//	//for index, item := range orders {
//	//	item.FaPiaoCode ="144072080589"
//	//	var zero string
//	//	if 1520 + int64(index) >= 1000{
//	//		zero = "0000" + strconv.FormatInt(1520 + int64(index),10)
//	//	}else if 1520 + int64(index) >= 10000{
//	//		zero = "000" + strconv.FormatInt(1520 + int64(index),10)
//	//	} else if 1520 + int64(index) >= 100000{
//	//		zero = "00" +strconv.FormatInt(1520 + int64(index),10)
//	//	} else if 1520 + int64(index) >= 1000000{
//	//		zero = "0" +strconv.FormatInt(1520 + int64(index),10)
//	//	}else {
//	//		zero = strconv.FormatInt(1520 + int64(index),10)
//	//	}
//	//	item.FaPiaoNumber = zero
//	//	service.SaveOrder(item)
//	//}
//}

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
}
