2
3

paymentinfo.go 35 KB

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