manage_service.go 50KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047
  1. package service
  2. import (
  3. "XT_New/models"
  4. "fmt"
  5. "github.com/jinzhu/gorm"
  6. "strings"
  7. "time"
  8. )
  9. func GetEquitmentName(unit_type string, orgid int64) (*models.DeviceEquimentname, error) {
  10. var equimentname models.DeviceEquimentname
  11. var err error
  12. err = UserReadDB().Model(&equimentname).Where("equitment_name = ? and user_org_id = ? and status = 1", unit_type, orgid).Find(&equimentname).Error
  13. if err == gorm.ErrRecordNotFound {
  14. return nil, err
  15. }
  16. if err != nil {
  17. return nil, err
  18. }
  19. return &equimentname, nil
  20. }
  21. func CreateEquimentName(equimentname models.DeviceEquimentname) error {
  22. //err := XTWriteDB().Create(&equimentname).Error
  23. //return err
  24. err := writeUserDb.Create(&equimentname).Error
  25. return err
  26. }
  27. func CreateMacher(machers *models.DeviceAddmacher) error {
  28. //err := writeDb.Create(&machers).Error
  29. //xt := writeDb.Begin()
  30. // //fmt.Println("hhhhhhhh",xt)
  31. // //err := xt.Model(&models.DeviceAddmacher{}).Create(machers).Error
  32. // //fmt.Println("err",err)
  33. // //if err !=nil{
  34. // // xt.Rollback()
  35. // //}
  36. // //xt.Commit()
  37. // //return err
  38. err := writeUserDb.Create(&machers).Error
  39. return err
  40. }
  41. func UpdateMachine(id int64, orgid int64, addmacher *models.DeviceAddmacher) error {
  42. err := writeUserDb.Model(&addmacher).Where("id = ? AND user_org_id = ? AND status = ?", id, orgid, 1).Updates(map[string]interface{}{"serial_number": addmacher.SerialNumber, "device_type": addmacher.DeviceType, "bed_number": addmacher.BedNumber, "device_name": addmacher.DeviceName, "manufacture_factory": addmacher.ManufactureFactory, "service_manufacturer": addmacher.ServiceManufacturer, "unit_type": addmacher.UnitType, "use_section": addmacher.UseSection, "section_number": addmacher.SectionNumber, "buy_date": addmacher.BuyDate, "install_date": addmacher.InstallDate, "start_date": addmacher.StartDate, "maintenace_engineer": addmacher.MaintenaceEngineer, "telephone": addmacher.Telephone, "guarantee_date": addmacher.GuaranteeDate, "machine_status": addmacher.MachineStatus, "user_total": addmacher.UserTotal, "remarks": addmacher.Remarks, "rubbish_date": addmacher.RubbishDate, "rubbish_reason": addmacher.RubbishReason, "user_year": addmacher.UserYear, "work_time": addmacher.WorkTime, "bed_id": addmacher.BedId, "disinfection_mode": addmacher.DisinfectionMode, "revers_mode": addmacher.ReversMode, "mtime": time.Now().Unix()}).Error
  43. return err
  44. }
  45. func GetZoneName(zoneid int64, orgid int64) (models.DeviceZone, error) {
  46. zone := models.DeviceZone{}
  47. err := XTReadDB().Where("id = ? AND org_id = ?", zoneid, orgid).Find(&zone).Error
  48. return zone, err
  49. }
  50. func UpdateTreatMode(id int64, orgid int64, treatmodes []int64) (err error) {
  51. utx := XTWriteDB().Begin()
  52. err = utx.Model(models.DeviceTreatmentmode{}).Where("machine_id = ? AND user_org_id = ?", id, orgid).Updates(map[string]interface{}{"status": 2, "mtime": time.Now().Unix()}).Error
  53. fmt.Println("错误是什么", err)
  54. if err != nil {
  55. utx.Rollback()
  56. return
  57. }
  58. if len(treatmodes) > 0 {
  59. thisSQL := "INSERT INTO xt_device_treatmentmode(machine_id,treate_mode,status,ctime,user_org_id) VALUES "
  60. insertParams := make([]string, 0)
  61. insertData := make([]interface{}, 0)
  62. for _, treatmode := range treatmodes {
  63. insertParams = append(insertParams, "(?, ?, ?, ?, ?)")
  64. insertData = append(insertData, id)
  65. insertData = append(insertData, treatmode)
  66. insertData = append(insertData, 1)
  67. insertData = append(insertData, time.Now().Unix())
  68. insertData = append(insertData, orgid)
  69. }
  70. thisSQL += strings.Join(insertParams, ",")
  71. err = utx.Exec(thisSQL, insertData...).Error
  72. if err != nil {
  73. utx.Rollback()
  74. return
  75. }
  76. }
  77. utx.Commit()
  78. return
  79. }
  80. func GetAllEquimentName(orgid int64) (equit []*models.DeviceEquimentname, err error) {
  81. err = readUserDb.Model(&equit).Where("user_org_id = ? AND status = ?", orgid, 1).Group("equitment_name").Find(&equit).Error
  82. return equit, err
  83. }
  84. func GetBed(equitid int64) (models.DeviceAddmacher, error) {
  85. addmacher := models.DeviceAddmacher{}
  86. err := UserReadDB().Where("id=? AND status = ?", equitid, 1).Find(&addmacher).Error
  87. return addmacher, err
  88. }
  89. func QueryPlan(orgid int64, devicetype int64, ids []int64, classids []int64, equitid int64) (*models.DevicePlan, error) {
  90. var pre models.DevicePlan
  91. var err error
  92. //for _, id := range ids {
  93. // for _, classids := range classids {
  94. // err = UserReadDB().Model(&pre).Where("user_org_id = ? AND device_type = ? AND time = ? AND classtime = ? AND equiment_id = ? AND status = 1", orgid, devicetype, id, classids, equitid).Find(&pre).Error
  95. // }
  96. //}
  97. //if err == gorm.ErrRecordNotFound {
  98. // return nil, err
  99. //}
  100. //if err != nil {
  101. // return nil, err
  102. //}
  103. //return &pre, nil
  104. if len(ids) == 1 && len(classids) == 1 {
  105. err = UserWriteDB().Model(&models.DevicePlan{}).Where("user_org_id = ? and device_type = ? and time = ? and classtime = ? and status = 1 ", orgid, devicetype, ids[0], classids[0]).Find(&pre).Error
  106. if err == gorm.ErrRecordNotFound {
  107. return nil, err
  108. }
  109. if err != nil {
  110. return nil, err
  111. }
  112. } else {
  113. err = UserWriteDB().Model(models.DevicePlan{}).Where("time IN(?) and user_org_id = ? and device_type = ? AND classtime IN(?) and status = 1", ids, orgid, devicetype, classids).Find(&pre).Error
  114. if err == gorm.ErrRecordNotFound {
  115. return nil, err
  116. }
  117. if err != nil {
  118. return nil, err
  119. }
  120. }
  121. return &pre, nil
  122. }
  123. func AddPlan(orgid int64, deviceType int64, disinfecTime string, ids []int64, classids []int64, way int64, machinedisinfectant int64, disinfectantway int64, disinfectant int64, equimentid int64, bedid int64) (err error) {
  124. xt := UserWriteDB().Begin()
  125. if len(ids) > 0 {
  126. thisSQL := "INSERT INTO xt_device_plan(device_type,disinfec_time,time,classtime,way,machine_disinfectant,disinfectan_way,disinfectant,status,ctime,user_org_id,equiment_id,bed_id) VALUES "
  127. insertParams := make([]string, 0)
  128. insertData := make([]interface{}, 0)
  129. for _, id := range ids {
  130. for _, classids := range classids {
  131. insertParams = append(insertParams, "(?,?,?,?,?,?,?,?,?,?,?,?,?)")
  132. insertData = append(insertData, deviceType)
  133. insertData = append(insertData, disinfecTime)
  134. insertData = append(insertData, id)
  135. insertData = append(insertData, classids)
  136. insertData = append(insertData, way)
  137. insertData = append(insertData, machinedisinfectant)
  138. insertData = append(insertData, disinfectantway)
  139. insertData = append(insertData, disinfectant)
  140. insertData = append(insertData, 1)
  141. insertData = append(insertData, time.Now().Unix())
  142. insertData = append(insertData, orgid)
  143. insertData = append(insertData, equimentid)
  144. insertData = append(insertData, bedid)
  145. }
  146. }
  147. thisSQL += strings.Join(insertParams, ",")
  148. err = xt.Exec(thisSQL, insertData...).Error
  149. if err != nil {
  150. xt.Rollback()
  151. return
  152. }
  153. }
  154. xt.Commit()
  155. return
  156. }
  157. func GetAllPlan(orgid int64) (plan []*models.DevicePlans, err error) {
  158. //db := readUserDb.Table("xt_device_plan as p").Where("p.status = 1")
  159. // //table := readUserDb.Table("xt_device_addmacher as e")
  160. // //fmt.Println("table", table)
  161. // //if orgid > 0 {
  162. // // db = db.Where("p.user_org_id = ?", orgid)
  163. // //}
  164. // //err = db.Select("p.id,p.device_type,p.disinfec_time,p.time,p.classtime,p.way,p.machine_disinfectant,p.disinfectan_way,p.disinfectant,e.unit_type").Group("p.id").Joins("Left JOIN xt_device_addmacher as e On e.id = p.device_type").Order("e.unit_type asc,p.time").Scan(&plan).Error
  165. // //return plan, err
  166. err = readUserDb.Raw("select DISTINCT p.id,p.device_type,p.disinfec_time,p.time,p.classtime,p.way,p.machine_disinfectant,p.disinfectan_way,p.disinfectant,p.equiment_id,p.bed_id,e.device_mode from xt_device_plan as p left join xt_device_mode as e On e.id = p.device_type where p.user_org_id = ? and p.status = 1", orgid).Order("e.device_mode asc,p.time").Scan(&plan).Error
  167. return plan, err
  168. }
  169. func GetDeviceType(unitype string) (models.DeviceMode, error) {
  170. equimentname := models.DeviceMode{}
  171. err := UserReadDB().Where("id = ?", unitype).Find(&equimentname).Error
  172. return equimentname, err
  173. }
  174. func GetAllPlanDetail(id int64, orgid int64) (plan []*models.DevicePlans, err error) {
  175. //db := readUserDb.Table("xt_device_plan as p").Where("p.status = 1")
  176. //table := readUserDb.Table("xt_device_addmacher as e")
  177. //fmt.Println("table", table)
  178. //if orgid > 0 {
  179. // db = db.Where("p.user_org_id = ?", orgid)
  180. //}
  181. //if id > 0 {
  182. // db = db.Where("p.equiment_id = ?", id)
  183. //}
  184. //err = db.Select("p.id,p.device_type,p.disinfec_time,p.time,p.classtime,p.way,p.machine_disinfectant,p.disinfectan_way,p.disinfectant,e.unit_type").Group("p.id").Joins("Left JOIN xt_device_addmacher as e On e.id = p.equiment_id").Order("p.time asc").Scan(&plan).Error
  185. //return plan, err
  186. err = readUserDb.Raw("select DISTINCT p.id,p.device_type,p.disinfec_time,p.time,p.classtime,p.way,p.machine_disinfectant,p.disinfectan_way,p.disinfectant,p.equiment_id,p.bed_id,e.device_mode from xt_device_plan as p left join xt_device_mode as e On e.id = p.device_type where p.user_org_id = ? and p.device_type = ? and p.status = 1", orgid, id).Order("p.time asc,p.classtime asc").Scan(&plan).Error
  187. return plan, err
  188. }
  189. func DeletePlan(id int64) (err error) {
  190. err = UserWriteDB().Model(&models.DevicePlan{}).Where("id=?", id).Updates(map[string]interface{}{"status": 0, "mtime": time.Now().Unix()}).Error
  191. return
  192. }
  193. func DeletePlans(orgid int64, ids []int64) (err error) {
  194. if len(ids) == 1 {
  195. err = UserWriteDB().Model(&models.DevicePlan{}).Where("id=? and user_org_id = ?", ids[0], orgid).Updates(map[string]interface{}{"status": 0, "mtime": time.Now().Unix()}).Error
  196. } else {
  197. err = UserWriteDB().Model(models.DevicePlan{}).Where("id IN(?) and user_org_id = ?", ids, orgid).Updates(map[string]interface{}{"status": 0, "mtime": time.Now().Unix()}).Error
  198. }
  199. return
  200. }
  201. func GetPlanDetailById(id int64, orgid int64) (models.DevicePlanss, error) {
  202. plans := models.DevicePlanss{}
  203. db := UserReadDB().Table("xt_device_plan as x").Where("x.status = 1")
  204. table := UserReadDB().Table("xt_device_addmacher as a").Where("a.status = 1")
  205. fmt.Println("table", table)
  206. if id > 0 {
  207. db = db.Where("x.id = ?", id)
  208. }
  209. if orgid > 0 {
  210. db = db.Where("x.user_org_id = ?", orgid)
  211. }
  212. err := db.Select("x.id,x.device_type,x.disinfec_time,x.time,x.classtime,x.way,x.machine_disinfectant,x.disinfectan_way,x.disinfectant,x.status,x.user_org_id,x.equiment_id,a.unit_type").Joins("Left Join xt_device_addmacher as a ON a.id = x.equiment_id").Scan(&plans).Error
  213. return plans, err
  214. }
  215. func UpdatePlanInfo(id int64, orgid int64, plan models.DevicePlan) error {
  216. err := writeUserDb.Model(&plan).Where("id = ? AND user_org_id = ?", id, orgid).Updates(map[string]interface{}{"device_type": plan.DeviceType, "disinfec_time": plan.DisinfecTime, "time": plan.Time, "classtime": plan.Classtime, "way": plan.Way, "machine_disinfectant": plan.MachineDisinfectant, "disinfectan_way": plan.MachineDisinfectant, "disinfectant": plan.Disinfectant, "mtime": time.Now().Unix()}).Error
  217. return err
  218. }
  219. func GetComprehensive(zone int64, number int64, devicetype int64, year int64, starttime int64, endtime int64, orgid int64) (macher []*models.DeviceAddmachers, err error) {
  220. db := readUserDb.Table("xt_device_addmacher as a").Where("a.status = 1")
  221. table := XTReadDB().Table("xt_device_zone as x")
  222. fmt.Println(table)
  223. if orgid > 0 {
  224. db = db.Where("a.user_org_id = ?", orgid)
  225. }
  226. if zone > 0 {
  227. db = db.Where("a.zone_id = ?", zone)
  228. }
  229. if number > 0 {
  230. db = db.Where("a.bed_id = ?", number)
  231. }
  232. if devicetype > 0 {
  233. db = db.Where("a.device_type = ?", devicetype)
  234. }
  235. if year == 1 {
  236. db = db.Where("a.user_year >= 0 AND a.user_year <= 1")
  237. }
  238. if year == 2 {
  239. db = db.Where("a.user_year >=1 AND a.user_year <= 3")
  240. }
  241. if year == 3 {
  242. db = db.Where("a.user_year >=3 AND a.user_year <= 10")
  243. }
  244. if year == 4 {
  245. db = db.Where("a.user_year >=10")
  246. }
  247. if starttime > 0 {
  248. db = db.Where("a.ctime >= ?", starttime)
  249. }
  250. if endtime > 0 {
  251. db = db.Where("a.ctime <= ?", endtime)
  252. }
  253. err = db.Select("a.id,a.serial_number,a.device_type,a.bed_number,a.device_name,a.manufacture_factory,a.service_manufacturer,a.unit_type,a.use_section,a.section_number,a.buy_date,a.install_date,a.start_date,a.maintenace_engineer,a.telephone,a.guarantee_date,a.machine_status,a.user_total,a.disinfection_mode,a.remarks,a.rubbish_date,a.rubbish_reason,a.user_year,a.work_time,a.revers_mode,a.user_org_id,a.status,a.ctime,a.mtime,a.zone_id,a.bed_id,x.name,m.device_mode").Joins("Left JOIN sgj_xt.xt_device_zone as x On x.id = a.zone_id").Joins("Left JOIN xt_device_mode as m on m.id = a.unit_type").Scan(&macher).Error
  254. return macher, err
  255. }
  256. func GetBedId(id int64) (models.DeviceAddmacher, error) {
  257. addmacher := models.DeviceAddmacher{}
  258. err := UserReadDB().Where("id = ? AND status = 1", id).Find(&addmacher).Error
  259. return addmacher, err
  260. }
  261. func GetPatientInfo(bedid int64, nowtime int64, orgid int64) (schedules []*models.Schedules, err error) {
  262. db := XTReadDB().Table("xt_schedule as s").Where("s.status = 1")
  263. table := XTReadDB().Table("xt_patients as x")
  264. fmt.Println("table", table)
  265. if bedid > 0 {
  266. db = db.Where("s.bed_id = ?", bedid)
  267. }
  268. if nowtime > 0 {
  269. db = db.Where("s.schedule_date = ?", nowtime)
  270. }
  271. if orgid > 0 {
  272. db = db.Where("s.user_org_id = ?", orgid)
  273. }
  274. err = db.Select("s.id,s.user_org_id,s.partition_id,s.bed_id,s.patient_id,s.schedule_date,s.schedule_type,s.schedule_week,s.mode_id,x.name").Joins("Left Join xt_patients as x On x.id = s.patient_id").Scan(&schedules).Error
  275. return schedules, err
  276. }
  277. func GetPatient(bedid int64, orgid int64, classid int64, nowtime int64) (schedules models.Schedules, err error) {
  278. db := XTReadDB().Table("xt_schedule as s").Where("s.status = 1")
  279. table := XTReadDB().Table("xt_patients as x")
  280. fmt.Println("table", table)
  281. err = db.Select("s.id,s.user_org_id,s.partition_id,s.bed_id,s.patient_id,s.schedule_date,s.schedule_type,s.schedule_week,s.mode_id,x.name,x.is_infectious").Joins("Left Join xt_patients as x On x.id = s.patient_id").Where("s.bed_id = ? AND s.user_org_id = ? AND s.schedule_type = ? AND s.schedule_date = ?", bedid, orgid, classid, nowtime).Scan(&schedules).Error
  282. return schedules, err
  283. }
  284. func GetPartitionName(id int64) (models.DeviceZone, error) {
  285. zone := models.DeviceZone{}
  286. err := XTReadDB().Where("id = ? AND status = 1", id).Find(&zone).Error
  287. return zone, err
  288. }
  289. func GetPatientNumber(id int64) (models.DeviceNumber, error) {
  290. number := models.DeviceNumber{}
  291. err := XTReadDB().Where("id = ? AND status = 1", id).Find(&number).Error
  292. return number, err
  293. }
  294. func GetDialysisOrder(time int64, patientid int64, orgid int64) (models.DialysisOrder, error) {
  295. order := models.DialysisOrder{}
  296. err := XTReadDB().Where("dialysis_date = ? AND patient_id = ? AND user_org_id = ? ", time, patientid, orgid).Find(&order).Error
  297. return order, err
  298. }
  299. func GetDialysisWay(time int64, patientid int64, orgid int64) (models.DialysisPrescription, error) {
  300. prescription := models.DialysisPrescription{}
  301. err := XTReadDB().Where("record_date = ? AND patient_id = ? AND user_org_id = ?", time, patientid, orgid).Find(&prescription).Error
  302. return prescription, err
  303. }
  304. func GetDialysisTime(time int64, patientid int64, orgid int64) (models.AssessmentAfterDislysis, error) {
  305. dislysis := models.AssessmentAfterDislysis{}
  306. err := XTReadDB().Where("assessment_date = ? AND patient_id = ? AND user_org_id = ?", time, patientid, orgid).Find(&dislysis).Error
  307. return dislysis, err
  308. }
  309. func GetAllOrganization(orgid int64, appid int64) (approle []*models.App_Role, err error) {
  310. err = UserReadDB().Where("org_id = ? AND app_id = ? AND status = 1", orgid, appid).Find(&approle).Error
  311. return approle, err
  312. }
  313. func CreateUserInformation(information *models.DeviceInformation) error {
  314. err := writeUserDb.Create(&information).Error
  315. return err
  316. }
  317. func GetRegisterInfo(orgid int64, id int64, timenow int64) (models.DeviceInformations, error) {
  318. //information := models.DeviceInformations{}
  319. var information models.DeviceInformations
  320. db := UserReadDB().Table("xt_device_information as x").Where("x.status = 1")
  321. table := XTReadDB().Table("xt_patients as p")
  322. fmt.Println("table", table)
  323. dbs := UserReadDB().Table("sgj_user_admin_role as r")
  324. fmt.Print("dbs", dbs)
  325. err = db.Select("x.id,x.date,x.class,x.zone,x.bed_number,x.patient_id,x.contagion,x.dialysis_mode,x.start_time,x.end_time,x.dialysis_hour,x.hyperfiltratio,x.weight_loss,x.warning_value,x.user_total,x.move,x.failure_stage,x.fault_description,x.code_information,x.disinfect_type,x.disinfectant_type,x.disinfection,x.machine_run,x.fluid_path,x.disinfectant,x.disinfection_status,x.disinfection_residue,x.long_time,x.disinfec_startime,x.disinfec_endtime,x.dialysis_checked,x.dialysis_name,x.norms,x.dialysis_concentration,x.germ_checked,x.germ_name,x.germ_number,x.clean,x.sign_name,x.equiment_id,p.name,r.user_name,r.admin_user_id").Joins("Left join sgj_xt.xt_patients as p On p.id = x.patient_id").Joins("Left Join sgj_user_admin_role as r on r.admin_user_id = x.sign_name").Where("x.user_org_id = ? AND x.equiment_id = ? AND x.date = ?", orgid, id, timenow).Scan(&information).Error
  326. return information, err
  327. }
  328. func GetSignName(id int64, orgid int64, appid int64) (models.App_Role, error) {
  329. role := models.App_Role{}
  330. err := UserReadDB().Model(&role).Where("admin_user_id = ? AND org_id = ? AND app_id = ?", id, orgid, appid).Find(&role).Error
  331. return role, err
  332. }
  333. func GetInformationData(limit int64, page int64, orgId int64) (information []*models.DeviceInformations, total int64, err error) {
  334. db := UserReadDB().Table("xt_device_information as x").Where("x.status = 1")
  335. table := XTReadDB().Table("xt_patients as p")
  336. fmt.Println("table", table)
  337. dbs := UserReadDB().Table("sgj_user_admin_role as r")
  338. fmt.Println("dbs", dbs)
  339. offset := (page - 1) * limit
  340. if orgId > 0 {
  341. db = db.Where("x.user_org_id = ?", orgId)
  342. }
  343. err = db.Group("x.id").Select("x.id,x.date,x.class,x.zone,x.bed_number,x.patient_id,x.contagion,x.dialysis_mode,x.start_time,x.end_time,x.dialysis_hour,x.hyperfiltratio,x.weight_loss,x.warning_value,x.user_total,x.move,x.failure_stage,x.fault_description,x.code_information,x.disinfect_type,x.disinfectant_type,x.disinfection,x.machine_run,x.fluid_path,x.disinfectant,x.disinfection_status,x.disinfection_residue,x.long_time,x.disinfec_startime,x.disinfec_endtime,x.dialysis_checked,x.dialysis_name,x.norms,x.dialysis_concentration,x.germ_checked,x.germ_name,x.germ_number,x.clean,x.sign_name,x.equiment_id,p.name,r.user_name").Count(&total).Joins("Left Join sgj_xt.xt_patients as p on p.id = x.patient_id").Joins("Left Join sgj_user_admin_role as r on r.admin_user_id = x.sign_name").Order("x.ctime desc").Offset(offset).Limit(limit).Scan(&information).Error
  344. if err != nil {
  345. return
  346. }
  347. return
  348. }
  349. func GetOrgName(orgid int64) (models.Org, error) {
  350. org := models.Org{}
  351. err := UserReadDB().Where("id= ? AND status = 1", orgid).Find(&org).Error
  352. return org, err
  353. }
  354. func CreateCulture(culture *models.DeviceCulture) error {
  355. err := writeUserDb.Create(&culture).Error
  356. return err
  357. }
  358. func CreateDialysate(dialysate *models.DeviceDialysate) error {
  359. err := writeUserDb.Create(&dialysate).Error
  360. return err
  361. }
  362. func CreateIon(ion *models.DeviceIon) error {
  363. err := writeUserDb.Create(&ion).Error
  364. return err
  365. }
  366. func GetAllCulture(orgId int64) (cultures []*models.DeviceCultures, err error) {
  367. db := UserReadDB().Table("xt_device_culture as x").Where("x.status = 1")
  368. table := UserReadDB().Table("sgj_user_admin_role as r")
  369. fmt.Println("table", table)
  370. if orgId > 0 {
  371. db = db.Where("x.user_org_id = ?", orgId)
  372. }
  373. err = db.Group("x.id").Select("x.id,x.speling_date,x.specimen,x.concentrate_noa,x.concentrate_nob,x.sampling_locationa,x.detection_unit,x.sampler,x.reporting_date,x.detection_result,x.bed_id,x.bed,r.user_name").Joins("Left Join sgj_user_admin_role as r on r.admin_user_id = x.sampler").Scan(&cultures).Error
  374. return cultures, err
  375. }
  376. func GetAllDialysate(orgId int64) (dialysate []*models.DeviceDialysates, err error) {
  377. db := UserReadDB().Table("xt_device_dialysate as x").Where("x.status = 1")
  378. table := UserReadDB().Table("sgj_user_admin_role as r")
  379. fmt.Println("table", table)
  380. if orgId > 0 {
  381. db = db.Where("x.user_org_id = ?", orgId)
  382. }
  383. err = db.Group("x.id").Select("x.id,x.sampling_date,x.specimenb,x.concentrate_noc,x.concentrateb_nod,x.sampling_locationb,x.detection_unit,x.samplerb,x.reporting_dateb,x.detection_resultb,x.bed_id,x.bed,r.user_name").Joins("Left Join sgj_user_admin_role as r on r.admin_user_id = x.samplerb").Scan(&dialysate).Error
  384. return dialysate, err
  385. }
  386. func GetAllDeviceIon(orgId int64) (ions []*models.DeviceIons, err error) {
  387. db := UserReadDB().Table("xt_device_ion as x").Where("x.status = 1")
  388. table := UserReadDB().Table("sgj_user_admin_role as r")
  389. fmt.Println("table", table)
  390. if orgId > 0 {
  391. db = db.Where("x.user_org_id = ?", orgId)
  392. }
  393. err = db.Group("x.id").Select("x.id,x.sampling_date,x.samplerc,x.detection_unit,x.concentrate_nof,x.concentrate_nog,x.date_reportc,x.actual_na,x.actual_pna,x.actual_k,x.actual_ca,x.actual_ci,x.actual_hco,x.actual_mg,x.actual_ph,x.remakes,x.bed_id,x.bed,r.user_name").Joins("Left Join sgj_user_admin_role as r on r.admin_user_id = x.samplerc").Scan(&ions).Error
  394. return ions, err
  395. }
  396. func GetCultureById(id int64) (models.DeviceCulture, error) {
  397. culture := models.DeviceCulture{}
  398. err := UserReadDB().Model(&culture).Where("id=? AND status = 1", id).Find(&culture).Error
  399. return culture, err
  400. }
  401. func GetSampler(id int64) (models.App_Role, error) {
  402. role := models.App_Role{}
  403. err := UserReadDB().Model(&role).Where("id= ? AND status =1", id).Find(&role).Error
  404. return role, err
  405. }
  406. func UpdateCulture(id int64, orgid int64, culture *models.DeviceCulture) error {
  407. err := writeUserDb.Model(&culture).Where("id= ? AND user_org_id = ? AND status = ?", id, orgid, 1).Updates(map[string]interface{}{"speling_date": culture.SpelingDate, "specimen": culture.Specimen, "concentrate_noa": culture.ConcentrateNoa, "concentrate_nob": culture.ConcentrateNob, "sampling_locationa": culture.SamplingLocationa, "detection_unit": culture.DetectionUnit, "sampler": culture.Sampler, "reporting_date": culture.ReportingDate, "detection_result": culture.DetectionResult, "mtime": time.Now().Unix()}).Error
  408. return err
  409. }
  410. func DeleteCultrues(id int64) (err error) {
  411. err = UserWriteDB().Model(models.DeviceCulture{}).Where("id=?", id).Updates(map[string]interface{}{"status": 0, "mtime": time.Now().Unix()}).Error
  412. return
  413. }
  414. func DeleteCultrue(orgid int64, ids []int64) (err error) {
  415. if len(ids) == 1 {
  416. err = UserWriteDB().Model(&models.DeviceCulture{}).Where("id=? and user_org_id = ?", ids[0], orgid).Updates(map[string]interface{}{"status": 0, "mtime": time.Now().Unix()}).Error
  417. } else {
  418. err = UserWriteDB().Model(models.DeviceCulture{}).Where("id IN(?) and user_org_id = ?", ids, orgid).Updates(map[string]interface{}{"status": 0, "mtime": time.Now().Unix()}).Error
  419. }
  420. return
  421. }
  422. func GetDialystate(id int64) (models.DeviceDialysate, error) {
  423. dialysate := models.DeviceDialysate{}
  424. err := readUserDb.Where("id= ? AND status = 1", id).Find(&dialysate).Error
  425. return dialysate, err
  426. }
  427. func Updatedialystate(id int64, orgid int64, dialysate *models.DeviceDialysate) error {
  428. err := writeUserDb.Model(&dialysate).Where("id=? AND user_org_id = ? AND status = 1", id, orgid).Updates(map[string]interface{}{"sampling_date": dialysate.SamplingDate, "specimenb": dialysate.Specimenb, "concentrate_noc": dialysate.ConcentrateNoc, "concentrateb_nod": dialysate.ConcentratebNod, "sampling_locationb": dialysate.SamplingLocationb, "detection_unit": dialysate.DetectionUnit, "samplerb": dialysate.Samplerb, "reporting_dateb": dialysate.ReportingDateb, "detection_resultb": dialysate.DetectionResultb, "mtime": time.Now().Unix()}).Error
  429. return err
  430. }
  431. func DeleteDialystates(id int64) (err error) {
  432. err = UserWriteDB().Model(&models.DeviceDialysate{}).Where("id=?", id).Updates(map[string]interface{}{"status": 0, "mtime": time.Now().Unix()}).Error
  433. return
  434. }
  435. func DeleteDialystate(orgid int64, ids []int64) (err error) {
  436. if len(ids) == 1 {
  437. err = UserWriteDB().Model(&models.DeviceDialysate{}).Where("id=? and user_org_id = ?", ids[0], orgid).Updates(map[string]interface{}{"status": 0, "mtime": time.Now().Unix()}).Error
  438. } else {
  439. err = UserWriteDB().Model(models.DeviceDialysate{}).Where("id IN(?) and user_org_id = ?", ids, orgid).Updates(map[string]interface{}{"status": 0, "mtime": time.Now().Unix()}).Error
  440. }
  441. return
  442. }
  443. func GetIon(id int64) (models.DeviceIon, error) {
  444. ion := models.DeviceIon{}
  445. err := UserReadDB().Model(&ion).Where("id = ? AND status = 1", id).Find(&ion).Error
  446. return ion, err
  447. }
  448. func UpdateIon(id int64, orgid int64, ion *models.DeviceIon) error {
  449. err := writeUserDb.Model(&ion).Where("id = ? AND user_org_id = ? AND status = 1", id, orgid).Updates(map[string]interface{}{"sampling_date": ion.SamplingDate, "samplerc": ion.Samplerc, "detection_unit": ion.DetectionUnit, "concentrate_nof": ion.ConcentrateNof, "concentrate_nog": ion.ConcentrateNog, "date_reportc": ion.DateReportc, "actual_na": ion.ActualNa, "actual_pna": ion.ActualPna, "actual_k": ion.ActualK, "actual_ca": ion.ActualCa, "actual_ci": ion.ActualCi, "actual_hco": ion.ActualCi, "actual_mg": ion.ActualMg, "actual_ph": ion.ActualPh, "remakes": ion.Remakes, "mtime": time.Now().Unix()}).Error
  450. return err
  451. }
  452. func DeleteIons(id int64) (err error) {
  453. err = UserWriteDB().Model(&models.DeviceIon{}).Where("id=?", id).Updates(map[string]interface{}{"status": 0, "mtime": time.Now().Unix()}).Error
  454. return
  455. }
  456. func DeleteIon(orgid int64, ids []int64) (err error) {
  457. if len(ids) == 1 {
  458. err = UserWriteDB().Model(&models.DeviceIon{}).Where("id=? and user_org_id = ?", ids[0], orgid).Updates(map[string]interface{}{"status": 0, "mtime": time.Now().Unix()}).Error
  459. } else {
  460. err = UserWriteDB().Model(models.DeviceIon{}).Where("id IN(?) and user_org_id = ?", ids, orgid).Updates(map[string]interface{}{"status": 0, "mtime": time.Now().Unix()}).Error
  461. }
  462. return
  463. }
  464. func GetCultureData(bedid int64, start int64, end int64, orgId int64) (cultures []*models.DeviceCultures, err error) {
  465. db := UserReadDB().Table("xt_device_culture as x").Where("x.status = 1")
  466. table := UserReadDB().Table("sgj_user_admin_role as r")
  467. fmt.Println("table", table)
  468. if orgId > 0 {
  469. db = db.Where("x.user_org_id = ?", orgId)
  470. }
  471. if bedid > 0 {
  472. db = db.Where("x.bed_id = ?", bedid)
  473. }
  474. if start > 0 {
  475. db = db.Where("x.speling_date >= ?", start)
  476. }
  477. if end > 0 {
  478. db = db.Where("x.speling_date <= ?", end)
  479. }
  480. err = db.Group("x.id").Select("x.id,x.speling_date,x.specimen,x.concentrate_noa,x.concentrate_nob,x.sampling_locationa,x.detection_unit,x.sampler,x.reporting_date,x.detection_result,x.bed_id,x.bed,r.user_name").Joins("Left Join sgj_user_admin_role as r on r.admin_user_id = x.sampler").Scan(&cultures).Error
  481. return cultures, err
  482. }
  483. func GetDialysateData(bedid int64, start int64, end int64, orgId int64) (dialysate []*models.DeviceDialysates, err error) {
  484. db := UserReadDB().Table("xt_device_dialysate as x").Where("x.status = 1")
  485. table := UserReadDB().Table("sgj_user_admin_role as r")
  486. fmt.Println("table", table)
  487. if orgId > 0 {
  488. db = db.Where("x.user_org_id = ?", orgId)
  489. }
  490. if bedid > 0 {
  491. db = db.Where("x.bed_id = ?", bedid)
  492. }
  493. if start > 0 {
  494. db = db.Where("x.sampling_date >= ?", start)
  495. }
  496. if end > 0 {
  497. db = db.Where("x.sampling_date <= ?", end)
  498. }
  499. err = db.Group("x.id").Select("x.id,x.sampling_date,x.specimenb,x.concentrate_noc,x.concentrateb_nod,x.sampling_locationb,x.detection_unit,x.samplerb,x.reporting_dateb,x.detection_resultb,x.bed_id,x.bed,r.user_name").Joins("Left Join sgj_user_admin_role as r on r.admin_user_id = x.samplerb").Scan(&dialysate).Error
  500. return dialysate, err
  501. }
  502. func GetDeviceIonData(bedid int64, start int64, end int64, orgId int64) (ions []*models.DeviceIons, err error) {
  503. db := UserReadDB().Table("xt_device_ion as x").Where("x.status = 1")
  504. table := UserReadDB().Table("sgj_user_admin_role as r")
  505. fmt.Println("table", table)
  506. if orgId > 0 {
  507. db = db.Where("x.user_org_id = ?", orgId)
  508. }
  509. if bedid > 0 {
  510. db = db.Where("x.bed_id = ?", bedid)
  511. }
  512. if start > 0 {
  513. db = db.Where("x.sampling_date >= ?", start)
  514. }
  515. if end > 0 {
  516. db = db.Where("x.sampling_date <= ?", end)
  517. }
  518. err = db.Group("x.id").Select("x.id,x.sampling_date,x.samplerc,x.detection_unit,x.concentrate_nof,x.concentrate_nog,x.date_reportc,x.actual_na,x.actual_pna,x.actual_k,x.actual_ca,x.actual_ci,x.actual_hco,x.actual_mg,x.actual_ph,x.remakes,x.bed_id,x.bed,r.user_name").Joins("Left Join sgj_user_admin_role as r on r.admin_user_id = x.samplerc").Scan(&ions).Error
  519. return ions, err
  520. }
  521. func CreateRepair(repair *models.DeviceRepair) error {
  522. err = writeUserDb.Create(&repair).Error
  523. return err
  524. }
  525. func GetAllRepair(orgid int64, limit int64, page int64) (repair []*models.DeviceRepairs, total int64, err error) {
  526. db := UserReadDB().Table("xt_device_repair as r").Where("r.status = ?", 1)
  527. table := XTReadDB().Table("xt_device_addmacher as x")
  528. offset := (page - 1) * limit
  529. fmt.Print("table", table)
  530. if orgid > 0 {
  531. db = db.Where("r.user_org_id = ?", orgid)
  532. }
  533. err = db.Count(&total).Select("r.id,r.guarantee_date,r.start_time,r.arrive_time,r.finish_time,r.total_distance,r.failure_stage,r.fault_description,r.cause_analysis,r.treatment_process,r.images,r.exclude,r.reason,r.ctime,r.mtime,r.status,r.user_org_id,r.bed_id,r.equitment_id,r.code_information,x.bed_number").Joins("Left join xt_device_addmacher as x on x.id = r.equitment_id").Offset(offset).Limit(limit).Scan(&repair).Error
  534. // err = UserReadDB().Where("user_org_id = ? AND status = 1", orgid).Find(&repair).Error
  535. return repair, total, err
  536. }
  537. func EditRepair(id int64) (models.DeviceRepair, error) {
  538. repair := models.DeviceRepair{}
  539. err := UserReadDB().Where("id = ? AND status = 1", id).Find(&repair).Error
  540. return repair, err
  541. }
  542. func UpdateRepair(id int64, orgid int64, repair *models.DeviceRepair) error {
  543. err := writeUserDb.Model(&repair).Where("id=? AND user_org_id = ? AND status = 1", id, orgid).Updates(map[string]interface{}{"guarantee_date": repair.GuaranteeDate, "start_time": repair.StartTime, "arrive_time": repair.ArriveTime, "finish_time": repair.FinishTime, "total_distance": repair.TotalDistance, "failure_stage": repair.FailureStage, "fault_description": repair.FaultDescription, "cause_analysis": repair.CauseAnalysis, "treatment_process": repair.TreatmentProcess, "images": repair.Images, "exclude": repair.Exclude, "reason": repair.Reason, "code_information": repair.CodeInformation, "image_name": repair.ImageName, "mtime": time.Now().Unix()}).Error
  544. return err
  545. }
  546. func DeleteRepairs(id int64) (err error) {
  547. err = UserWriteDB().Model(models.DeviceRepair{}).Where("id=?", id).Updates(map[string]interface{}{"status": 0, "mtime": time.Now().Unix()}).Error
  548. return
  549. }
  550. func DeleteRepair(orgid int64, ids []int64) (err error) {
  551. if len(ids) == 1 {
  552. err = UserWriteDB().Model(&models.DeviceRepair{}).Where("id=? and user_org_id = ?", ids[0], orgid).Updates(map[string]interface{}{"status": 0, "mtime": time.Now().Unix()}).Error
  553. } else {
  554. err = UserWriteDB().Model(models.DeviceRepair{}).Where("id IN(?) and user_org_id = ?", ids, orgid).Updates(map[string]interface{}{"status": 0, "mtime": time.Now().Unix()}).Error
  555. }
  556. return
  557. }
  558. func GetRepair(bedid int64, start int64, end int64, orgid int64) (repair []*models.DeviceRepairs, err error) {
  559. db := UserReadDB().Table("xt_device_repair as r").Where("r.status = 1")
  560. sb := UserReadDB().Table("xt_device_addmacher as x")
  561. fmt.Print("sb", sb)
  562. if orgid > 0 {
  563. db = db.Where("r.user_org_id = ?", orgid)
  564. }
  565. if bedid > 0 {
  566. db = db.Where("r.bed_id = ?", bedid)
  567. }
  568. if start > 0 {
  569. db = db.Where("r.guarantee_date >= ?", start)
  570. }
  571. if end > 0 {
  572. db = db.Where("r.guarantee_date <= ?", end)
  573. }
  574. //err = db.Model(&repair).Find(&repair).Error
  575. err = db.Select("r.id,r.guarantee_date,r.start_time,r.arrive_time,r.finish_time,r.total_distance,r.failure_stage,r.fault_description,r.cause_analysis,r.treatment_process,r.images,r.exclude,r.reason,r.ctime,r.mtime,r.status,r.user_org_id,r.bed_id,r.equitment_id,r.code_information,x.bed_number").Joins("Left join xt_device_addmacher as x on x.id = r.equitment_id").Scan(&repair).Error
  576. return repair, err
  577. }
  578. func GetUserInformation(id int64) (models.DeviceInformation, error) {
  579. information := models.DeviceInformation{}
  580. err := UserReadDB().Where("id = ? AND status = 1", id).Find(&information).Error
  581. return information, err
  582. }
  583. func GetPatientInfoMation(patieintid int64) (models.Patients, error) {
  584. patients := models.Patients{}
  585. err := XTReadDB().Where("id = ? AND status = 1", patieintid).Find(&patients).Error
  586. return patients, err
  587. }
  588. func DeleteUserLogin(id int64) (err error) {
  589. err = UserWriteDB().Model(&models.DeviceInformation{}).Where("id=?", id).Updates(map[string]interface{}{"status": 0, "mtime": time.Now().Unix()}).Error
  590. return
  591. }
  592. func DeleteForm(orgid int64, ids []int64) (err error) {
  593. if len(ids) == 1 {
  594. err = UserWriteDB().Model(&models.DeviceInformation{}).Where("id=? and user_org_id = ?", ids[0], orgid).Updates(map[string]interface{}{"status": 0, "mtime": time.Now().Unix()}).Error
  595. } else {
  596. err = UserWriteDB().Model(models.DeviceInformation{}).Where("id IN(?) and user_org_id = ?", ids, orgid).Updates(map[string]interface{}{"status": 0, "mtime": time.Now().Unix()}).Error
  597. }
  598. return
  599. }
  600. func GetLastInformationdata(eid int64, startdate int64, orgid int64) (models.DeviceInformation, error) {
  601. information := models.DeviceInformation{}
  602. err := UserReadDB().Model(&information).Where("equiment_id = ? and date = ? and user_org_id = ? and status = 1", eid, startdate, orgid).Last(&information).Error
  603. return information, err
  604. }
  605. func UpadateForm(id int64, orgid int64, infor *models.DeviceInformation) error {
  606. err := UserWriteDB().Model(&infor).Where("id = ? AND user_org_id = ? AND status = 1", id, orgid).Updates(map[string]interface{}{"date": infor.Date, "class": infor.Class, "zone": infor.Zone, "bed_number": infor.BedNumber, "contagion": infor.Contagion, "dialysis_mode": infor.DialysisMode, "start_time": infor.StartTime, "end_time": infor.EndTime, "dialysis_hour": infor.DialysisHour, "hyperfiltratio": infor.Hyperfiltratio, "weight_loss": infor.WeightLoss, "warning_value": infor.WarningValue, "user_total": infor.UserTotal, "move": infor.Move, "failure_stage": infor.FailureStage, "fault_description": infor.FaultDescription, "code_information": infor.CodeInformation, "disinfect_type": infor.DisinfectType, "disinfectant_type": infor.DisinfectType, "disinfection": infor.Disinfection, "machine_run": infor.MachineRun, "fluid_path": infor.FluidPath, "disinfectant": infor.Disinfectant, "disinfection_status": infor.DisinfectionStatus, "disinfection_residue": infor.DisinfectionResidue, "long_time": infor.LongTime, "disinfec_startime": infor.DisinfecStartime, "disinfec_endtime": infor.DisinfecEndtime, "dialysis_checked": infor.DialysisChecked, "dialysis_name": infor.DialysisName, "norms": infor.Norms, "dialysis_concentration": infor.DialysisConcentration,
  607. "germ_checked": infor.GermChecked, "germ_name": infor.GermName, "germ_number": infor.GermNumber, "clean": infor.Clean, "sign_name": infor.SignName, "bed": infor.Bed, "patient_id": infor.PatientId, "mtime": time.Now().Unix()}).Error
  608. return err
  609. }
  610. func QueryInfo(zone int64, bed int64, start int64, end int64, orgId int64, limit int64, page int64) (infor []*models.DeviceInformations, total int64, err error) {
  611. db := UserReadDB().Table("xt_device_information as x").Where("x.status = 1")
  612. table := XTReadDB().Table("xt_patients as p")
  613. fmt.Println("table", table)
  614. dbs := UserReadDB().Table("sgj_user_admin_role as r")
  615. fmt.Println("dbs", dbs)
  616. if orgId > 0 {
  617. db = db.Where("x.user_org_id = ?", orgId)
  618. }
  619. if zone > 0 {
  620. db = db.Where("x.zone = ?", zone)
  621. }
  622. if bed > 0 {
  623. db = db.Where("x.bed_number = ?", bed)
  624. }
  625. if start > 0 {
  626. db = db.Where("x.date >= ?", start)
  627. }
  628. if end > 0 {
  629. db = db.Where("x.date <= ?", end)
  630. }
  631. offset := (page - 1) * limit
  632. err = db.Group("x.id").Select("x.id,x.date,x.class,x.zone,x.bed_number,x.patient_id,x.contagion,x.dialysis_mode,x.start_time,x.end_time,x.dialysis_hour,x.hyperfiltratio,x.weight_loss,x.warning_value,x.user_total,x.move,x.failure_stage,x.fault_description,x.code_information,x.disinfect_type,x.disinfectant_type,x.disinfection,x.machine_run,x.fluid_path,x.disinfectant,x.disinfection_status,x.disinfection_residue,x.long_time,x.disinfec_startime,x.disinfec_endtime,x.dialysis_checked,x.dialysis_name,x.norms,x.dialysis_concentration,x.germ_checked,x.germ_name,x.germ_number,x.clean,x.sign_name,x.equiment_id,x.bed,p.name,r.user_name").Count(&total).Joins("Left Join sgj_xt.xt_patients as p on p.id = x.patient_id").Joins("Left Join sgj_user_admin_role as r on r.admin_user_id = x.sign_name").Order("x.ctime desc").Offset(offset).Limit(limit).Scan(&infor).Error
  633. if err != nil {
  634. return
  635. }
  636. return
  637. }
  638. func GetPatientID(bedid int64, orgId int64, nowtime int64) (dialysis []*models.DialysisOrder, err error) {
  639. err = XTReadDB().Model(&dialysis).Where("bed_id = ? AND user_org_id = ? AND dialysis_date = ?", bedid, orgId, nowtime).Find(&dialysis).Error
  640. return dialysis, err
  641. }
  642. //func GetAllEquitType(orgId int64) (addmacher []*models.DeviceAddmacher, err error) {
  643. //
  644. // db := UserReadDB().Table("xt_device_addmacher as a").Where("a.status = 1")
  645. // if orgId > 0 {
  646. // db = db.Where("a.user_org_id = ?", orgId)
  647. // }
  648. // err = db.Group("a.unit_type").Select("a.id,a.serial_number,a.device_type,a.bed_number,a.device_name,a.manufacture_factory,a.service_manufacturer,a.unit_type,a.use_section,a.section_number,a.buy_date,a.install_date,a.start_date,a.maintenace_engineer,a.telephone,a.guarantee_date,a.machine_status,a.user_total,a.disinfection_mode,a.remarks,a.rubbish_date,a.rubbish_reason,a.user_year,a.work_time,a.revers_mode,a.user_org_id,a.status,a.ctime,a.mtime,a.zone_id,a.bed_id").Where("a.device_type <> 2 AND a.device_type <> 3").Scan(&addmacher).Error
  649. // return addmacher, err
  650. //}
  651. func GetAllEquitType(orgid int64) (equiment []*models.DeviceEquimentname, err error) {
  652. //err = UserReadDB().Raw("select equitment_name,id,user_org_id,equitment_id from xt_device_equimentname where user_org_id = ? GROUP BY equitment_name ",orgid).Scan(&equiment).Error
  653. //err = UserReadDB().Raw("SELECT e.id,e.equitment_name,e.user_org_id,e.equitment_id FROM xt_device_equimentname as e LEFT JOIN xt_device_addmacher as a ON a.id = e.equitment_id WHERE a.status = 1 AND a.device_type <> 2 AND a.device_type <> 3 AND e.user_org_id = ? GROUP BY equitment_name", orgid).Scan(&equiment).Error
  654. //err = UserReadDB().Where("user_org_id = ? and status =1", orgid).Find(&equiment).Error
  655. err = UserReadDB().Raw("select x.equitment_name,x.id,x.user_org_id,x.equitment_id,x.bed_id from xt_device_equimentname as x where x.user_org_id = ? and x.status = ? GROUP BY x.equitment_name", orgid, 1).Scan(&equiment).Error
  656. return equiment, err
  657. }
  658. func GetAllEquitName(orgid int64) (equiment []*models.DeviceEquimentname, err error) {
  659. err = UserReadDB().Raw("select id,equitment_name,status,ctime,mtime,user_org_id,equitment_id from xt_device_equimentname as e Where EXISTS (select id from xt_device_addmacher as a where a.id = e.equitment_id and a.status = 1) AND e.user_org_id = ? AND e.status = 1 ", orgid).Scan(&equiment).Error
  660. return equiment, err
  661. }
  662. func GetUserForm(id int64, orgId int64, limit int64, page int64) (infor []*models.DeviceInformations, total int64, err error) {
  663. db := UserReadDB().Table("xt_device_information as x").Where("x.status = 1")
  664. table := XTReadDB().Table("xt_patients as p")
  665. fmt.Println("table", table)
  666. dbs := UserReadDB().Table("sgj_user_admin_role as r")
  667. fmt.Println("dbs", dbs)
  668. offset := (page - 1) * limit
  669. if id > 0 {
  670. db = db.Where("x.equiment_id = ?", id)
  671. }
  672. if orgId > 0 {
  673. db = db.Where("x.user_org_id = ?", orgId)
  674. }
  675. err = db.Group("x.id").Select("x.id,x.date,x.class,x.zone,x.bed_number,x.patient_id,x.contagion,x.dialysis_mode,x.start_time,x.end_time,x.dialysis_hour,x.hyperfiltratio,x.weight_loss,x.warning_value,x.user_total,x.move,x.failure_stage,x.fault_description,x.code_information,x.disinfect_type,x.disinfectant_type,x.disinfection,x.machine_run,x.fluid_path,x.disinfectant,x.disinfection_status,x.disinfection_residue,x.long_time,x.disinfec_startime,x.disinfec_endtime,x.dialysis_checked,x.dialysis_name,x.norms,x.dialysis_concentration,x.germ_checked,x.germ_name,x.germ_number,x.clean,x.sign_name,x.equiment_id,x.bed,p.name,r.user_name").Count(&total).Joins("Left Join sgj_xt.xt_patients as p on p.id = x.patient_id").Joins("Left Join sgj_user_admin_role as r on r.admin_user_id = x.sign_name").Order("x.ctime desc").Offset(offset).Limit(limit).Scan(&infor).Error
  676. if err != nil {
  677. return
  678. }
  679. return
  680. }
  681. func GetBedNumber(id int64, orgid int64) (models.DeviceAddmacher, error) {
  682. addmacher := models.DeviceAddmacher{}
  683. err := UserReadDB().Where("id= ? AND user_org_id = ?", id, orgid).Find(&addmacher).Error
  684. return addmacher, err
  685. }
  686. func GetNumbers(id int64, orgid int64) (models.DeviceNumber, error) {
  687. number := models.DeviceNumber{}
  688. err := XTReadDB().Where("id = ? AND org_id = ?", id, orgid).Find(&number).Error
  689. return number, err
  690. }
  691. func GetZoneForm(id int64) (models.DeviceAddmacher, error) {
  692. macher := models.DeviceAddmacher{}
  693. err := UserReadDB().Where("id=? AND status = 1", id).Find(&macher).Error
  694. return macher, err
  695. }
  696. func GetBedForm(id int64) (number []*models.DeviceNumber, err error) {
  697. err = XTReadDB().Where("zone_id = ? AND status = 1", id).Find(&number).Error
  698. return number, err
  699. }
  700. func GetTotalCount(orgid int64) (repair []*models.DeviceRepair, total int64, err error) {
  701. err = UserReadDB().Model(&repair).Where("user_org_id = ? and status = 1", orgid).Find(&repair).Count(&total).Error
  702. return repair, total, err
  703. }
  704. func GetTotalNumber(id int64, orgid int64) (total int64, err error) {
  705. var device models.DeviceInformation
  706. err = UserReadDB().Model(&device).Where("equiment_id = ? AND user_org_id = ? AND status = 1", id, orgid).Find(&device).Count(&total).Error
  707. return total, err
  708. }
  709. func GetTimeWarning(equitid int64, orgId int64) (models.DeviceInformation, error) {
  710. //fmt.Print("equitid是什么码字--------------------------------------------------------------------",equitid)
  711. information := models.DeviceInformation{}
  712. err = UserReadDB().Where(" user_org_id = ? AND status = 1 AND equiment_id = ? AND (dialysis_checked = 1 or dialysis_checked = 0)", orgId, equitid).Last(&information).Error
  713. return information, err
  714. }
  715. func GetTimeLast(equitid int64, orgId int64) (models.DeviceInformation, error) {
  716. information := models.DeviceInformation{}
  717. err := UserReadDB().Model(&information).Where("equiment_id = ? AND user_org_id = ? AND status = 1 AND (germ_checked = 1 or germ_checked = 0)", equitid, orgId).Last(&information).Error
  718. return information, err
  719. }
  720. func GetTimeLastData(equitid int64, orgId int64) (models.DeviceInformation, error) {
  721. information := models.DeviceInformation{}
  722. err := UserReadDB().Model(&information).Where("equiment_id = ? AND user_org_id = ? AND status = 1 AND (clean = 1 or clean = 0)", equitid, orgId).Last(&information).Error
  723. return information, err
  724. }
  725. func GetAllpatient(orgid int64) (patients []*models.Patients, err error) {
  726. err = XTReadDB().Where("user_org_id = ?", orgid).Find(&patients).Error
  727. return patients, err
  728. }
  729. //func GetInformation(id int64, orgid int64) (*models.DeviceInformation, error) {
  730. //// var information models.DeviceInformation
  731. //// var err error
  732. //// err = UserReadDB().Model(&information).Where("id = ? and user_org_id = ? and status = ?", id, orgid, 1).Find(&information).Error
  733. //// fmt.Print("", err)
  734. //// if err == gorm.ErrRecordNotFound {
  735. //// return nil, err
  736. //// }
  737. //// if err != nil {
  738. //// return nil, err
  739. //// }
  740. //// return &information, nil
  741. ////}
  742. func GetInformation(eid int64, startdate int64, orgid int64) (*models.DeviceInformation, error) {
  743. var information models.DeviceInformation
  744. var err error
  745. err = UserReadDB().Model(&information).Where("equiment_id = ? and user_org_id = ? and status = ? and date = ? ", eid, orgid, 1, startdate).Find(&information).Error
  746. fmt.Print("", err)
  747. if err == gorm.ErrRecordNotFound {
  748. return nil, err
  749. }
  750. if err != nil {
  751. return nil, err
  752. }
  753. return &information, nil
  754. }
  755. func ChangeBed(id int64, org int64) (number []*models.DeviceNumber, err error) {
  756. err = XTReadDB().Model(&number).Where("zone_id = ? AND status = 1 AND org_id = ? ", id, org).Find(&number).Error
  757. return number, err
  758. }
  759. func GetPatientDetail(id int64, orgid int64) (models.Patients, error) {
  760. patients := models.Patients{}
  761. err := XTReadDB().Where("id=? and user_org_id = ?", id, orgid).Find(&patients).Error
  762. return patients, err
  763. }
  764. func GetRemanderData(orgid int64) (remander models.DeviceRemander, err error) {
  765. err = UserReadDB().Model(&models.DeviceRemander{}).Where("user_org_id = ? and status = 1", orgid).Find(&remander).Error
  766. return
  767. }
  768. func CreateRemander(remander *models.DeviceRemander) (err error) {
  769. err = UserWriteDB().Create(&remander).Error
  770. return
  771. }
  772. func UpdateRemander(remander *models.DeviceRemander) (err error) {
  773. err = UserWriteDB().Save(&remander).Error
  774. return
  775. }
  776. func GetMode(mode string, orgid int64) (*models.DeviceMode, error) {
  777. var information models.DeviceMode
  778. var err error
  779. err = UserReadDB().Model(&information).Where("device_mode = ? and user_org_id = ? and status = ?", mode, orgid, 1).Find(&information).Error
  780. fmt.Print("", err)
  781. if err == gorm.ErrRecordNotFound {
  782. return nil, err
  783. }
  784. if err != nil {
  785. return nil, err
  786. }
  787. return &information, nil
  788. }
  789. func SaveMode(mode *models.DeviceMode) (err error) {
  790. err = UserWriteDB().Save(&mode).Error
  791. return
  792. }
  793. func GetAllMode(orgid int64) (mode []*models.DeviceMode, err error) {
  794. err = UserReadDB().Where("user_org_id = ? and status = ?", orgid, 1).Find(&mode).Error
  795. return mode, err
  796. }
  797. func GetModeById(id int64) (models.DeviceMode, error) {
  798. mode := models.DeviceMode{}
  799. err := UserReadDB().Where("id = ?", id).Find(&mode).Error
  800. return mode, err
  801. }
  802. func UpdateMode(id int64, mode models.DeviceMode) error {
  803. err := UserWriteDB().Model(&mode).Where("id=?", id).Update(map[string]interface{}{"device_mode": mode.DeviceMode, "mtime": time.Now().Unix()}).Error
  804. return err
  805. }
  806. func QueryDeviceMode(id int64, orgid int64) (*models.DeviceAddmacher, error) {
  807. addmacher := models.DeviceAddmacher{}
  808. var err error
  809. err = UserReadDB().Model(&addmacher).Where("unit_type = ? and user_org_id = ?", id, orgid).Find(&addmacher).Error
  810. if err == gorm.ErrRecordNotFound {
  811. return nil, err
  812. }
  813. if err != nil {
  814. return nil, err
  815. }
  816. return &addmacher, nil
  817. }
  818. func DeleteMode(id int64) error {
  819. err := UserWriteDB().Model(models.DeviceMode{}).Where("id=?", id).Update(map[string]interface{}{"status": 0}).Error
  820. return err
  821. }
  822. func SelectChange(id int64, orgid int64) (number []*models.DeviceNumber, err error) {
  823. //err = XTReadDB().Where("zone_id = ? and org_id = ? and status = ?", id, orgid, 1).Find(&number).Error
  824. db := XTReadDB().Table("xt_device_number as x").Where("x.status = ?", 1)
  825. err = db.Select("org_id,number,group_id,zone_id as id").Where("zone_id = ? and org_id = ?", id, orgid).Find(&number).Error
  826. return number, err
  827. }
  828. func SelectBed(id int64, orgid int64) (models.DeviceNumber, error) {
  829. number := models.DeviceNumber{}
  830. err := XTReadDB().Where("id = ? and org_id = ?", id, orgid).Find(&number).Error
  831. return number, err
  832. }
  833. func GetTimeData(equitid int64, orgid int64, timenow int64) (information []*models.DeviceInformation, err error) {
  834. //db := UserReadDB().Table("xt_device_information as x").Where("x.status = 1")
  835. //err = db.Raw("select id,date,class,zone,bed_number,patient_id,contagion,dialysis_mode,start_time,end_time,dialysis_hour,hyperfiltratio,weight_loss,warning_value,user_total,move,failure_stage,fault_description,code_information,disinfect_type,disinfectant_type,disinfection,machine_run,fluid_path,disinfectant,disinfection_status,disinfection_residue,long_time,disinfec_startime,disinfec_endtime,dialysis_checked,dialysis_name,norms,dialysis_concentration,germ_checked,germ_name,germ_number,clean,sign_name,status,ctime,mtime,user_org_id,equiment_id,bed,stime from xt_device_information where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= ? and equiment_id = ? and user_org_id = ?",timenow,equitid, orgid).Error
  836. day := time.Now().Day()
  837. oldMonth := day - 30
  838. t := time.Date(time.Now().Year(), time.Now().Month(), oldMonth, time.Now().Hour(), time.Now().Minute(), time.Now().Second(), time.Now().Nanosecond(), time.Local)
  839. err = UserReadDB().Model(&information).Where("date>= ? and date <= ? and equiment_id = ? and user_org_id = ? and dialysis_checked = 1 ", t.Unix(), timenow, equitid, orgid).Find(&information).Error
  840. return information, err
  841. }
  842. func GetTimeTwo(equitid int64, orgid int64, timenow int64) (information []*models.DeviceInformation, err error) {
  843. //db := UserReadDB().Table("xt_device_information as x").Where("x.status = 1")
  844. //err = db.Raw("select id,date,class,zone,bed_number,patient_id,contagion,dialysis_mode,start_time,end_time,dialysis_hour,hyperfiltratio,weight_loss,warning_value,user_total,move,failure_stage,fault_description,code_information,disinfect_type,disinfectant_type,disinfection,machine_run,fluid_path,disinfectant,disinfection_status,disinfection_residue,long_time,disinfec_startime,disinfec_endtime,dialysis_checked,dialysis_name,norms,dialysis_concentration,germ_checked,germ_name,germ_number,clean,sign_name,status,ctime,mtime,user_org_id,equiment_id,bed,stime from xt_device_information where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= ? and equiment_id = ? and user_org_id = ?",timenow,equitid, orgid).Error
  845. day := time.Now().Day()
  846. oldMonth := day - 30
  847. t := time.Date(time.Now().Year(), time.Now().Month(), oldMonth, time.Now().Hour(), time.Now().Minute(), time.Now().Second(), time.Now().Nanosecond(), time.Local)
  848. err = UserReadDB().Model(&information).Where("date >= ? and date<= ? and equiment_id = ? and user_org_id = ? and germ_checked = 1 ", t.Unix(), timenow, equitid, orgid).Find(&information).Error
  849. return information, err
  850. }
  851. func GetTimeThree(equitid int64, orgid int64, timenow int64) (information []*models.DeviceInformation, err error) {
  852. //db := UserReadDB().Table("xt_device_information as x").Where("x.status = 1")
  853. //err = db.Raw("select id,date,class,zone,bed_number,patient_id,contagion,dialysis_mode,start_time,end_time,dialysis_hour,hyperfiltratio,weight_loss,warning_value,user_total,move,failure_stage,fault_description,code_information,disinfect_type,disinfectant_type,disinfection,machine_run,fluid_path,disinfectant,disinfection_status,disinfection_residue,long_time,disinfec_startime,disinfec_endtime,dialysis_checked,dialysis_name,norms,dialysis_concentration,germ_checked,germ_name,germ_number,clean,sign_name,status,ctime,mtime,user_org_id,equiment_id,bed,stime from xt_device_information where DATE_SUB(CURDATE(), INTERVAL 30 DAY) <= ? and equiment_id = ? and user_org_id = ?",timenow,equitid, orgid).Error
  854. day := time.Now().Day()
  855. oldMonth := day - 30
  856. t := time.Date(time.Now().Year(), time.Now().Month(), oldMonth, time.Now().Hour(), time.Now().Minute(), time.Now().Second(), time.Now().Nanosecond(), time.Local)
  857. err = UserReadDB().Model(&information).Where("date >= ? and date <= ? and equiment_id = ? and user_org_id = ? and clean = 1 ", t.Unix(), timenow, equitid, orgid).Find(&information).Error
  858. return information, err
  859. }
  860. func DeleteImages(id int64) error {
  861. repair := models.DeviceRepair{}
  862. err := UserWriteDB().Model(&repair).Where("id=?", id).Update(map[string]interface{}{"images": "", "image_name": ""}).Error
  863. return err
  864. }