paymentinfo.go 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062
  1. package oilsupplier
  2. import (
  3. "dashoo.cn/backend/api/business/auditsetting"
  4. "dashoo.cn/backend/api/business/invoiceinfo"
  5. "dashoo.cn/backend/api/business/oilsupplier/annualaudit"
  6. "dashoo.cn/backend/api/business/oilsupplier/infochange"
  7. "dashoo.cn/backend/api/business/oilsupplier/paymentbankinfo"
  8. "dashoo.cn/backend/api/business/oilsupplier/suppliercertappend"
  9. "dashoo.cn/backend/api/business/oilsupplier/suppliercertsub"
  10. "dashoo.cn/backend/api/business/oilsupplier/supplierfile"
  11. "dashoo.cn/backend/api/business/register"
  12. "dashoo.cn/backend/api/business/workflow"
  13. "dashoo.cn/business3/parameter"
  14. "dashoo.cn/business3/userRole"
  15. "encoding/json"
  16. "fmt"
  17. "strconv"
  18. "strings"
  19. "time"
  20. "dashoo.cn/backend/api/business/bankapi"
  21. "dashoo.cn/backend/api/business/oilsupplier/supplier"
  22. "dashoo.cn/backend/api/business/oilsupplier/suppliercert"
  23. "dashoo.cn/backend/api/business/paymentinfo"
  24. . "dashoo.cn/backend/api/controllers"
  25. "dashoo.cn/business3/permission"
  26. "dashoo.cn/utils"
  27. //"wayne-master/src/backend/util/integer"
  28. )
  29. type PaymentInfoController struct {
  30. BaseController
  31. }
  32. // @Title 获取列表
  33. // @Description get user by token
  34. // @Success 200 {object} []paymentinfo.PaymentinfoList
  35. // @router /list [get]
  36. func (this *PaymentInfoController) GetEntityList() {
  37. //获取分页信息
  38. page := this.GetPageInfoForm()
  39. orderby := "p.Id"
  40. where := " 1=1 "
  41. asc := " DESC"
  42. SupplierTypeCode := this.GetString("SupplierTypeCode")
  43. SupplierName := this.GetString("SupplierName")
  44. IsPay := this.GetString("IsPay")
  45. IsInvoice := this.GetString("IsInvoice")
  46. if IsPay != "" {
  47. if IsPay == "0" {
  48. where = where + " and (p.IsPay = '" + IsPay + "' or p.IsPay = '1') "
  49. } else {
  50. where = where + " and p.IsPay = '" + IsPay + "'"
  51. }
  52. }
  53. if IsInvoice != "" {
  54. where = where + " and c.IsInvoice = '" + IsInvoice + "'"
  55. }
  56. if SupplierTypeCode != "" {
  57. where = where + " and c.SupplierTypeCode like '%" + SupplierTypeCode + "%'"
  58. }
  59. if SupplierName != "" {
  60. where = where + " and s.SupplierName like '%" + SupplierName + "%'"
  61. }
  62. //svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  63. //var list []suppliercert.OilSupplierCert
  64. svcPerm := permission.GetPermissionService(utils.DBE)
  65. var registerUser register.OilCorporateInfo
  66. sql := " UserName='" + this.User.Username + "'"
  67. svcPerm.GetEntity(&registerUser, sql)
  68. isauth := svcPerm.IsAuthorized(this.User.Id, "oil_supplier.PaymentInfo.AllRecord")
  69. if !svcPerm.IsAdmin(this.User.Id) && !isauth {
  70. where = where + " and (p.CreateUserId = '" + this.User.Id + "' or s.CommercialNo='" + registerUser.CommercialNo + "') "
  71. }
  72. var paylist []paymentinfo.PaymentinfoList
  73. svc := paymentinfo.GetPaymentService(utils.DBE)
  74. total := svc.GetPaymentinfoList(page.CurrentPage, page.Size, orderby, asc, &paylist, where)
  75. //total := svc.GetPagingEntitiesWithOrderBytbl("", page.CurrentPage, page.Size, orderby, asc, &list, where)
  76. var datainfo DataInfo
  77. datainfo.Items = paylist
  78. datainfo.CurrentItemCount = total
  79. datainfo.PageIndex = page.CurrentPage
  80. datainfo.ItemsPerPage = page.Size
  81. this.Data["json"] = &datainfo
  82. this.ServeJSON()
  83. }
  84. // @Title 获取列表
  85. // @Description get user by token
  86. // @Success 200 {object} []paymentinfo.PaymentinfoList
  87. // @router /get-bill-list [post]
  88. func (this *PaymentInfoController) GetBillList() {
  89. var icbcBillQueryParam bankapi.ICBCBillQueryParam
  90. var jsonBlob = this.Ctx.Input.RequestBody
  91. json.Unmarshal(jsonBlob, &icbcBillQueryParam)
  92. var supplierEntity supplier.OilSupplier
  93. supplierSvc := supplier.GetOilSupplierService(utils.DBE)
  94. supplierWhere := "1=1 and CommercialNo='" + icbcBillQueryParam.CommercialNo + "'" // IsPay=1
  95. supplierSvc.DBE.Where(supplierWhere).Get(&supplierEntity)
  96. var billList []paymentinfo.OilPaymentInfo
  97. billWhere := "1=1 and IsPay='1' and SupplierId='" + strconv.Itoa(supplierEntity.Id) + "'"
  98. svc := paymentinfo.GetPaymentService(utils.DBE)
  99. svc.DBE.Where(billWhere).OrderBy("Id DESC").Find(&billList)
  100. //获取分页信息
  101. //page := this.GetPageInfoForm()
  102. var datainfo DataInfo
  103. datainfo.Items = billList
  104. //datainfo.CurrentItemCount = integer.Int2Int64(len(billList))
  105. // datainfo.CurrentItemCount = 10
  106. datainfo.CurrentItemCount = int64(len(billList))
  107. datainfo.PageIndex = 1
  108. datainfo.ItemsPerPage = 1000
  109. this.Data["json"] = &datainfo
  110. this.ServeJSON()
  111. }
  112. // @Title 当前用户的要交费记录
  113. // @Description 当前用户的要交费记录
  114. // @Success 200 {{object} controllers.Request
  115. // @router /getNolist [get]
  116. func (this *PaymentInfoController) GetNolist() {
  117. svc := paymentinfo.GetPaymentService(utils.DBE)
  118. var pay []paymentinfo.OilPaymentInfo
  119. where := "CreateUserId = '" + this.User.Id + "' and IsPay='0'"
  120. svc.GetEntities(&pay, where)
  121. var datainfo DataInfo
  122. datainfo.Items = pay
  123. this.Data["json"] = &datainfo
  124. this.ServeJSON()
  125. }
  126. // @Title 获取实体
  127. // @Description 获取实体
  128. // @Success 200 {object} paymentinfo.PaymentinfoList
  129. // @router /get/:id [get]
  130. func (this *PaymentInfoController) GetEntity() {
  131. Id := this.Ctx.Input.Param(":id")
  132. var model []paymentinfo.PaymentinfoList
  133. svc := paymentinfo.GetPaymentService(utils.DBE)
  134. svc.GetPaymentinfoById(Id, &model)
  135. this.Data["json"] = &model[0]
  136. this.ServeJSON()
  137. }
  138. // @Title 修改实体
  139. // @Description 修改实体
  140. // @Param body body paymentinfo.Paymentinfo
  141. // @Success 200 {object} controllers.Request
  142. // @router /update/:id [post]
  143. func (this *PaymentInfoController) UpdateEntity() {
  144. id := this.Ctx.Input.Param(":id")
  145. var errinfo ErrorInfo
  146. if id == "" {
  147. errinfo.Message = "操作失败!请求信息不完整"
  148. errinfo.Code = -2
  149. this.Data["json"] = &errinfo
  150. this.ServeJSON()
  151. return
  152. }
  153. var model paymentinfo.OilPaymentInfo
  154. svc := paymentinfo.GetPaymentService(utils.DBE)
  155. var jsonBlob = this.Ctx.Input.RequestBody
  156. json.Unmarshal(jsonBlob, &model)
  157. model.ModifiedOn = time.Now()
  158. model.ModifiedBy = this.User.Realname
  159. model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  160. cols := []string{
  161. "IsPay",
  162. "PayMode",
  163. "PayDate",
  164. "BankSerialNum",
  165. "BankName",
  166. "Remark",
  167. "ModifiedOn",
  168. "ModifiedUserId",
  169. "ModifiedBy",
  170. }
  171. _, err := svc.UpdateEntityByIdCols(id, &model, cols)
  172. if model.IsPay == "2" {
  173. var certentity suppliercert.OilSupplierCert
  174. certentity.Status = suppliercert.STOREING_STATUS
  175. certentity.Step = 5
  176. cols = []string{
  177. "Status",
  178. "Step",
  179. }
  180. _, err = svc.UpdateEntityByIdCols(strconv.Itoa(model.SupplierCertId), &certentity, cols)
  181. }
  182. if err == nil {
  183. errinfo.Message = "修改成功!"
  184. errinfo.Code = 0
  185. this.Data["json"] = &errinfo
  186. this.ServeJSON()
  187. } else {
  188. errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
  189. errinfo.Code = -1
  190. this.Data["json"] = &errinfo
  191. this.ServeJSON()
  192. }
  193. }
  194. // @Title 修改金额
  195. // @Description 修改实体
  196. // @Param body body paymentinfo.Paymentinfo
  197. // @Success 200 {object} controllers.Request
  198. // @router /updateAmount/:id [post]
  199. func (this *PaymentInfoController) UpdateAmount() {
  200. id := this.Ctx.Input.Param(":id")
  201. var errinfo ErrorInfo
  202. if id == "" {
  203. errinfo.Message = "操作失败!请求信息不完整"
  204. errinfo.Code = -2
  205. this.Data["json"] = &errinfo
  206. this.ServeJSON()
  207. return
  208. }
  209. var model paymentinfo.OilPaymentInfo
  210. svc := paymentinfo.GetPaymentService(utils.DBE)
  211. var jsonBlob = this.Ctx.Input.RequestBody
  212. json.Unmarshal(jsonBlob, &model)
  213. cols := []string{
  214. "Amount",
  215. }
  216. _, err := svc.UpdateEntityByIdCols(id, &model, cols)
  217. if err == nil {
  218. errinfo.Message = "修改成功!"
  219. errinfo.Code = 0
  220. this.Data["json"] = &errinfo
  221. this.ServeJSON()
  222. } else {
  223. errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
  224. errinfo.Code = -1
  225. this.Data["json"] = &errinfo
  226. this.ServeJSON()
  227. }
  228. }
  229. type BillInfoSure struct {
  230. SupplierEntity supplier.OilSupplier
  231. DataInfos [2]DataInfo
  232. AmountList [2]float64
  233. }
  234. // @Title 获取实体
  235. // @Description 获取实体
  236. // @Success 200 {object} BillInfoSure
  237. // @router /getbillinfo [get]
  238. func (this *PaymentInfoController) GetBillInfo() {
  239. regSvc := register.GetOilCorporateInfoService(utils.DBE)
  240. supplierSvc := supplier.GetOilSupplierService(utils.DBE)
  241. commercialNo := this.GetString("commercialNo")
  242. fmt.Println(commercialNo)
  243. if this.User.IsCompanyUser == 1 {
  244. var corporateInfo register.OilCorporateInfo
  245. regSvc.GetEntity(&corporateInfo, "UserId='"+this.User.Id+"'")
  246. commercialNo = corporateInfo.CommercialNo
  247. }
  248. var supplierEntity supplier.OilSupplier
  249. supplierSvc.GetEntity(&supplierEntity, "CommercialNo='"+commercialNo+"'")
  250. billInfoSure := new(BillInfoSure)
  251. supplierEntity.AllAddress = strings.Replace(supplierEntity.AllAddress, "/", "", -1)
  252. billInfoSure.SupplierEntity = supplierEntity
  253. page := this.GetPageInfoForm()
  254. orderby := "p.Id"
  255. where := "p.SupplierId='" + strconv.Itoa(supplierEntity.Id) + "' and p.IsPay='0' "
  256. var paylist []paymentinfo.PaymentinfoList
  257. svc := paymentinfo.GetPaymentService(utils.DBE)
  258. total := svc.GetPaymentinfoList(page.CurrentPage, page.Size, orderby, " ASC", &paylist, where)
  259. //total := svc.GetPagingEntitiesWithOrderBytbl("", page.CurrentPage, page.Size, orderby, asc, &list, where)
  260. var datainfo DataInfo
  261. datainfo.Items = paylist
  262. datainfo.CurrentItemCount = total
  263. datainfo.PageIndex = page.CurrentPage
  264. datainfo.ItemsPerPage = page.Size
  265. amount1 := 0.0
  266. for _, payItem := range paylist {
  267. tmpAmount, _ := strconv.ParseFloat(payItem.Amount, 64)
  268. amount1 += tmpAmount
  269. }
  270. orderby2 := "p.Id"
  271. where2 := "p.SupplierId='" + strconv.Itoa(supplierEntity.Id) + "' and p.IsPay='1' "
  272. var paylist2 []paymentinfo.PaymentinfoList
  273. svc2 := paymentinfo.GetPaymentService(utils.DBE)
  274. total2 := svc2.GetPaymentinfoList(page.CurrentPage, page.Size, orderby2, " ASC", &paylist2, where2)
  275. //total := svc.GetPagingEntitiesWithOrderBytbl("", page.CurrentPage, page.Size, orderby, asc, &list, where)
  276. var datainfo2 DataInfo
  277. datainfo2.Items = paylist2
  278. datainfo2.CurrentItemCount = total2
  279. datainfo2.PageIndex = page.CurrentPage
  280. datainfo2.ItemsPerPage = page.Size
  281. amount2 := 0.0
  282. for _, payItem := range paylist2 {
  283. tmpAmount, _ := strconv.ParseFloat(payItem.Amount, 64)
  284. amount2 += tmpAmount
  285. }
  286. billInfoSure.DataInfos[0] = datainfo
  287. billInfoSure.DataInfos[1] = datainfo2
  288. billInfoSure.AmountList[0] = amount1
  289. billInfoSure.AmountList[1] = amount2
  290. this.Data["json"] = &billInfoSure
  291. this.ServeJSON()
  292. }
  293. type BillSure struct {
  294. Ids string `json:"ids"`
  295. }
  296. // @Title 确认缴费单
  297. // @Description 确认缴费单
  298. // @Success 200 {object} controllers.Request
  299. // @router /bill-sure [post]
  300. func (this *PaymentInfoController) SureEntity() {
  301. svc := paymentinfo.GetPaymentService(utils.DBE)
  302. var billSure BillSure
  303. var jsonBlob = this.Ctx.Input.RequestBody
  304. json.Unmarshal(jsonBlob, &billSure)
  305. strIds := strings.Trim(billSure.Ids, ",")
  306. sql := "update OilPaymentInfo set IsPay = 1, "
  307. sql += "SureBatchNo='" + strconv.FormatInt(time.Now().UnixNano(), 10) + "', "
  308. sql += "ModifiedOn='" + time.Now().Format("2006-01-02 15:04:05") + "', "
  309. sql += "ModifiedBy='" + this.User.Realname + "', "
  310. sql += "ModifiedUserId='" + this.User.Id + "' "
  311. sql += " where id in (" + strIds + ") and IsPay = 0"
  312. svc.DBE.Query(sql)
  313. var errinfo ErrorInfo
  314. errinfo.Message = "修改成功!"
  315. errinfo.Code = 0
  316. this.Data["json"] = &errinfo
  317. this.ServeJSON()
  318. }
  319. // @Title 确认缴费单--回调
  320. // @Description 确认缴费单
  321. // @Success 200 {object} controllers.Request
  322. // @router /receive-money-bill-list-copy [post]
  323. func (this *PaymentInfoController) ReceiveMoneyBillListCopy() {
  324. var errinfo ErrorInfo
  325. svc := paymentinfo.GetPaymentService(utils.DBE)
  326. var billParams bankapi.BillReceiveMoneyParams
  327. var jsonBlob = this.Ctx.Input.RequestBody
  328. json.Unmarshal(jsonBlob, &billParams)
  329. //已有的银行流水号说明是重复调用,将被丢弃
  330. cntWhere := " 1= 1 and BankSerialNum = '" + billParams.BankSerialNum + "' "
  331. var paymentInfoCnt []paymentinfo.OilPaymentInfo
  332. svc.GetEntities(&paymentInfoCnt, cntWhere)
  333. if paymentInfoCnt != nil && len(paymentInfoCnt) > 0 {
  334. errinfo.Message = "重复调用"
  335. errinfo.Code = -1
  336. this.Data["json"] = &errinfo
  337. this.ServeJSON()
  338. return
  339. }
  340. strIds := strings.Trim(billParams.Ids, ",")
  341. sqlList := "id in (" + strIds + ") and IsPay = '1'"
  342. var paymentInfos []paymentinfo.OilPaymentInfo
  343. svc.GetEntities(&paymentInfos, sqlList)
  344. t := time.Now()
  345. sql := "update OilPaymentInfo set IsPay = '2', "
  346. sql += "BankName='" + billParams.BankName + "', "
  347. sql += "BankSerialNum='" + billParams.BankSerialNum + "', "
  348. sql += "PayDate='" + billParams.PayDate.Format("2006-01-02 15:04:05") + "', "
  349. sql += "PayMode='" + billParams.PayMode + "', "
  350. sql += "ModifiedOn='" + t.Format("2006-01-02 15:04:05") + "', "
  351. sql += "ModifiedBy='" + this.User.Realname + "', "
  352. sql += "ModifiedUserId='" + this.User.Id + "' "
  353. sql += " where Id in (" + strIds + ") and IsPay = '1'"
  354. svc.DBE.Query(sql)
  355. supplierId := 0
  356. srcids := ""
  357. svcActiviti := workflow.GetActivitiService(utils.DBE)
  358. for _, payItem := range paymentInfos {
  359. supplierId = payItem.SupplierId
  360. srcids = srcids + "," + strconv.Itoa(payItem.Id)
  361. if payItem.PayType == "1" { //准入
  362. var cert suppliercert.OilSupplierCert
  363. svc.GetEntityById(payItem.SupplierCertId, &cert)
  364. /*svcActiviti := workflow.GetActivitiService(utils.DBE)
  365. businessKey := strconv.Itoa(payItem.SupplierCertId)
  366. result := "1"*/
  367. userIds := ""
  368. var userlist []userRole.Base_User
  369. var setting auditsetting.Base_OilAuditSetting
  370. usvc := userRole.GetUserService(utils.DBE)
  371. where := "AuditStepCode='" + workflow.PROF_REGULATION + "'"
  372. svc.GetEntity(&setting, where)
  373. ids := usvc.GetUserIdsByRoleId(strconv.Itoa(setting.RoleId))
  374. tempstr := strings.Join(ids, ",")
  375. uids := strings.Replace(tempstr, "uid_", "", -1)
  376. uids = strings.Trim(uids, ",")
  377. paramSvc := baseparameter.GetBaseparameterService(utils.DBE)
  378. topid := paramSvc.GetBaseparameterMessage("", "paramset", "CENT_AUDIT")
  379. if uids != "" {
  380. where := "Id in (" + uids + ")" + " and UnitId=" + topid
  381. paramSvc.GetEntities(&userlist, where)
  382. }
  383. for _, tmpUser := range userlist {
  384. userIds += strconv.Itoa(tmpUser.Id) + "," //strconv.FormatInt(tmpUser.Id, 10) + ","
  385. }
  386. userIds = strings.Trim(userIds, ",")
  387. // processInstanceId := svcActiviti.StartProcess2(workflow.OIL_SUPPLIER_INSTORE, businessKey, userIds, result, cert.SupplierTypeCode, payItem.SupplierName)
  388. //TODO: 改成交费步骤完成,到下一步
  389. //var ActiComplete workflow.ActiCompleteVM
  390. //ActiComplete.ProcessKey = workflow.OIL_SUPPLIER_INSTORE
  391. //ActiComplete.BusinessKey = businessKey
  392. //ActiComplete.UserNames = userIds
  393. //ActiComplete.UserId = this.User.Id
  394. //ActiComplete.Result = "1"
  395. //ActiComplete.Remarks = ""
  396. //ActiComplete.CallbackUrl = ""
  397. //
  398. //res := svcActiviti.TaskComplete(ActiComplete)
  399. //fmt.Println(res)
  400. /* var activity oilactivity.OilActivity
  401. activity.EntityId = payItem.SupplierCertId
  402. activity.ActType = oilactivity.STORAGE
  403. activity.WorkflowId = processInstanceId
  404. activity.BusinessKey = businessKey
  405. activity.ProcessKey = workflow.OIL_SUPPLIER_INSTORE
  406. activity.CreateOn = time.Now()
  407. svc.InsertEntityBytbl(OilActivityName, &activity) */
  408. var certentity suppliercert.OilSupplierCert
  409. certentity.Status = suppliercert.STOREING_STATUS
  410. certentity.Step = 5
  411. certentity.IsPay = 1
  412. cols := []string{
  413. "Status",
  414. "Step",
  415. "IsPay",
  416. }
  417. svc.UpdateEntityByIdCols(strconv.Itoa(payItem.SupplierCertId), &certentity, cols)
  418. } else if payItem.PayType == "2" { //年审
  419. //TODO: 修改年审时间
  420. annuasvc := annualaudit.GetOilAnnualAuditService(utils.DBE)
  421. var annualentities []annualaudit.OilAnnualAudit
  422. annwhere := " SupplierId = " + utils.ToStr(payItem.SupplierId) + " and CerId = " + utils.ToStr(payItem.SupplierCertId) + " and Status = '6'"
  423. svc.GetEntitysByWhere(OilAnnualAuditName, annwhere, &annualentities)
  424. if len(annualentities) > 0 {
  425. //更新年审表时间
  426. var annmodel annualaudit.OilAnnualAudit
  427. annmodel.Status = suppliercert.ALL_PASE_STATUS
  428. annmodel.ApplyTime = annualentities[0].ApplyTime.AddDate(1, 0, 0)
  429. annuasvc.UpdateEntityBywheretbl(OilAnnualAuditName, &annmodel, []string{"ApplyTime", "Status"}, annwhere)
  430. //更新准入表时间
  431. var certmodel suppliercert.OilSupplierCert
  432. certmodel.ApplyTime = annualentities[0].ApplyTime.AddDate(1, 0, 0)
  433. certmodel.InFlag = "1"
  434. svc.UpdateEntityByIdCols(strconv.Itoa(payItem.SupplierCertId), &certmodel, []string{"ApplyTime", "InFlag"})
  435. }
  436. } else if payItem.PayType == "3" { //增项
  437. appsvc := suppliercertappend.GetOilSupplierCertAppendService(utils.DBE)
  438. //更新准入项表
  439. appendwhere := " SupplierId = " + utils.ToStr(payItem.SupplierId) + " and SupplierCertId = " + utils.ToStr(payItem.SupplierCertId) + " and Type = '2'"
  440. var appendsubmodel suppliercertsub.OilSupplierCertSub
  441. appendsubmodel.Type = "3"
  442. appsvc.UpdateEntityBywheretbl(OilSupplierCertSubName, &appendsubmodel, []string{"Type"}, appendwhere)
  443. //更新资质表
  444. appendfilewhere := " SupplierId = " + utils.ToStr(payItem.SupplierId) + " and SupType = 2"
  445. var appendsubfilemodel supplierfile.OilSupplierFile
  446. appendsubfilemodel.SupType = 3
  447. appsvc.UpdateEntityBywheretbl(OilSupplierCertSubName, &appendsubfilemodel, []string{"SupType"}, appendfilewhere)
  448. //更新增项表
  449. appdwhere := " SupplierId = " + utils.ToStr(payItem.SupplierId) + " and SupplierCertId = " + utils.ToStr(payItem.SupplierCertId) + " and Status = '6'"
  450. var appendmodel suppliercertappend.OilSupplierCertAppend
  451. appendmodel.Status = suppliercert.ALL_PASE_STATUS
  452. appsvc.UpdateEntityBywheretbl(OilSupplierCertAppendName, &appendmodel, []string{"Status"}, appdwhere)
  453. }
  454. }
  455. // 待开发票
  456. var suppentity supplier.OilSupplier
  457. where := "Id=" + strconv.Itoa(supplierId)
  458. svc.GetEntity(&suppentity, where)
  459. var ivinfo invoiceinfo.OilInvoiceInfo
  460. ivinfo.SrcIds = strings.Trim(srcids, ",")
  461. ivinfo.Amount = billParams.ReceiveAmount
  462. ivinfo.BankSerialNum = billParams.BankSerialNum
  463. ivinfo.IsInvoice = "0"
  464. ivinfo.SupplierId = supplierId
  465. ivinfo.SupplierName = suppentity.SupplierName
  466. ivinfo.CommercialNo = suppentity.CommercialNo
  467. ivinfo.Address = suppentity.Address
  468. ivinfo.BankAccount = suppentity.BankAccount
  469. ivinfo.DepositBank = suppentity.DepositBank
  470. ivinfo.Email = suppentity.EMail
  471. ivinfo.CreateOn = time.Now()
  472. svc.InsertEntity(&ivinfo)
  473. usvc := userRole.GetUserService(utils.DBE)
  474. paramSvc := baseparameter.GetBaseparameterService(utils.DBE)
  475. financeRoleId := paramSvc.GetBaseparameterMessage("", "paramset", "FinanceRoleId")
  476. ids := usvc.GetUserIdsByRoleId(financeRoleId)
  477. tempstr := strings.Join(ids, ",")
  478. uids := strings.Replace(tempstr, "uid_", "", -1)
  479. uids = strings.Trim(uids, ",")
  480. businessKey := strconv.Itoa(ivinfo.Id)
  481. result := "1"
  482. processInstanceId := svcActiviti.StartProcess2(workflow.OIL_SUPPLIER_VERIFY, businessKey, uids, result, "04", suppentity.SupplierName)
  483. ivinfo.WorkflowId = processInstanceId
  484. cols := []string{"WorkflowId"}
  485. svc.UpdateEntityByIdCols(ivinfo.Id, &ivinfo, cols)
  486. //记录对账日志
  487. paymentBankInfo := new(paymentbankinfo.OilPaymentBankInfo)
  488. paymentBankInfo.BillIds = billParams.Ids
  489. paymentBankInfo.PayMode = billParams.PayMode
  490. paymentBankInfo.PayDate = billParams.PayDate
  491. paymentBankInfo.BankSerialNum = billParams.BankSerialNum
  492. paymentBankInfo.ReceiveAmount = billParams.ReceiveAmount
  493. paymentBankInfo.BankName = billParams.BankName
  494. paymentBankInfo.CreateUserId = 0
  495. paymentBankInfo.CreateOn = time.Now()
  496. paymentBankInfo.ModifiedUserId = 0
  497. paymentBankInfo.ModifiedOn = time.Now()
  498. paymentBankInfo.WriteInType = "1" //初次回调
  499. payBankSvc := paymentbankinfo.GetPaymentSelectService(utils.DBE)
  500. payBankSvc.InsertEntity(paymentBankInfo)
  501. errinfo.Message = "修改成功!"
  502. errinfo.Code = 0
  503. this.Data["json"] = &errinfo
  504. this.ServeJSON()
  505. }
  506. // @Title 确认缴费单--回调
  507. // @Description 确认缴费单
  508. // @Success 200 {object} controllers.Request
  509. // @router /receive-money-bill-list [post]
  510. func (this *PaymentInfoController) ReceiveMoneyBillList() {
  511. var errInfo ErrorInfo
  512. svc := paymentinfo.GetPaymentService(utils.DBE)
  513. var billParams bankapi.BillReceiveMoneyParams
  514. var jsonBlob = this.Ctx.Input.RequestBody
  515. json.Unmarshal(jsonBlob, &billParams)
  516. //已有的银行流水号说明是重复调用,将被丢弃
  517. cntWhere := " 1= 1 and BankSerialNum = '" + billParams.BankSerialNum + "' "
  518. var paymentInfoCnt []paymentinfo.OilPaymentInfo
  519. svc.GetEntities(&paymentInfoCnt, cntWhere)
  520. if paymentInfoCnt != nil && len(paymentInfoCnt) > 0 {
  521. errInfo.Message = "重复调用"
  522. errInfo.Code = -1
  523. this.Data["json"] = &errInfo
  524. this.ServeJSON()
  525. return
  526. }
  527. strIds := strings.Trim(billParams.Ids, ",")
  528. sqlList := "id in (" + strIds + ") and IsPay = '1'"
  529. var paymentInfos []paymentinfo.OilPaymentInfo
  530. svc.GetEntities(&paymentInfos, sqlList)
  531. t := time.Now()
  532. sql := "update OilPaymentInfo set IsPay = '2', "
  533. sql += "BankName='" + billParams.BankName + "', "
  534. sql += "BankSerialNum='" + billParams.BankSerialNum + "', "
  535. //sql += "PayDate='" + billParams.PayDate.Format("2006-01-02 15:04:05") + "', "
  536. sql += "PayDate='" + t.Format("2006-01-02 15:04:05") + "', "
  537. sql += "PayMode='" + billParams.PayMode + "', "
  538. sql += "ModifiedOn='" + t.Format("2006-01-02 15:04:05") + "', "
  539. sql += "ModifiedBy='" + this.User.Realname + "', "
  540. sql += "ModifiedUserId='" + this.User.Id + "' "
  541. sql += " where Id in (" + strIds + ") and IsPay = '1'"
  542. svc.DBE.Query(sql)
  543. supplierId := 0
  544. srcIds := ""
  545. svcActiviti := workflow.GetActivitiService(utils.DBE)
  546. for _, payItem := range paymentInfos {
  547. supplierId = payItem.SupplierId
  548. srcIds = srcIds + "," + strconv.Itoa(payItem.Id)
  549. if payItem.PayType == "1" { //准入申请
  550. //取出准入表信息
  551. certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  552. var supplierCertEntity suppliercert.OilSupplierCert
  553. certSrv.GetEntityById(payItem.SrcId, &supplierCertEntity)
  554. var ActiComplete workflow.ActiCompleteVM
  555. ActiComplete.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
  556. ActiComplete.BusinessKey = supplierCertEntity.BusinessKey
  557. ActiComplete.UserId = strconv.Itoa(supplierCertEntity.CreateUserId)
  558. ActiComplete.Result = "1"
  559. ActiComplete.Remarks = "交费成功。"
  560. ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
  561. fmt.Println("进入协程!" + payItem.PayType)
  562. go func() {
  563. res := svcActiviti.TaskComplete(ActiComplete)
  564. if res != "true" {
  565. fmt.Println("工作流异常,请联系管理员!" + res)
  566. //panic("工作流异常,请联系管理员!" + res)
  567. }
  568. fmt.Println("协程!" + payItem.PayType)
  569. }()
  570. } else if payItem.PayType == "2" { //年审
  571. //取出年审表信息
  572. annualSrv := annualaudit.GetOilAnnualAuditService(utils.DBE)
  573. var annualEntity annualaudit.OilAnnualAudit
  574. annualSrv.GetEntityById(payItem.SrcId, &annualEntity)
  575. var ActiComplete workflow.ActiCompleteVM
  576. ActiComplete.ProcessKey = workflow.OIL_AUDIT_APPLY
  577. ActiComplete.BusinessKey = annualEntity.BusinessKey
  578. ActiComplete.UserId = strconv.Itoa(annualEntity.CreateUserId)
  579. ActiComplete.Result = "1"
  580. ActiComplete.Remarks = "交费成功。"
  581. ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
  582. fmt.Println("进入协程!" + payItem.PayType)
  583. go func() {
  584. res := svcActiviti.TaskComplete(ActiComplete)
  585. if res != "true" {
  586. fmt.Println("工作流异常,请联系管理员!" + res)
  587. //panic("工作流异常,请联系管理员!" + res)
  588. }
  589. fmt.Println("协程!" + payItem.PayType)
  590. }()
  591. } else if payItem.PayType == "3" { //增项
  592. //取出增项表信息
  593. appendSrv := suppliercertappend.GetOilSupplierCertAppendService(utils.DBE)
  594. var appendEntity suppliercertappend.OilSupplierCertAppend
  595. appendSrv.GetEntityById(payItem.SrcId, &appendEntity)
  596. var ActiComplete workflow.ActiCompleteVM
  597. ActiComplete.ProcessKey = workflow.OIL_ENUSER_APPEND_APPLY
  598. ActiComplete.BusinessKey = appendEntity.BusinessKey
  599. ActiComplete.UserId = strconv.Itoa(appendEntity.CreateUserId)
  600. ActiComplete.Result = "1"
  601. ActiComplete.Remarks = "交费成功。"
  602. ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
  603. fmt.Println("进入协程!" + payItem.PayType)
  604. go func() {
  605. res := svcActiviti.TaskComplete(ActiComplete)
  606. if res != "true" {
  607. fmt.Println("工作流异常,请联系管理员!" + res)
  608. //panic("工作流异常,请联系管理员!" + res)
  609. }
  610. fmt.Println("协程!" + payItem.PayType)
  611. }()
  612. } else if payItem.PayType == "7" { // 信息变更
  613. //取出信息变更表信息
  614. infoSrv := infochange.GetInfoChangeService(utils.DBE)
  615. var infoChangeEntity infochange.OilInfoChange
  616. infoSrv.GetEntityById(payItem.SrcId, &infoChangeEntity)
  617. var ActiComplete workflow.ActiCompleteVM
  618. ActiComplete.ProcessKey = workflow.OIL_INFO_CHANGE
  619. ActiComplete.BusinessKey = infoChangeEntity.BusinessKey
  620. ActiComplete.UserId = strconv.Itoa(infoChangeEntity.CreateUserId)
  621. ActiComplete.Result = "1"
  622. ActiComplete.Remarks = "交费成功。"
  623. ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
  624. fmt.Println("进入协程!" + payItem.PayType)
  625. go func() {
  626. res := svcActiviti.TaskComplete(ActiComplete)
  627. if res != "true" {
  628. fmt.Println("工作流异常,请联系管理员!" + res)
  629. //panic("工作流异常,请联系管理员!" + res)
  630. }
  631. fmt.Println("协程!" + payItem.PayType)
  632. }()
  633. }
  634. }
  635. // 待开发票记录
  636. var suppentity supplier.OilSupplier
  637. where := "Id=" + strconv.Itoa(supplierId)
  638. svc.GetEntity(&suppentity, where)
  639. var invoiceInfo invoiceinfo.OilInvoiceInfo
  640. invoiceInfo.SrcIds = strings.Trim(srcIds, ",")
  641. invoiceInfo.Amount = billParams.ReceiveAmount
  642. invoiceInfo.BankSerialNum = billParams.BankSerialNum
  643. invoiceInfo.IsInvoice = "0"
  644. invoiceInfo.SupplierId = supplierId
  645. invoiceInfo.SupplierName = suppentity.SupplierName
  646. invoiceInfo.CommercialNo = suppentity.CommercialNo
  647. invoiceInfo.Address = strings.Replace(suppentity.AllAddress, "/", "", -1) + suppentity.Address
  648. invoiceInfo.BankAccount = suppentity.BankAccount
  649. invoiceInfo.DepositBank = suppentity.DepositBank
  650. invoiceInfo.Email = suppentity.EMail
  651. invoiceInfo.CreateOn = time.Now()
  652. svc.InsertEntity(&invoiceInfo)
  653. userSvc := userRole.GetUserService(utils.DBE)
  654. paramSvc := baseparameter.GetBaseparameterService(utils.DBE)
  655. financeRoleId := paramSvc.GetBaseparameterMessage("", "paramset", "FinanceRoleId")
  656. ids := userSvc.GetUserIdsByRoleId(financeRoleId)
  657. tempStr := strings.Join(ids, ",")
  658. uids := strings.Replace(tempStr, "uid_", "", -1)
  659. uids = strings.Trim(uids, ",")
  660. businessKey := strconv.Itoa(invoiceInfo.Id)
  661. result := "1"
  662. processInstanceId := svcActiviti.StartProcess2(workflow.OIL_SUPPLIER_VERIFY, businessKey, uids, result, "04", suppentity.SupplierName)
  663. invoiceInfo.WorkflowId = processInstanceId
  664. cols := []string{"WorkflowId"}
  665. svc.UpdateEntityByIdCols(invoiceInfo.Id, &invoiceInfo, cols)
  666. //记录对账日志
  667. paymentBankInfo := new(paymentbankinfo.OilPaymentBankInfo)
  668. paymentBankInfo.BillIds = billParams.Ids
  669. paymentBankInfo.PayMode = billParams.PayMode
  670. paymentBankInfo.PayDate = t
  671. paymentBankInfo.BankSerialNum = billParams.BankSerialNum
  672. paymentBankInfo.ReceiveAmount = billParams.ReceiveAmount
  673. paymentBankInfo.BankName = billParams.BankName
  674. paymentBankInfo.CreateUserId = 0
  675. paymentBankInfo.CreateOn = time.Now()
  676. paymentBankInfo.ModifiedUserId = 0
  677. paymentBankInfo.ModifiedOn = time.Now()
  678. paymentBankInfo.WriteInType = "1" //初次回调
  679. payBankSvc := paymentbankinfo.GetPaymentSelectService(utils.DBE)
  680. payBankSvc.InsertEntity(paymentBankInfo)
  681. errInfo.Message = "确认成功!"
  682. errInfo.Code = 0
  683. this.Data["json"] = &errInfo
  684. this.ServeJSON()
  685. }
  686. // @Title 对账后有未更改状态的,再次确认缴费单--回调
  687. // @Description 确认缴费单
  688. // @Success 200 {object} controllers.Request
  689. // @router /receive-money-again-list [post]
  690. func (this *PaymentInfoController) ReceiveMoneyAgainList() {
  691. var errinfo ErrorInfo
  692. svc := paymentinfo.GetPaymentService(utils.DBE)
  693. var billParams []bankapi.BillReceiveMoneyAgainParams
  694. var jsonBlob = this.Ctx.Input.RequestBody
  695. json.Unmarshal(jsonBlob, &billParams)
  696. for _, billItem := range billParams {
  697. t := time.Now()
  698. sql := "update OilPaymentInfo set IsPay = 2, "
  699. sql += "BankName='" + billItem.BankName + "', "
  700. sql += "BankSerialNum='" + billItem.BankSerialNum + "', "
  701. sql += "PayDate='" + billItem.PayDate.Format("2006-01-02 15:04:05") + "', "
  702. sql += "PayMode='" + billItem.PayMode + "', "
  703. sql += "ModifiedOn='" + t.Format("2006-01-02 15:04:05") + "', "
  704. sql += "ModifiedBy='" + this.User.Realname + "', "
  705. sql += "ModifiedUserId='" + this.User.Id + "' "
  706. sql += " where id = " + billItem.BillId + " and IsPay = '1'"
  707. svc.DBE.Query(sql)
  708. strIds := strings.Trim(billItem.BillId, ",")
  709. sqlList := " 1=1 and Id in (" + strIds + ") and IsPay = '1'"
  710. var paymentInfo paymentinfo.OilPaymentInfo
  711. utils.DBE.Find(&paymentInfo, sqlList)
  712. if paymentInfo.PayType == "1" { //准入
  713. var certentity suppliercert.OilSupplierCert
  714. certentity.Status = suppliercert.STOREING_STATUS
  715. certentity.Step = 5
  716. cols := []string{
  717. "Status",
  718. "Step",
  719. }
  720. svc.UpdateEntityByIdCols(strconv.Itoa(paymentInfo.SupplierCertId), &certentity, cols)
  721. } else if paymentInfo.PayType == "2" { //年审
  722. //TODO: 修改年审时间
  723. } else if paymentInfo.PayType == "3" { //增项
  724. }
  725. //记录对账日志
  726. paymentBankInfo := new(paymentbankinfo.OilPaymentBankInfo)
  727. paymentBankInfo.BillIds = billItem.BillId
  728. paymentBankInfo.PayMode = billItem.PayMode
  729. paymentBankInfo.PayDate = billItem.PayDate
  730. paymentBankInfo.BankSerialNum = billItem.BankSerialNum
  731. paymentBankInfo.ReceiveAmount = billItem.ReceiveAmount
  732. paymentBankInfo.BankName = billItem.BankName
  733. paymentBankInfo.CreateUserId = 0
  734. paymentBankInfo.CreateOn = time.Now()
  735. paymentBankInfo.ModifiedUserId = 0
  736. paymentBankInfo.ModifiedOn = time.Now()
  737. paymentBankInfo.WriteInType = "2" //对账发现未修改成功时的回调
  738. payBankSvc := paymentbankinfo.GetPaymentSelectService(utils.DBE)
  739. payBankSvc.InsertEntity(paymentBankInfo)
  740. }
  741. errinfo.Message = "修改成功!"
  742. errinfo.Code = 0
  743. this.Data["json"] = &errinfo
  744. this.ServeJSON()
  745. }
  746. // @Title 对账
  747. // @Description 对账
  748. // @Success 200 {object} controllers.Request
  749. // @router /check-money-list [post]
  750. func (this *PaymentInfoController) CheckMoneyList() {
  751. svc := paymentinfo.GetPaymentService(utils.DBE)
  752. var checkMoneyParams bankapi.BillCheckMoneyParams
  753. var jsonBlob = this.Ctx.Input.RequestBody
  754. json.Unmarshal(jsonBlob, &checkMoneyParams)
  755. checkRet := new(bankapi.BillCheckMoneyRet)
  756. paymentWhere := "1=1 and IsPay='2' "
  757. paymentWhere += " and PayDate >= '" + checkMoneyParams.StartTime.Format("2006-01-02 15:04:05") + "'"
  758. paymentWhere += " and PayDate <= '" + checkMoneyParams.EndTime.Format("2006-01-02 15:04:05") + "'"
  759. svc.GetEntities(&(checkRet.PaymentInfos), paymentWhere)
  760. bankWhere := "1=1"
  761. bankWhere += " and PayDate >= '" + checkMoneyParams.StartTime.Format("2006-01-02 15:04:05") + "'"
  762. bankWhere += " and PayDate <= '" + checkMoneyParams.EndTime.Format("2006-01-02 15:04:05") + "'"
  763. svc.GetEntities(&(checkRet.PaymentBankInfos), bankWhere)
  764. var datainfo DataInfo
  765. datainfo.Items = checkRet
  766. this.Data["json"] = &datainfo
  767. this.ServeJSON()
  768. }
  769. // @Title 删除单条信息
  770. // @Description
  771. // @Success 200 {object} ErrorInfo
  772. // @Failure 403 :id 为空
  773. // @router /delete/:Id [delete]
  774. func (this *PaymentInfoController) DeleteEntity() {
  775. Id := this.Ctx.Input.Param(":Id")
  776. var errinfo ErrorInfo
  777. if Id == "" {
  778. errinfo.Message = "操作失败!请求信息不完整"
  779. errinfo.Code = -2
  780. this.Data["json"] = &errinfo
  781. this.ServeJSON()
  782. return
  783. }
  784. var emptyModel paymentinfo.OilPaymentInfo
  785. var model paymentinfo.OilPaymentInfo
  786. svc := paymentinfo.GetPaymentService(utils.DBE)
  787. svc.GetEntityById(Id, &model)
  788. // where := "Id=" + Id
  789. // err := svc.DeleteEntityBytbl(OilPaymentInfoName, where)
  790. err := svc.DeleteEntityAndBackup(Id, &model, &emptyModel, utils.ToStr(this.User.Id), this.User.Username)
  791. if err != nil {
  792. errinfo.Message = "删除失败!"
  793. errinfo.Code = -1
  794. this.Data["json"] = &errinfo
  795. this.ServeJSON()
  796. return
  797. }
  798. if err == nil {
  799. var cert suppliercert.OilSupplierCert
  800. cert.Status = suppliercert.STOREING_STATUS
  801. cols := []string{"Status"}
  802. where := "Id=" + strconv.Itoa(model.SupplierCertId)
  803. svc.UpdateEntityBywheretbl(OilSupplierCertName, &cert, cols, where)
  804. errinfo.Message = "删除成功"
  805. errinfo.Code = 0
  806. this.Data["json"] = &errinfo
  807. this.ServeJSON()
  808. } else {
  809. errinfo.Message = "删除失败!" + utils.AlertProcess(err.Error())
  810. errinfo.Code = -1
  811. this.Data["json"] = &errinfo
  812. this.ServeJSON()
  813. }
  814. }
  815. // @Title 修改金额
  816. // @Description 修改实体
  817. // @Param body body paymentinfo.Paymentinfo
  818. // @Success 200 {object} controllers.Request
  819. // @router /addpayinfo [post]
  820. func (this *PaymentInfoController) AddPayInfo() {
  821. supplierId := this.GetString("SupplierId")
  822. payType := this.GetString("PayType")
  823. amount := this.GetString("Amount")
  824. supplierTypeCode := this.GetString("SupplierTypeCode")
  825. var supp supplier.OilSupplier
  826. svc := paymentinfo.GetPaymentService(utils.DBE)
  827. has := svc.GetEntityById(supplierId, &supp)
  828. var errinfo ErrorInfo
  829. if !has {
  830. errinfo.Message = "没有相关企业信息!"
  831. errinfo.Code = -2
  832. this.Data["json"] = &errinfo
  833. this.ServeJSON()
  834. return
  835. }
  836. var cert []suppliercert.OilSupplierCert
  837. wherec := "SupplierId=" + supplierId + " and SupplierTypeCode='" + supplierTypeCode + "'"
  838. svc.GetEntities(&cert, wherec)
  839. if cert == nil {
  840. errinfo.Message = "没有相关企业信息!"
  841. errinfo.Code = -2
  842. this.Data["json"] = &errinfo
  843. this.ServeJSON()
  844. return
  845. }
  846. where := "SupplierId=" + strconv.Itoa(supp.Id) + " and USCCode='" + supp.CommercialNo + "' and PayType='" + payType + "' and SupplierCertId=" + strconv.Itoa(cert[0].Id)
  847. var model1 paymentinfo.OilPaymentInfo
  848. has = svc.GetEntity(&model1, where)
  849. if has {
  850. errinfo.Message = "已经存在相关交费记录,不能重复添加!"
  851. errinfo.Code = -2
  852. this.Data["json"] = &errinfo
  853. this.ServeJSON()
  854. return
  855. }
  856. var model paymentinfo.OilPaymentInfo
  857. model.SupplierId, _ = strconv.Atoi(supplierId)
  858. model.SupplierCertId = cert[0].Id
  859. model.SupplierName = supp.SupplierName
  860. model.USCCode = supp.CommercialNo
  861. model.PayType = payType
  862. model.IsPay = "0"
  863. model.Amount = amount
  864. model.CreateOn = time.Now()
  865. model.CreateBy = this.User.Realname
  866. model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  867. _, err := svc.InsertEntity(&model)
  868. if err == nil {
  869. errinfo.Message = "添加成功!"
  870. errinfo.Code = 0
  871. this.Data["json"] = &errinfo
  872. this.ServeJSON()
  873. } else {
  874. errinfo.Message = "添加失败!" + utils.AlertProcess(err.Error())
  875. errinfo.Code = -1
  876. this.Data["json"] = &errinfo
  877. this.ServeJSON()
  878. }
  879. }
  880. // @Title 获取字典列表
  881. // @Description get user by token
  882. // @Success 200 {object} map[string]interface{}
  883. // @router /dictlist [get]
  884. func (this *PaymentInfoController) GetDictList() {
  885. dictList := make(map[string]interface{})
  886. svcPerm := permission.GetPermissionService(utils.DBE)
  887. isallowdel := svcPerm.IsAuthorized(this.User.Id, "oil_supplier.PaymentInfo.CanDelete")
  888. dictList["IsAllowDel"] = isallowdel
  889. var datainfo DataInfo
  890. datainfo.Items = dictList
  891. this.Data["json"] = &datainfo
  892. this.ServeJSON()
  893. }
  894. // @Title 银行对账单
  895. // @Description 银行对账单
  896. // @Success 200 {object} controllers.Request
  897. // @router /receive-verify-bill-list [post]
  898. func (this *PaymentInfoController) ReceiveVerifyBillList() {
  899. var VerifyBills []paymentinfo.OilVerifyBill
  900. var jsonBlob = this.Ctx.Input.RequestBody
  901. json.Unmarshal(jsonBlob, &VerifyBills)
  902. fmt.Println(VerifyBills)
  903. svc := paymentinfo.GetPaymentService(utils.DBE)
  904. for _, item := range VerifyBills {
  905. var Oilverifybill paymentinfo.OilVerifyBill
  906. Oilverifybill.BillIds = strings.Trim(item.BillIds, ",")
  907. Oilverifybill.BankSerialNum = item.BankSerialNum
  908. Oilverifybill.ReceiveAmount = item.ReceiveAmount
  909. Oilverifybill.VerifyDate = item.VerifyDate
  910. Oilverifybill.PayDate = item.PayDate
  911. Oilverifybill.CreateOn = time.Now()
  912. svc.InsertEntity(&Oilverifybill)
  913. ids := strings.Split(item.BillIds, ",")
  914. for _, id := range ids {
  915. var payinfo paymentinfo.OilPaymentInfo
  916. //where := "Id= " + id + " and BankSerialNum='" + item.BankSerialNum +"'" + " and IsPay='2'"
  917. //has := svc.GetEntity(&payinfo, where)
  918. cols := []string{"IsPay", "IsVerify", "VerifyDate", "BankSerialNum"}
  919. payinfo.IsPay = "2"
  920. payinfo.IsVerify = "1"
  921. payinfo.BankSerialNum = item.BankSerialNum
  922. payinfo.VerifyDate = item.VerifyDate
  923. svc.UpdateEntityByIdCols(id, &payinfo, cols)
  924. }
  925. }
  926. var errinfo ErrorInfo
  927. errinfo.Message = "对账完成!"
  928. errinfo.Code = 0
  929. this.Data["json"] = &errinfo
  930. this.ServeJSON()
  931. }
  932. // @Title 获取权限
  933. // @Description
  934. // @Success 200 {object} controllers.Request
  935. // @router /ispermission [get]
  936. func (this *PaymentInfoController) IsPermission() {
  937. dictList := make(map[string]interface{})
  938. svcPerm := permission.GetPermissionService(utils.DBE)
  939. isauth := svcPerm.IsAuthorized(this.User.Id, "oil_supplier.PaymentInfo.CanEdit")
  940. isAdd := svcPerm.IsAuthorized(this.User.Id, "oil_supplier.PaymentInfo.IsAdd")
  941. dictList["IsEdit"] = isauth
  942. dictList["IsAdd"] = isAdd
  943. var errinfo ErrorDataInfo
  944. errinfo.Code = 0
  945. errinfo.Item = dictList
  946. this.Data["json"] = &errinfo
  947. this.ServeJSON()
  948. }