auto_create_week_schedules_service.go 48KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319
  1. package service
  2. import (
  3. //"bytes"
  4. //"encoding/json"
  5. //"fmt"
  6. //"gdyb/models"
  7. "gdyb/utils"
  8. //"github.com/astaxie/beego"
  9. "github.com/robfig/cron"
  10. //"io/ioutil"
  11. //"math/rand"
  12. //"net/http"
  13. //"strconv"
  14. //"time"
  15. )
  16. type ResultSix struct {
  17. Cainfo interface{} `json:"cainfo"`
  18. ErrMsg string `json:"err_msg"`
  19. InfRefmsgid string `json:"inf_refmsgid"`
  20. Infcode int64 `json:"infcode"`
  21. Output struct {
  22. } `json:"output"`
  23. RefmsgTime string `json:"refmsg_time"`
  24. RespondTime string `json:"respond_time"`
  25. Signtype interface{} `json:"signtype"`
  26. WarnMsg interface{} `json:"warn_msg"`
  27. }
  28. type ResultSix10265 struct {
  29. Cainfo interface{} `json:"cainfo"`
  30. ErrMsg string `json:"err_msg"`
  31. InfRefmsgid string `json:"inf_refmsgid"`
  32. Infcode string `json:"infcode"`
  33. Output struct {
  34. } `json:"output"`
  35. RefmsgTime string `json:"refmsg_time"`
  36. RespondTime string `json:"respond_time"`
  37. Signtype interface{} `json:"signtype"`
  38. WarnMsg interface{} `json:"warn_msg"`
  39. }
  40. // cron表达式 https://www.cnblogs.com/zuxingyu/p/6023919.html
  41. var createWeekSchedulesCronJob *cron.Cron
  42. func init() {
  43. utils.InfoLog("开启自动排班定时任务")
  44. createWeekSchedulesCronJob = cron.New()
  45. spec := "0 0 18 * * ?" // 每天6点上传当天数据
  46. //spec := "0 */1 * * * ?"
  47. createWeekSchedulesCronJob.AddFunc(spec, func() {
  48. //AutoCreateStock()
  49. })
  50. }
  51. func BeginAutoCreateWeekSchedulesJob() {
  52. createWeekSchedulesCronJob.Start()
  53. }
  54. //func AutoCreateStock() {
  55. // org_id, _ := beego.AppConfig.Int64("org_id")
  56. // var NewWarehousing []*models.NewWarehousingInfo
  57. // var NewWarehouseOut []*models.NewWarehouseOutInfo
  58. // var NewCancelStock []*models.NewCancelStockInfo
  59. //
  60. // var NewDrugWarehouse []*models.NewDrugWarehouseInfo
  61. // var NewDrugWarehouseOut []*models.NewDrugWarehouseOutInfo
  62. // var NewDrugCancelStock []*models.NewDrugCancelStockInfo
  63. //
  64. // var XtDrugInventorys []*models.XtDrugInventory
  65. // var NewDrugWarehouseOutTwo []*models.NewDrugWarehouseOutInfo
  66. //
  67. // //var XtDrugInventorys2 []*models.XtDrugInventory
  68. //
  69. // readDb.Model(&models.XtDrugInventory{}).Where("user_org_id = ? and status = 1 and is_upload <> 1 AND stock_max_number > 0", org_id).Preload("BaseDrugLib", "status = 1").Find(&XtDrugInventorys)
  70. //
  71. // readDb.Model(&models.NewWarehousingInfo{}).Where("org_id = ? and status = 1 and is_upload <> 1", org_id).Preload("GoodInfo", "status = 1").Preload("Manufacturers", "status = 1 AND org_id = ?", org_id).First(&NewWarehousing)
  72. // readDb.Model(&models.NewWarehouseOutInfo{}).Where("org_id = ? and status = 1 and is_upload <> 1", org_id).Preload("GoodInfo", "status = 1").Preload("Manufacturers", "status = 1 AND org_id = ?", org_id).Preload("Dealers", "status = 1 AND org_id = ?", org_id).Find(&NewWarehouseOut)
  73. // readDb.Model(&models.NewCancelStockInfo{}).Where("org_id = ? and status = 1 and is_upload <> 1", org_id).Preload("GoodInfo", "status = 1").Preload("Manufacturers", "status = 1 AND org_id = ?", org_id).Preload("Dealers", "status = 1 AND org_id = ?", org_id).Find(&NewCancelStock)
  74. //
  75. // ////大丰
  76. // readDb.Model(&models.NewDrugWarehouseInfo{}).Where("org_id = ? and status = 1 and is_upload <> 1 ", org_id).Preload("BaseDrugLib", "status = 1").Preload("Manufacturers", "status = 1 AND org_id = ?", org_id).Preload("Dealers", "status = 1 AND org_id = ?", org_id).Find(&NewDrugWarehouse)
  77. // readDb.Model(&models.NewDrugWarehouseOutInfo{}).Where("org_id = ? and status = 1 and is_upload <> 1", org_id).Preload("NewDrugWarehouseInfo","status = 1").Preload("BaseDrugLib", "status = 1").Preload("Manufacturers", "status = 1 AND org_id = ?", org_id).Preload("Dealers", "status = 1 AND org_id = ?", org_id).Find(&NewDrugWarehouseOut)
  78. // readDb.Model(&models.NewDrugCancelStockInfo{}).Where("org_id = ? and status = 1 and is_upload <> 1", org_id).Preload("BaseDrugLib", "status = 1").Preload("Manufacturers", "status = 1 AND org_id = ?", org_id).Preload("Dealers", "status = 1 AND org_id = ?", org_id).Find(&NewDrugCancelStock)
  79. //
  80. // //响水
  81. // //readDb.Model(&models.NewDrugWarehouseInfo{}).Where("org_id = ? and status = 1 and is_upload <> 1 AND id >= 5720", org_id).Preload("BaseDrugLib", "status = 1").Preload("Manufacturers", "status = 1 AND org_id = ?", org_id).Preload("Dealers", "status = 1 AND org_id = ?", org_id).Find(&NewDrugWarehouse)
  82. // //readDb.Model(&models.NewDrugWarehouseOutInfo{}).Where("org_id = ? and status = 1 and is_upload <> 1 AND id >= 366003", org_id).Preload("NewDrugWarehouseInfo","status = 1").Preload("BaseDrugLib", "status = 1").Preload("Manufacturers", "status = 1 AND org_id = ?", org_id).Preload("Dealers", "status = 1 AND org_id = ?", org_id).Find(&NewDrugWarehouseOut)
  83. // //readDb.Model(&models.NewDrugCancelStockInfo{}).Where("org_id = ? and status = 1 and is_upload <> 1 ", org_id).Preload("BaseDrugLib", "status = 1").Preload("Manufacturers", "status = 1 AND org_id = ?", org_id).Preload("Dealers", "status = 1 AND org_id = ?", org_id).Find(&NewDrugCancelStock)
  84. // //3502
  85. // //readDb.Model(&models.NewDrugWarehouseOutInfo{}).Where("org_id = ? and status = 1 and is_upload = 1 ", org_id).Preload("NewDrugWarehouseInfo","status = 1").Preload("BaseDrugLib", "status = 1").Preload("Manufacturers", "status = 1 AND org_id = ?", org_id).Preload("Dealers", "status = 1 AND org_id = ?", org_id).Find(&NewDrugWarehouseOut)
  86. //
  87. // //3502
  88. // readDb.Model(&models.NewDrugWarehouseOutInfo{}).Where("org_id = ? and status = 1 and is_upload = 1 ", org_id).Preload("NewDrugWarehouseInfo", "status = 1").Preload("BaseDrugLib", "status = 1").Preload("Manufacturers", "status = 1 AND org_id = ?", org_id).Preload("Dealers", "status = 1 AND org_id = ?", org_id).Find(&NewDrugWarehouseOutTwo)
  89. //
  90. // for _, item := range XtDrugInventorys {
  91. // res := Post3501ForDrug(org_id, item)
  92. // if res.Infcode == 0 {
  93. // writeDb.Model(&models.XtDrugInventory{}).Where("id = ?", item.ID).Updates(map[string]interface{}{
  94. // "is_upload": 1,
  95. // })
  96. // } else {
  97. //
  98. // continue
  99. // }
  100. //
  101. // }
  102. //
  103. // for _, item := range NewDrugWarehouseOutTwo {
  104. // res := Post3502ForDrug(org_id, item)
  105. // if res.Infcode == 0 {
  106. // writeDb.Model(&models.XtDrugInventory{}).Where("id = ?", item.ID).Updates(map[string]interface{}{
  107. // "is_upload": 1,
  108. // })
  109. // } else {
  110. //
  111. // continue
  112. // }
  113. //
  114. // }
  115. //
  116. // for _, item := range NewDrugWarehouse {
  117. // res := Post3503ForDrug(org_id, item)
  118. // if res.Infcode == 0 {
  119. // writeDb.Model(&models.NewDrugWarehouseInfo{}).Where("id = ?", item.ID).Updates(map[string]interface{}{
  120. // "is_upload": 1,
  121. // })
  122. // } else {
  123. //
  124. // continue
  125. // }
  126. // }
  127. //
  128. // for _, item := range NewDrugWarehouseOut {
  129. // res := Post3505ForDrug(org_id, item)
  130. // if res.Infcode == 0 {
  131. // writeDb.Model(&models.NewDrugWarehouseOutInfo{}).Where("id = ?", item.ID).Updates(map[string]interface{}{
  132. // "is_upload": 1,
  133. // })
  134. // }
  135. // }
  136. //
  137. // for _, item := range NewDrugCancelStock {
  138. // res := Post3506ForDrug(org_id, item)
  139. // if res.Infcode == 0 {
  140. // writeDb.Model(&models.NewDrugCancelStockInfo{}).Where("id = ?", item.ID).Updates(map[string]interface{}{
  141. // "is_upload": 1,
  142. // })
  143. // } else {
  144. //
  145. // continue
  146. // }
  147. // }
  148. //
  149. //
  150. //
  151. // for _, item := range NewWarehousing {
  152. // res := Post3503ForGoodInfo(org_id, item)
  153. // if res.Infcode == 0 {
  154. // writeDb.Model(&models.NewWarehousingInfo{}).Where("id = ?", item.ID).Updates(map[string]interface{}{
  155. // "is_upload": 1,
  156. // })
  157. // } else {
  158. //
  159. // continue
  160. // }
  161. // }
  162. //
  163. // for _, item := range NewWarehouseOut {
  164. // res := Post3505ForGoodInfo(org_id, item)
  165. // if res.Infcode == 0 {
  166. // writeDb.Model(&models.NewWarehouseOutInfo{}).Where("id = ?", item.ID).Updates(map[string]interface{}{
  167. // "is_upload": 1,
  168. // })
  169. // } else {
  170. //
  171. // continue
  172. // }
  173. // }
  174. //
  175. // for _, item := range NewCancelStock {
  176. // res := Post3506ForGoodInfo(org_id, item)
  177. // if res.Infcode == 0 {
  178. // writeDb.Model(&models.NewCancelStockInfo{}).Where("id = ?", item.ID).Updates(map[string]interface{}{
  179. // "is_upload": 1,
  180. // })
  181. // } else {
  182. //
  183. // continue
  184. // }
  185. // }
  186. //
  187. //
  188. //
  189. //}
  190. //func AutoGdybCreateStock() {
  191. // org_id, _ := beego.AppConfig.Int64("org_id")
  192. // var NewWarehousing []*models.NewWarehousingInfo
  193. // var NewWarehouseOut []*models.NewWarehouseOutInfo
  194. // var NewCancelStock []*models.NewCancelStockInfo
  195. // var NewDrugWarehouse []*models.NewDrugWarehouseInfo
  196. // var NewDrugWarehouseOut []*models.NewDrugWarehouseOutInfo
  197. // var NewDrugCancelStock []*models.NewDrugCancelStockInfo
  198. // var XtDrugInventorys []*models.XtDrugInventory
  199. // var XtStockInventorys []*models.XtStockInventoryTwo
  200. // var NewDrugWarehouseOutTwo []*models.NewDrugWarehouseOutInfo
  201. //
  202. // readDb.Model(&models.NewWarehousingInfo{}).Where("org_id = ? and status = 1 and is_upload <> 1", org_id).Preload("GoodInfo", "status = 1").Preload("Manufacturers", "status = 1 AND org_id = ?", org_id).First(&NewWarehousing)
  203. // readDb.Model(&models.NewCancelStockInfo{}).Where("org_id = ? and status = 1 and is_upload <> 1", org_id).Preload("GoodInfo", "status = 1").Preload("Manufacturers", "status = 1 AND org_id = ?", org_id).Preload("Dealers", "status = 1 AND org_id = ?", org_id).Find(&NewCancelStock)
  204. //
  205. // //3501,药品和耗材
  206. // readDb.Model(&models.XtDrugInventory{}).Where("user_org_id = ? and status = 1 and is_upload <> 1 AND stock_max_number > 0", org_id).Preload("BaseDrugLib", "status = 1").Find(&XtDrugInventorys)
  207. // readDb.Model(&models.XtStockInventoryTwo{}).Where("user_org_id = ? and status = 1 and is_upload <> 1 ", org_id).Preload("GoodInfo", "status = 1").Find(&XtStockInventorys)
  208. // for _, item := range XtDrugInventorys {
  209. // res := Post3501ForDrug(org_id, item)
  210. // if res.Infcode == 0 {
  211. // writeDb.Model(&models.XtDrugInventory{}).Where("id = ?", item.ID).Updates(map[string]interface{}{
  212. // "is_upload": 1,
  213. // })
  214. // } else {
  215. //
  216. // continue
  217. // }
  218. //
  219. // }
  220. // for _, item := range XtStockInventorys {
  221. // res := Post3501ForGoodInfo(org_id, item)
  222. // if res.Infcode == 0 {
  223. // writeDb.Model(&models.XtDrugInventory{}).Where("id = ?", item.ID).Updates(map[string]interface{}{
  224. // "is_upload": 1,
  225. // })
  226. // } else {
  227. //
  228. // continue
  229. // }
  230. //
  231. // }
  232. //
  233. // //3502
  234. // readDb.Model(&models.NewDrugWarehouseOutInfo{}).Where("org_id = ? and status = 1 and is_upload = 1 ", org_id).Preload("NewDrugWarehouseInfo", "status = 1").Preload("BaseDrugLib", "status = 1").Preload("Manufacturers", "status = 1 AND org_id = ?", org_id).Preload("Dealers", "status = 1 AND org_id = ?", org_id).Find(&NewDrugWarehouseOutTwo)
  235. // //readDb.Model(&models.NewDrugWarehouseOutInfo{}).Where("org_id = ? and status = 1 and is_upload = 1 ", org_id).Preload("NewDrugWarehouseInfo", "status = 1").Preload("BaseDrugLib", "status = 1").Preload("Manufacturers", "status = 1 AND org_id = ?", org_id).Preload("Dealers", "status = 1 AND org_id = ?", org_id).Find(&NewDrugWarehouseOutTwo)
  236. // readDb.Model(&models.NewWarehouseOutInfo{}).Where("user_org_id = ? and status = 1 and is_upload <> 1", org_id).Preload("GoodInfo", "status = 1").Preload("Manufacturers", "status = 1 AND org_id = ?", org_id).Preload("Dealers", "status = 1 AND org_id = ?", org_id).Find(&NewWarehouseOut)
  237. //
  238. // for _, item := range NewDrugWarehouseOutTwo {
  239. // res := Post3502ForDrug(org_id, item)
  240. // if res.Infcode == 0 {
  241. // writeDb.Model(&models.XtDrugInventory{}).Where("id = ?", item.ID).Updates(map[string]interface{}{
  242. // "is_upload": 1,
  243. // })
  244. // } else {
  245. //
  246. // continue
  247. // }
  248. //
  249. // }
  250. // for _, item := range NewWarehouseOut {
  251. // res := Post3502ForGoodInfo(org_id, item)
  252. // if res.Infcode == 0 {
  253. // writeDb.Model(&models.XtDrugInventory{}).Where("id = ?", item.ID).Updates(map[string]interface{}{
  254. // "is_upload": 1,
  255. // })
  256. // } else {
  257. //
  258. // continue
  259. // }
  260. //
  261. // }
  262. //
  263. // //3503
  264. // for _, item := range NewWarehousing {
  265. // res := Post3503ForGoodInfo(org_id, item)
  266. // if res.Infcode == 0 {
  267. // writeDb.Model(&models.NewWarehousingInfo{}).Where("id = ?", item.ID).Updates(map[string]interface{}{
  268. // "is_upload": 1,
  269. // })
  270. // } else {
  271. //
  272. // continue
  273. // }
  274. // }
  275. // for _, item := range NewDrugWarehouse {
  276. // res := Post3503ForDrug(org_id, item)
  277. // if res.Infcode == 0 {
  278. // writeDb.Model(&models.NewDrugWarehouseInfo{}).Where("id = ?", item.ID).Updates(map[string]interface{}{
  279. // "is_upload": 1,
  280. // })
  281. // } else {
  282. //
  283. // continue
  284. // }
  285. // }
  286. //
  287. // //3505
  288. // for _, item := range NewWarehouseOut {
  289. // res := Post3505ForGoodInfo(org_id, item)
  290. // if res.Infcode == 0 {
  291. // writeDb.Model(&models.NewWarehouseOutInfo{}).Where("id = ?", item.ID).Updates(map[string]interface{}{
  292. // "is_upload": 1,
  293. // })
  294. // } else {
  295. //
  296. // continue
  297. // }
  298. // }
  299. // for _, item := range NewDrugWarehouseOut {
  300. // res := Post3505ForDrug(org_id, item)
  301. // if res.Infcode == 0 {
  302. // writeDb.Model(&models.NewDrugWarehouseOutInfo{}).Where("id = ?", item.ID).Updates(map[string]interface{}{
  303. // "is_upload": 1,
  304. // })
  305. // }
  306. // }
  307. // //3506
  308. // for _, item := range NewCancelStock {
  309. // res := Post3506ForGoodInfo(org_id, item)
  310. // if res.Infcode == 0 {
  311. // writeDb.Model(&models.NewCancelStockInfo{}).Where("id = ?", item.ID).Updates(map[string]interface{}{
  312. // "is_upload": 1,
  313. // })
  314. // } else {
  315. //
  316. // continue
  317. // }
  318. // }
  319. // for _, item := range NewDrugCancelStock {
  320. // res := Post3506ForDrug(org_id, item)
  321. // if res.Infcode == 0 {
  322. // writeDb.Model(&models.NewDrugCancelStockInfo{}).Where("id = ?", item.ID).Updates(map[string]interface{}{
  323. // "is_upload": 1,
  324. // })
  325. // } else {
  326. //
  327. // continue
  328. // }
  329. // }
  330. //
  331. //}
  332. //耗材库盘上传
  333. //func Post3501ForGoodInfo(org_id int64, infos *models.XtStockInventoryTwo) ResultSix {
  334. // var res ResultSix
  335. // miConfig, _ := FindMedicalInsuranceInfo(org_id)
  336. // data := make(map[string]interface{})
  337. // var struct3501s []models.Struct3501
  338. // var struct3501 models.Struct3501
  339. // struct3501.MedListCodg = infos.GoodInfo.MedicalInsuranceNumber
  340. // struct3501.FixmedinsHilistId = miConfig.Code
  341. // struct3501.FixmedinsHilistName = miConfig.OrgName
  342. // struct3501.FixmedinsBchno = infos.Number
  343. // struct3501.RxFlag = "0"
  344. // struct3501.Invdate = time.Unix(infos.Ctime, 0).Format("2006-01-02 15:04:05")
  345. // struct3501.OrgName = miConfig.OrgName
  346. // struct3501.AccessKey = miConfig.AccessKey
  347. // struct3501.RequestUrl = miConfig.Url
  348. // struct3501.SecretKey = miConfig.SecretKey
  349. // struct3501.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
  350. // struct3501.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
  351. // struct3501.InvCnt = strconv.FormatInt(infos.Count, 10)
  352. // struct3501.ManuDate = time.Unix(infos.WarehousingInfo.ProductDate, 0).Format("2006-01-02 15:04:05")
  353. // struct3501.ExpyEnd = time.Unix(infos.WarehousingInfo.ExpiryDate, 0).Format("2006-01-02 15:04:05")
  354. //
  355. // struct3501s = append(struct3501s, struct3501)
  356. // data["struct_3501s"] = struct3501s[0]
  357. // client := &http.Client{}
  358. // bytesData, _ := json.Marshal(data)
  359. // var req *http.Request
  360. //
  361. // if miConfig.UserOrgId == 10215 {
  362. // result := Gdyb3501(struct3501, miConfig.SecretKey)
  363. //
  364. // var dat map[string]interface{}
  365. // if err := json.Unmarshal([]byte(result), &dat); err == nil {
  366. // fmt.Println(dat)
  367. // } else {
  368. // fmt.Println(err)
  369. // }
  370. // userJSONBytes, _ := json.Marshal(dat)
  371. // if err := json.Unmarshal(userJSONBytes, &res); err != nil {
  372. // utils.ErrorLog("解析失败:%v", err)
  373. // res.Infcode = -1
  374. // return res
  375. // }
  376. // return res
  377. //
  378. // } else {
  379. //
  380. // if miConfig.MdtrtareaAdmvs == "320921" {
  381. // req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/3501", bytes.NewReader(bytesData))
  382. // } else {
  383. // req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3501", bytes.NewReader(bytesData))
  384. // }
  385. //
  386. // resp, _ := client.Do(req)
  387. // defer resp.Body.Close()
  388. // body, ioErr := ioutil.ReadAll(resp.Body)
  389. // if ioErr != nil {
  390. // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
  391. // res.Infcode = -1
  392. // return res
  393. // }
  394. // var respJSON map[string]interface{}
  395. // if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
  396. // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  397. // res.Infcode = -1
  398. // return res
  399. // }
  400. //
  401. // var resSix10265 ResultSix10265 //1101结果
  402. //
  403. // respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
  404. // result, _ := json.Marshal(respJSON)
  405. // if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
  406. // utils.ErrorLog("解析失败:%v", err)
  407. // res.Infcode = -1
  408. // return res
  409. // }
  410. // res.InfRefmsgid = resSix10265.InfRefmsgid
  411. // res.Output = resSix10265.Output
  412. // res.ErrMsg = resSix10265.ErrMsg
  413. // res.Cainfo = resSix10265.Cainfo
  414. // res.WarnMsg = resSix10265.WarnMsg
  415. // infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
  416. // res.Infcode = infocode
  417. //
  418. // return res
  419. // }
  420. //}
  421. //药品库盘上传
  422. //func Post3501ForDrug(org_id int64, infos *models.XtDrugInventory) ResultSix {
  423. // var res ResultSix
  424. // miConfig, _ := FindMedicalInsuranceInfo(org_id)
  425. // data := make(map[string]interface{})
  426. // var struct3501s []models.Struct3501
  427. // var struct3501 models.Struct3501
  428. // struct3501.MedListCodg = infos.BaseDrugLib.MedicalInsuranceNumber
  429. // struct3501.FixmedinsHilistId = miConfig.Code
  430. // struct3501.FixmedinsHilistName = miConfig.OrgName
  431. // struct3501.FixmedinsBchno = infos.BatchNumber
  432. // struct3501.FixmedinsCode = miConfig.Code
  433. // struct3501.RxFlag = "0"
  434. // struct3501.Invdate = time.Unix(infos.Ctime, 0).Format("2006-01-02 15:04:05")
  435. // struct3501.OrgName = miConfig.OrgName
  436. // struct3501.AccessKey = miConfig.AccessKey
  437. // struct3501.RequestUrl = miConfig.Url
  438. // struct3501.SecretKey = miConfig.SecretKey
  439. // struct3501.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
  440. // struct3501.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
  441. // struct3501.InvCnt = strconv.FormatInt(infos.StockMaxNumber, 10)
  442. // struct3501.ManuDate = time.Unix(infos.DrugWarehouseInfo.ProductDate, 0).Format("2006-01-02 15:04:05")
  443. // struct3501.ExpyEnd = time.Unix(infos.ExpiryDate, 0).Format("2006-01-02 15:04:05")
  444. //
  445. // struct3501s = append(struct3501s, struct3501)
  446. // data["struct_3501s"] = struct3501s[0]
  447. // client := &http.Client{}
  448. // bytesData, _ := json.Marshal(data)
  449. // var req *http.Request
  450. //
  451. // if miConfig.UserOrgId == 10215 {
  452. // result := Gdyb3501(struct3501, miConfig.SecretKey)
  453. //
  454. // var dat map[string]interface{}
  455. // if err := json.Unmarshal([]byte(result), &dat); err == nil {
  456. // fmt.Println(dat)
  457. // } else {
  458. // fmt.Println(err)
  459. // }
  460. // userJSONBytes, _ := json.Marshal(dat)
  461. // if err := json.Unmarshal(userJSONBytes, &res); err != nil {
  462. // utils.ErrorLog("解析失败:%v", err)
  463. // res.Infcode = -1
  464. // return res
  465. // }
  466. // return res
  467. //
  468. // } else {
  469. // if miConfig.MdtrtareaAdmvs == "320921" {
  470. // req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/3501", bytes.NewReader(bytesData))
  471. // } else {
  472. // req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3501", bytes.NewReader(bytesData))
  473. // }
  474. //
  475. // resp, _ := client.Do(req)
  476. // defer resp.Body.Close()
  477. // body, ioErr := ioutil.ReadAll(resp.Body)
  478. // if ioErr != nil {
  479. // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
  480. // res.Infcode = -1
  481. // return res
  482. // }
  483. // var respJSON map[string]interface{}
  484. // if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
  485. // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  486. // res.Infcode = -1
  487. // return res
  488. // }
  489. //
  490. // var resSix10265 ResultSix10265 //1101结果
  491. //
  492. // respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
  493. // result, _ := json.Marshal(respJSON)
  494. // if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
  495. // utils.ErrorLog("解析失败:%v", err)
  496. // res.Infcode = -1
  497. // return res
  498. // }
  499. // res.InfRefmsgid = resSix10265.InfRefmsgid
  500. // res.Output = resSix10265.Output
  501. // res.ErrMsg = resSix10265.ErrMsg
  502. // res.Cainfo = resSix10265.Cainfo
  503. // res.WarnMsg = resSix10265.WarnMsg
  504. // infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
  505. // res.Infcode = infocode
  506. //
  507. // return res
  508. //
  509. // }
  510. //
  511. //}
  512. //商品库存变更
  513. //func Post3502ForDrug(org_id int64, infos *models.NewDrugWarehouseOutInfo) ResultSix {
  514. // var res ResultSix
  515. // miConfig, _ := FindMedicalInsuranceInfo(org_id)
  516. // data := make(map[string]interface{})
  517. // //var struct3502s []models.Struct3502
  518. // var struct3502 models.Struct3502
  519. // struct3502.MedListCodg = infos.BaseDrugLib.MedicalInsuranceNumber
  520. // struct3502.FixmedinsHilistId = miConfig.Code
  521. // struct3502.FixmedinsHilistName = miConfig.OrgName
  522. // struct3502.FixmedinsBchno = infos.NewDrugWarehouseInfo.BatchNumber
  523. // struct3502.FixmedinsCode = miConfig.Code
  524. // struct3502.RxFlag = "0"
  525. // struct3502.InvChgTime = time.Unix(infos.Ctime, 0).Format("2006-01-02 15:04:05")
  526. // struct3502.OrgName = miConfig.OrgName
  527. // struct3502.AccessKey = miConfig.AccessKey
  528. // struct3502.RequestUrl = miConfig.Url
  529. // struct3502.SecretKey = miConfig.SecretKey
  530. // struct3502.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
  531. // struct3502.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
  532. // struct3502.InvChgType = "102"
  533. // struct3502.Cnt = strconv.FormatInt(infos.Count, 10)
  534. // struct3502.Pric = fmt.Sprintf("%.2f", infos.BaseDrugLib.RetailPrice)
  535. //
  536. // data["struct_3502s"] = struct3502
  537. // client := &http.Client{}
  538. // bytesData, _ := json.Marshal(data)
  539. // var req *http.Request
  540. //
  541. // if miConfig.UserOrgId == 10215 {
  542. // result := Gdyb3502(struct3502, miConfig.SecretKey)
  543. //
  544. // var dat map[string]interface{}
  545. // if err := json.Unmarshal([]byte(result), &dat); err == nil {
  546. // fmt.Println(dat)
  547. // } else {
  548. // fmt.Println(err)
  549. // }
  550. // userJSONBytes, _ := json.Marshal(dat)
  551. // if err := json.Unmarshal(userJSONBytes, &res); err != nil {
  552. // utils.ErrorLog("解析失败:%v", err)
  553. // res.Infcode = -1
  554. // return res
  555. // }
  556. // return res
  557. //
  558. // } else {
  559. // if miConfig.MdtrtareaAdmvs == "320921" {
  560. // req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/3502", bytes.NewReader(bytesData))
  561. // } else {
  562. // req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3502", bytes.NewReader(bytesData))
  563. // }
  564. //
  565. // resp, _ := client.Do(req)
  566. // defer resp.Body.Close()
  567. // body, ioErr := ioutil.ReadAll(resp.Body)
  568. // if ioErr != nil {
  569. // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
  570. // res.Infcode = -1
  571. // return res
  572. // }
  573. // var respJSON map[string]interface{}
  574. // if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
  575. // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  576. // res.Infcode = -1
  577. // return res
  578. // }
  579. //
  580. // var resSix10265 ResultSix10265 //1101结果
  581. //
  582. // respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
  583. // result, _ := json.Marshal(respJSON)
  584. // if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
  585. // utils.ErrorLog("解析失败:%v", err)
  586. // res.Infcode = -1
  587. // return res
  588. // }
  589. // res.InfRefmsgid = resSix10265.InfRefmsgid
  590. // res.Output = resSix10265.Output
  591. // res.ErrMsg = resSix10265.ErrMsg
  592. // res.Cainfo = resSix10265.Cainfo
  593. // res.WarnMsg = resSix10265.WarnMsg
  594. // infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
  595. // res.Infcode = infocode
  596. //
  597. // return res
  598. // }
  599. //}
  600. //func Post3502ForGoodInfo(org_id int64, infos *models.NewWarehouseOutInfo) ResultSix {
  601. // var res ResultSix
  602. // miConfig, _ := FindMedicalInsuranceInfo(org_id)
  603. // data := make(map[string]interface{})
  604. // //var struct3502s []models.Struct3502
  605. // var struct3502 models.Struct3502
  606. // struct3502.MedListCodg = infos.GoodInfo.MedicalInsuranceNumber
  607. // struct3502.FixmedinsHilistId = miConfig.Code
  608. // struct3502.FixmedinsHilistName = miConfig.OrgName
  609. // struct3502.FixmedinsBchno = infos.WarehousingInfo.Number
  610. // struct3502.FixmedinsCode = miConfig.Code
  611. // struct3502.RxFlag = "0"
  612. // struct3502.InvChgTime = time.Unix(infos.Ctime, 0).Format("2006-01-02 15:04:05")
  613. // struct3502.OrgName = miConfig.OrgName
  614. // struct3502.AccessKey = miConfig.AccessKey
  615. // struct3502.RequestUrl = miConfig.Url
  616. // struct3502.SecretKey = miConfig.SecretKey
  617. // struct3502.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
  618. // struct3502.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
  619. // struct3502.InvChgType = "102"
  620. // struct3502.Cnt = strconv.FormatInt(infos.Count, 10)
  621. // struct3502.Pric = fmt.Sprintf("%.2f", infos.GoodInfo.RetailPrice)
  622. //
  623. // data["struct_3502s"] = struct3502
  624. // client := &http.Client{}
  625. // bytesData, _ := json.Marshal(data)
  626. // var req *http.Request
  627. //
  628. // if miConfig.UserOrgId == 10215 {
  629. // result := Gdyb3502(struct3502, miConfig.SecretKey)
  630. //
  631. // var dat map[string]interface{}
  632. // if err := json.Unmarshal([]byte(result), &dat); err == nil {
  633. // fmt.Println(dat)
  634. // } else {
  635. // fmt.Println(err)
  636. // }
  637. // userJSONBytes, _ := json.Marshal(dat)
  638. // if err := json.Unmarshal(userJSONBytes, &res); err != nil {
  639. // utils.ErrorLog("解析失败:%v", err)
  640. // res.Infcode = -1
  641. // return res
  642. // }
  643. // return res
  644. //
  645. // } else {
  646. // if miConfig.MdtrtareaAdmvs == "320921" {
  647. // req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/3502", bytes.NewReader(bytesData))
  648. // } else {
  649. // req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3502", bytes.NewReader(bytesData))
  650. // }
  651. //
  652. // resp, _ := client.Do(req)
  653. // defer resp.Body.Close()
  654. // body, ioErr := ioutil.ReadAll(resp.Body)
  655. // if ioErr != nil {
  656. // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
  657. // res.Infcode = -1
  658. // return res
  659. // }
  660. // var respJSON map[string]interface{}
  661. // if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
  662. // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  663. // res.Infcode = -1
  664. // return res
  665. // }
  666. //
  667. // var resSix10265 ResultSix10265 //1101结果
  668. //
  669. // respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
  670. // result, _ := json.Marshal(respJSON)
  671. // if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
  672. // utils.ErrorLog("解析失败:%v", err)
  673. // res.Infcode = -1
  674. // return res
  675. // }
  676. // res.InfRefmsgid = resSix10265.InfRefmsgid
  677. // res.Output = resSix10265.Output
  678. // res.ErrMsg = resSix10265.ErrMsg
  679. // res.Cainfo = resSix10265.Cainfo
  680. // res.WarnMsg = resSix10265.WarnMsg
  681. // infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
  682. // res.Infcode = infocode
  683. //
  684. // return res
  685. // }
  686. //}
  687. //采购
  688. //func Post3503ForGoodInfo(org_id int64, infos *models.NewWarehousingInfo) ResultSix {
  689. // fmt.Println(&infos)
  690. // var res ResultSix
  691. // miConfig, _ := FindMedicalInsuranceInfo(org_id)
  692. // data := make(map[string]interface{})
  693. // var struct3503s []models.Struct3503
  694. // var struct3503 models.Struct3503
  695. // struct3503.MedListCodg = infos.GoodInfo.MedicalInsuranceNumber
  696. // struct3503.FixmedinsHilistId = miConfig.Code
  697. // struct3503.FixmedinsCode = miConfig.Code
  698. // struct3503.FixmedinsHilistName = miConfig.OrgName
  699. // struct3503.FixmedinsBchno = infos.Number
  700. // var d models.Dealers
  701. // readDb.Model(&models.Dealers{}).Where("id = ?", infos.Dealer).First(&d)
  702. // if d.ID == 0 {
  703. // struct3503.SplerName = infos.Manufacturers.ManufacturerName
  704. // } else {
  705. // struct3503.SplerName = d.DealerName
  706. // }
  707. // struct3503.ManuLotnum = infos.Number
  708. // struct3503.ProdentpName = infos.Manufacturers.ManufacturerName
  709. // struct3503.Aprvno = infos.GoodInfo.Number
  710. // struct3503.ManuDate = time.Unix(infos.ProductDate, 0).Format("2006-01-02")
  711. // struct3503.ExpyEnd = time.Unix(infos.ExpiryDate, 0).Format("2006-01-02")
  712. // struct3503.PurcRetnCnt = strconv.FormatInt(infos.TotalCount, 10)
  713. // struct3503.RxFlag = "0"
  714. // struct3503.PurcRetnStoinTime = time.Unix(infos.Ctime, 0).Format("2006-01-02")
  715. // if org_id == 10217 {
  716. // struct3503.PurcRetnOpterName = "施实芹"
  717. // } else {
  718. // struct3503.PurcRetnOpterName = ""
  719. // }
  720. // struct3503.OrgName = miConfig.OrgName
  721. // struct3503.AccessKey = miConfig.AccessKey
  722. // struct3503.RequestUrl = miConfig.Url
  723. // struct3503.SecretKey = miConfig.SecretKey
  724. // struct3503.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
  725. // struct3503.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
  726. // struct3503.Memo = ""
  727. // struct3503s = append(struct3503s, struct3503)
  728. // data["struct_3503s"] = struct3503s[0]
  729. //
  730. // client := &http.Client{}
  731. // bytesData, _ := json.Marshal(data)
  732. // fmt.Println(string(bytesData))
  733. // var req *http.Request
  734. // if miConfig.UserOrgId == 10215 {
  735. // result := Gdyb3503(struct3503, miConfig.SecretKey)
  736. //
  737. // var dat map[string]interface{}
  738. // if err := json.Unmarshal([]byte(result), &dat); err == nil {
  739. // fmt.Println(dat)
  740. // } else {
  741. // fmt.Println(err)
  742. // }
  743. // userJSONBytes, _ := json.Marshal(dat)
  744. // if err := json.Unmarshal(userJSONBytes, &res); err != nil {
  745. // utils.ErrorLog("解析失败:%v", err)
  746. // res.Infcode = -1
  747. // return res
  748. // }
  749. // return res
  750. //
  751. // } else {
  752. //
  753. // if miConfig.MdtrtareaAdmvs == "320921" {
  754. // req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/3503", bytes.NewReader(bytesData))
  755. // } else {
  756. // fmt.Println("111111")
  757. // req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3503", bytes.NewReader(bytesData))
  758. // }
  759. //
  760. // resp, _ := client.Do(req)
  761. // defer resp.Body.Close()
  762. // body, ioErr := ioutil.ReadAll(resp.Body)
  763. // if ioErr != nil {
  764. // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
  765. // res.Infcode = -1
  766. // return res
  767. // }
  768. // var respJSON map[string]interface{}
  769. // if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
  770. // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  771. // res.Infcode = -1
  772. // return res
  773. // }
  774. // var resSix10265 ResultSix10265 //1101结果
  775. //
  776. // respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
  777. // result, _ := json.Marshal(respJSON)
  778. // if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
  779. // utils.ErrorLog("解析失败:%v", err)
  780. // res.Infcode = -1
  781. // return res
  782. //
  783. // }
  784. // res.InfRefmsgid = resSix10265.InfRefmsgid
  785. // res.Output = resSix10265.Output
  786. // res.ErrMsg = resSix10265.ErrMsg
  787. // res.Cainfo = resSix10265.Cainfo
  788. // res.WarnMsg = resSix10265.WarnMsg
  789. // infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
  790. // res.Infcode = infocode
  791. // return res
  792. // }
  793. //}
  794. //func Post3503ForDrug(org_id int64, infos *models.NewDrugWarehouseInfo) ResultSix {
  795. // var res ResultSix
  796. // miConfig, _ := FindMedicalInsuranceInfo(org_id)
  797. // data := make(map[string]interface{})
  798. // var struct3503s []models.Struct3503
  799. // var struct3503 models.Struct3503
  800. // struct3503.MedListCodg = infos.BaseDrugLib.MedicalInsuranceNumber
  801. // struct3503.FixmedinsHilistId = miConfig.Code
  802. // struct3503.FixmedinsHilistName = miConfig.OrgName
  803. // struct3503.FixmedinsBchno = infos.BatchNumber
  804. // var d models.Dealers
  805. // readDb.Model(&models.Dealers{}).Where("id = ?", infos.Dealer).First(&d)
  806. // struct3503.SplerName = d.DealerName
  807. // struct3503.ManuLotnum = infos.BatchNumber
  808. // struct3503.ProdentpName = infos.Manufacturers.ManufacturerName
  809. // struct3503.Aprvno = infos.BaseDrugLib.Number
  810. // struct3503.ManuDate = time.Unix(infos.ProductDate, 0).Format("2006-01-02 15:04:05")
  811. // struct3503.ExpyEnd = time.Unix(infos.ExpiryDate, 0).Format("2006-01-02 15:04:05")
  812. // struct3503.PurcRetnCnt = strconv.FormatInt(infos.WarehousingCount, 10)
  813. // struct3503.RxFlag = "0"
  814. // struct3503.PurcRetnStoinTime = time.Unix(infos.Ctime, 0).Format("2006-01-02 15:04:05")
  815. // if org_id == 10217 {
  816. // struct3503.PurcRetnOpterName = "施实芹"
  817. // } else {
  818. // struct3503.PurcRetnOpterName = "顾林玲"
  819. // }
  820. // struct3503.OrgName = miConfig.OrgName
  821. // struct3503.AccessKey = miConfig.AccessKey
  822. // struct3503.RequestUrl = miConfig.Url
  823. // struct3503.SecretKey = miConfig.SecretKey
  824. // struct3503.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
  825. // struct3503.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
  826. // struct3503.Memo = ""
  827. // struct3503s = append(struct3503s, struct3503)
  828. // data["struct_3503s"] = struct3503s[0]
  829. // client := &http.Client{}
  830. // bytesData, _ := json.Marshal(data)
  831. // var req *http.Request
  832. // if miConfig.UserOrgId == 10215 {
  833. // result := Gdyb3503(struct3503, miConfig.SecretKey)
  834. //
  835. // var dat map[string]interface{}
  836. // if err := json.Unmarshal([]byte(result), &dat); err == nil {
  837. // fmt.Println(dat)
  838. // } else {
  839. // fmt.Println(err)
  840. // }
  841. // userJSONBytes, _ := json.Marshal(dat)
  842. // if err := json.Unmarshal(userJSONBytes, &res); err != nil {
  843. // utils.ErrorLog("解析失败:%v", err)
  844. // res.Infcode = -1
  845. // return res
  846. // }
  847. // return res
  848. //
  849. // } else {
  850. // if miConfig.MdtrtareaAdmvs == "320921" {
  851. // req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/3503", bytes.NewReader(bytesData))
  852. // } else {
  853. // req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3503", bytes.NewReader(bytesData))
  854. // }
  855. //
  856. // resp, _ := client.Do(req)
  857. // defer resp.Body.Close()
  858. // body, ioErr := ioutil.ReadAll(resp.Body)
  859. // if ioErr != nil {
  860. // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
  861. // res.Infcode = -1
  862. // return res
  863. // }
  864. // var respJSON map[string]interface{}
  865. // if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
  866. // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  867. // res.Infcode = -1
  868. // return res
  869. // }
  870. //
  871. // var resSix10265 ResultSix10265 //1101结果
  872. //
  873. // respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
  874. // result, _ := json.Marshal(respJSON)
  875. // if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
  876. // utils.ErrorLog("解析失败:%v", err)
  877. // res.Infcode = -1
  878. // return res
  879. // }
  880. // res.InfRefmsgid = resSix10265.InfRefmsgid
  881. // res.Output = resSix10265.Output
  882. // res.ErrMsg = resSix10265.ErrMsg
  883. // res.Cainfo = resSix10265.Cainfo
  884. // res.WarnMsg = resSix10265.WarnMsg
  885. // infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
  886. // res.Infcode = infocode
  887. //
  888. // return res
  889. // }
  890. //}
  891. //销售
  892. //func Post3505ForGoodInfo(org_id int64, infos *models.NewWarehouseOutInfo) ResultSix {
  893. // var res ResultSix
  894. //
  895. // miConfig, _ := FindMedicalInsuranceInfo(org_id)
  896. // data := make(map[string]interface{})
  897. // var struct3501s []models.Struct3505
  898. // var struct3501 models.Struct3505
  899. //
  900. // struct3501.OrgName = miConfig.OrgName
  901. // struct3501.AccessKey = miConfig.AccessKey
  902. // struct3501.RequestUrl = miConfig.Url
  903. // struct3501.SecretKey = miConfig.SecretKey
  904. //
  905. // struct3501.MedListCodg = infos.GoodInfo.MedicalInsuranceNumber
  906. // struct3501.FixmedinsHilistId = miConfig.Code
  907. // struct3501.FixmedinsHilistName = miConfig.OrgName
  908. // struct3501.FixmedinsBchno = infos.Number
  909. // if org_id == 10188 {
  910. // struct3501.PrscDrName = "王曙光"
  911. // struct3501.PharName = "王曙光"
  912. // struct3501.PharPracCertNo = ""
  913. //
  914. // } else if org_id == 10217 {
  915. // struct3501.PrscDrName = "王云刚"
  916. // struct3501.PharName = "王云刚"
  917. // struct3501.PharPracCertNo = ""
  918. // }
  919. // timestamp := time.Now().Unix()
  920. // tempTime := time.Unix(timestamp, 0)
  921. // timeFormat := tempTime.Format("20060102150405")
  922. // chrgBchno := rand.Intn(100000) + 10000
  923. // ipt_otp_no := timeFormat + strconv.FormatInt(int64(chrgBchno), 10)
  924. // struct3501.MdtrtSn = ipt_otp_no
  925. // struct3501.ManuLotnum = infos.Number
  926. // struct3501.ManuDate = time.Unix(infos.ProductDate, 0).Format("2006-01-02 15:04:05")
  927. // struct3501.ExpyEnd = time.Unix(infos.ExpiryDate, 0).Format("2006-01-02 15:04:05")
  928. // struct3501.RxFlag = "0"
  929. // struct3501.TrdnFlag = "1"
  930. // struct3501.RtalDocno = strconv.FormatInt(int64(infos.ID), 10)
  931. // struct3501.SelRetnCnt = strconv.FormatInt(int64(infos.Count), 10)
  932. // struct3501.SelRetnTime = time.Unix(infos.Ctime, 0).Format("2006-01-02 15:04:05")
  933. // struct3501.SelRetnOpterName = "仓管员"
  934. // struct3501s = append(struct3501s, struct3501)
  935. // data["struct_3501s"] = struct3501s
  936. // client := &http.Client{}
  937. // bytesData, _ := json.Marshal(data)
  938. // var req *http.Request
  939. //
  940. // if miConfig.UserOrgId == 10215 {
  941. // result := Gdyb3505(struct3501, miConfig.SecretKey)
  942. //
  943. // var dat map[string]interface{}
  944. // if err := json.Unmarshal([]byte(result), &dat); err == nil {
  945. // fmt.Println(dat)
  946. // } else {
  947. // fmt.Println(err)
  948. // }
  949. // userJSONBytes, _ := json.Marshal(dat)
  950. // if err := json.Unmarshal(userJSONBytes, &res); err != nil {
  951. // utils.ErrorLog("解析失败:%v", err)
  952. // res.Infcode = -1
  953. // return res
  954. // }
  955. // return res
  956. //
  957. // } else {
  958. // if miConfig.MdtrtareaAdmvs == "320921" {
  959. // req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/3501", bytes.NewReader(bytesData))
  960. // } else {
  961. // req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3501", bytes.NewReader(bytesData))
  962. // }
  963. //
  964. // resp, _ := client.Do(req)
  965. // defer resp.Body.Close()
  966. // body, ioErr := ioutil.ReadAll(resp.Body)
  967. // if ioErr != nil {
  968. // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
  969. // res.Infcode = -1
  970. // return res
  971. // }
  972. // var respJSON map[string]interface{}
  973. // if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
  974. // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  975. // res.Infcode = -1
  976. // return res
  977. // }
  978. // var resSix10265 ResultSix10265 //1101结果
  979. //
  980. // respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
  981. // result, _ := json.Marshal(respJSON)
  982. // if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
  983. // utils.ErrorLog("解析失败:%v", err)
  984. // res.Infcode = -1
  985. // return res
  986. // }
  987. // res.InfRefmsgid = resSix10265.InfRefmsgid
  988. // res.Output = resSix10265.Output
  989. // res.ErrMsg = resSix10265.ErrMsg
  990. // res.Cainfo = resSix10265.Cainfo
  991. // res.WarnMsg = resSix10265.WarnMsg
  992. // infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
  993. // res.Infcode = infocode
  994. //
  995. // return res
  996. // }
  997. //}
  998. //func Post3505ForDrug(org_id int64, infos *models.NewDrugWarehouseOutInfo) ResultSix {
  999. // var res ResultSix
  1000. //
  1001. // miConfig, _ := FindMedicalInsuranceInfo(org_id)
  1002. // data := make(map[string]interface{})
  1003. // var struct3505s []models.Struct3505
  1004. // var struct3505 models.Struct3505
  1005. // struct3505.MedListCodg = infos.BaseDrugLib.MedicalInsuranceNumber
  1006. // struct3505.FixmedinsHilistId = miConfig.Code
  1007. // struct3505.FixmedinsHilistName = miConfig.OrgName
  1008. // struct3505.FixmedinsBchno = infos.NewDrugWarehouseInfo.BatchNumber
  1009. // struct3505.FixmedinsCode = miConfig.Code
  1010. //
  1011. // struct3505.OrgName = miConfig.OrgName
  1012. // struct3505.AccessKey = miConfig.AccessKey
  1013. // struct3505.RequestUrl = miConfig.Url
  1014. // struct3505.SecretKey = miConfig.SecretKey
  1015. // struct3505.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
  1016. // struct3505.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
  1017. //
  1018. // struct3505.FixmedinsBchno = infos.NewDrugWarehouseInfo.BatchNumber
  1019. // if org_id == 10188 {
  1020. // struct3505.PrscDrName = "王曙光"
  1021. // struct3505.PharName = "顾林玲"
  1022. // struct3505.PharPracCertNo = "K0404020449"
  1023. //
  1024. // } else if org_id == 10217 {
  1025. // struct3505.PrscDrName = "王云刚"
  1026. // struct3505.PharName = "施实芹"
  1027. // struct3505.PharPracCertNo = "1532050832051512010002"
  1028. // }
  1029. // timestamp := time.Now().Unix()
  1030. // tempTime := time.Unix(timestamp, 0)
  1031. // timeFormat := tempTime.Format("20060102150405")
  1032. // chrgBchno := rand.Intn(100000) + 10000
  1033. // ipt_otp_no := timeFormat + strconv.FormatInt(int64(chrgBchno), 10)
  1034. // struct3505.MdtrtSn = ipt_otp_no
  1035. // struct3505.ManuLotnum = infos.NewDrugWarehouseInfo.BatchNumber
  1036. // struct3505.ManuDate = time.Unix(infos.ProductDate, 0).Format("2006-01-02 15:04:05")
  1037. // //struct3505.ExpyEnd = time.Unix(infos.ExpiryDate, 0).Format("2006-01-02 15:04:05")
  1038. // struct3505.RxFlag = "0"
  1039. // struct3505.TrdnFlag = "1"
  1040. // struct3505.RtalDocno = strconv.FormatInt(int64(infos.ID), 10)
  1041. // struct3505.SelRetnCnt = strconv.FormatInt(int64(infos.Count), 10)
  1042. // struct3505.SelRetnTime = time.Unix(infos.Ctime, 0).Format("2006-01-02 15:04:05")
  1043. //
  1044. // if org_id == 10188 {
  1045. // struct3505.SelRetnOpterName = "孙欣欣"
  1046. //
  1047. // } else if org_id == 10217 {
  1048. // struct3505.SelRetnOpterName = "晁海燕"
  1049. //
  1050. // }
  1051. //
  1052. // struct3505s = append(struct3505s, struct3505)
  1053. // data["struct_3505s"] = struct3505s[0]
  1054. // client := &http.Client{}
  1055. // bytesData, _ := json.Marshal(data)
  1056. // var req *http.Request
  1057. //
  1058. // if miConfig.UserOrgId == 10215 {
  1059. // result := Gdyb3505(struct3505, miConfig.SecretKey)
  1060. //
  1061. // var dat map[string]interface{}
  1062. // if err := json.Unmarshal([]byte(result), &dat); err == nil {
  1063. // fmt.Println(dat)
  1064. // } else {
  1065. // fmt.Println(err)
  1066. // }
  1067. // userJSONBytes, _ := json.Marshal(dat)
  1068. // if err := json.Unmarshal(userJSONBytes, &res); err != nil {
  1069. // utils.ErrorLog("解析失败:%v", err)
  1070. // res.Infcode = -1
  1071. // return res
  1072. // }
  1073. // return res
  1074. //
  1075. // } else {
  1076. //
  1077. // if miConfig.MdtrtareaAdmvs == "320921" {
  1078. // req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/3505", bytes.NewReader(bytesData))
  1079. // } else {
  1080. // req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3505", bytes.NewReader(bytesData))
  1081. // }
  1082. //
  1083. // resp, _ := client.Do(req)
  1084. // defer resp.Body.Close()
  1085. // body, ioErr := ioutil.ReadAll(resp.Body)
  1086. // if ioErr != nil {
  1087. // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
  1088. // res.Infcode = -1
  1089. // return res
  1090. // }
  1091. // var respJSON map[string]interface{}
  1092. // if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
  1093. // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  1094. // res.Infcode = -1
  1095. // return res
  1096. // }
  1097. // var resSix10265 ResultSix10265 //1101结果
  1098. //
  1099. // respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
  1100. // result, _ := json.Marshal(respJSON)
  1101. // if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
  1102. // utils.ErrorLog("解析失败:%v", err)
  1103. // res.Infcode = -1
  1104. // return res
  1105. // }
  1106. // res.InfRefmsgid = resSix10265.InfRefmsgid
  1107. // res.Output = resSix10265.Output
  1108. // res.ErrMsg = resSix10265.ErrMsg
  1109. // res.Cainfo = resSix10265.Cainfo
  1110. // res.WarnMsg = resSix10265.WarnMsg
  1111. // infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
  1112. // res.Infcode = infocode
  1113. //
  1114. // return res
  1115. // }
  1116. //}
  1117. //销售退货
  1118. //func Post3506ForGoodInfo(org_id int64, infos *models.NewCancelStockInfo) ResultSix {
  1119. // var res ResultSix
  1120. // miConfig, _ := FindMedicalInsuranceInfo(org_id)
  1121. // data := make(map[string]interface{})
  1122. // var struct3506s []models.Struct3506
  1123. // var struct3506 models.Struct3506
  1124. //
  1125. // struct3506.OrgName = miConfig.OrgName
  1126. // struct3506.AccessKey = miConfig.AccessKey
  1127. // struct3506.RequestUrl = miConfig.Url
  1128. // struct3506.SecretKey = miConfig.SecretKey
  1129. // struct3506.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
  1130. // struct3506.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
  1131. // struct3506.MedListCodg = infos.GoodInfo.MedicalInsuranceNumber
  1132. // struct3506.FixmedinsHilistId = miConfig.Code
  1133. // struct3506.FixmedinsHilistName = miConfig.OrgName
  1134. // struct3506.FixmedinsBchno = infos.Number
  1135. // struct3506.ManuLotnum = infos.Number
  1136. // struct3506.ManuDate = time.Unix(infos.ProductDate, 0).Format("2006-01-02 15:04:05")
  1137. // //struct3501.ExpyEnd = time.Unix(infos.ExpiryDate, 0).Format("2006-01-02 15:04:05")
  1138. // struct3506.RxFlag = "0"
  1139. // struct3506.TrdnFlag = "1"
  1140. // struct3506.SelRetnCnt = strconv.FormatInt(int64(infos.Count), 10)
  1141. // struct3506.SelRetnTime = time.Unix(infos.Ctime, 0).Format("2006-01-02 15:04:05")
  1142. // //struct3506.SelRetnOpterName = "仓管员"
  1143. // if org_id == 10188 {
  1144. // struct3506.SelRetnOpterName = "孙欣欣"
  1145. // } else if org_id == 10217 {
  1146. // struct3506.SelRetnOpterName = "晁海燕"
  1147. // }
  1148. // struct3506.Memo = ""
  1149. //
  1150. // struct3506s = append(struct3506s, struct3506)
  1151. // data["struct_3506s"] = struct3506s
  1152. // client := &http.Client{}
  1153. // bytesData, _ := json.Marshal(data)
  1154. // var req *http.Request
  1155. // if miConfig.UserOrgId == 10215 {
  1156. // result := Gdyb3506(struct3506, miConfig.SecretKey)
  1157. //
  1158. // var dat map[string]interface{}
  1159. // if err := json.Unmarshal([]byte(result), &dat); err == nil {
  1160. // fmt.Println(dat)
  1161. // } else {
  1162. // fmt.Println(err)
  1163. // }
  1164. // userJSONBytes, _ := json.Marshal(dat)
  1165. // if err := json.Unmarshal(userJSONBytes, &res); err != nil {
  1166. // utils.ErrorLog("解析失败:%v", err)
  1167. // res.Infcode = -1
  1168. // return res
  1169. // }
  1170. // return res
  1171. //
  1172. // } else {
  1173. // if miConfig.MdtrtareaAdmvs == "320921" {
  1174. // req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/3506", bytes.NewReader(bytesData))
  1175. // } else {
  1176. // req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3506", bytes.NewReader(bytesData))
  1177. // }
  1178. //
  1179. // resp, _ := client.Do(req)
  1180. // defer resp.Body.Close()
  1181. // body, ioErr := ioutil.ReadAll(resp.Body)
  1182. // if ioErr != nil {
  1183. // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
  1184. // res.Infcode = -1
  1185. // return res
  1186. // }
  1187. // var respJSON map[string]interface{}
  1188. // if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
  1189. // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  1190. // res.Infcode = -1
  1191. // return res
  1192. // }
  1193. // var resSix10265 ResultSix10265 //1101结果
  1194. //
  1195. // respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
  1196. // result, _ := json.Marshal(respJSON)
  1197. // if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
  1198. // utils.ErrorLog("解析失败:%v", err)
  1199. // res.Infcode = -1
  1200. // return res
  1201. // }
  1202. // res.InfRefmsgid = resSix10265.InfRefmsgid
  1203. // res.Output = resSix10265.Output
  1204. // res.ErrMsg = resSix10265.ErrMsg
  1205. // res.Cainfo = resSix10265.Cainfo
  1206. // res.WarnMsg = resSix10265.WarnMsg
  1207. // infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
  1208. // res.Infcode = infocode
  1209. //
  1210. // return res
  1211. // }
  1212. //}
  1213. //func Post3506ForDrug(org_id int64, infos *models.NewDrugCancelStockInfo) ResultSix {
  1214. // var res ResultSix
  1215. // miConfig, _ := FindMedicalInsuranceInfo(org_id)
  1216. // data := make(map[string]interface{})
  1217. // var struct3506s []models.Struct3506
  1218. // var struct3506 models.Struct3506
  1219. // struct3506.FixmedinsCode = miConfig.Code
  1220. // struct3506.OrgName = miConfig.OrgName
  1221. // struct3506.AccessKey = miConfig.AccessKey
  1222. // struct3506.RequestUrl = miConfig.Url
  1223. // struct3506.SecretKey = miConfig.SecretKey
  1224. // struct3506.MdtrtareaAdmvs = miConfig.MdtrtareaAdmvs
  1225. // struct3506.InsuplcAdmdvs = miConfig.InsuplcAdmdvs
  1226. // struct3506.MedListCodg = infos.BaseDrugLib.MedicalInsuranceNumber
  1227. // struct3506.FixmedinsHilistId = miConfig.Code
  1228. // struct3506.FixmedinsHilistName = miConfig.OrgName
  1229. // struct3506.FixmedinsBchno = infos.BatchNumber
  1230. // struct3506.ManuLotnum = infos.BatchNumber
  1231. // struct3506.ManuDate = time.Unix(infos.ProductDate, 0).Format("2006-01-02 15:04:05")
  1232. // //struct3501.ExpyEnd = time.Unix(infos.ExpiryDate, 0).Format("2006-01-02 15:04:05")
  1233. // struct3506.RxFlag = "0"
  1234. // struct3506.TrdnFlag = "1"
  1235. // struct3506.SelRetnCnt = strconv.FormatInt(int64(infos.Count), 10)
  1236. // struct3506.SelRetnTime = time.Unix(infos.Ctime, 0).Format("2006-01-02 15:04:05")
  1237. // //struct3506.SelRetnOpterName = "仓管员"
  1238. // if org_id == 10188 {
  1239. // struct3506.SelRetnOpterName = "孙欣欣"
  1240. // } else if org_id == 10217 {
  1241. // struct3506.SelRetnOpterName = "晁海燕"
  1242. // }
  1243. // struct3506.Memo = ""
  1244. //
  1245. // struct3506s = append(struct3506s, struct3506)
  1246. // data["struct_3506s"] = struct3506s[0]
  1247. // client := &http.Client{}
  1248. // bytesData, _ := json.Marshal(data)
  1249. // var req *http.Request
  1250. // if miConfig.UserOrgId == 10215 {
  1251. // result := Gdyb3506(struct3506, miConfig.SecretKey)
  1252. // var dat map[string]interface{}
  1253. // if err := json.Unmarshal([]byte(result), &dat); err == nil {
  1254. // fmt.Println(dat)
  1255. // } else {
  1256. // fmt.Println(err)
  1257. // }
  1258. // userJSONBytes, _ := json.Marshal(dat)
  1259. // if err := json.Unmarshal(userJSONBytes, &res); err != nil {
  1260. // utils.ErrorLog("解析失败:%v", err)
  1261. // res.Infcode = -1
  1262. // return res
  1263. // }
  1264. // return res
  1265. // } else {
  1266. // if miConfig.MdtrtareaAdmvs == "320921" {
  1267. // req, _ = http.NewRequest("POST", "http://192.168.2.110:9532/"+"jsyb/3506", bytes.NewReader(bytesData))
  1268. // } else {
  1269. // req, _ = http.NewRequest("POST", "http://192.168.5.251:9532/"+"jsyb/3506", bytes.NewReader(bytesData))
  1270. // }
  1271. // resp, _ := client.Do(req)
  1272. // defer resp.Body.Close()
  1273. // body, ioErr := ioutil.ReadAll(resp.Body)
  1274. // if ioErr != nil {
  1275. // utils.ErrorLog("接口返回数据读取失败: %v", ioErr)
  1276. // res.Infcode = -1
  1277. // return res
  1278. // }
  1279. // var respJSON map[string]interface{}
  1280. // if err := json.Unmarshal([]byte(body), &respJSON); err != nil {
  1281. // utils.ErrorLog("接口返回数据解析JSON失败: %v", err)
  1282. // res.Infcode = -1
  1283. // return res
  1284. // }
  1285. // var resSix10265 ResultSix10265 //1101结果
  1286. // respJSON = respJSON["data"].(map[string]interface{})["request_log"].(map[string]interface{})
  1287. // result, _ := json.Marshal(respJSON)
  1288. // if err := json.Unmarshal([]byte(result), &resSix10265); err != nil {
  1289. // utils.ErrorLog("解析失败:%v", err)
  1290. // res.Infcode = -1
  1291. // return res
  1292. // }
  1293. // res.InfRefmsgid = resSix10265.InfRefmsgid
  1294. // res.Output = resSix10265.Output
  1295. // res.ErrMsg = resSix10265.ErrMsg
  1296. // res.Cainfo = resSix10265.Cainfo
  1297. // res.WarnMsg = resSix10265.WarnMsg
  1298. // infocode, _ := strconv.ParseInt(resSix10265.Infcode, 10, 64)
  1299. // res.Infcode = infocode
  1300. // return res
  1301. // }
  1302. //}