2
3

suppliercert.go 38 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277
  1. package oilsupplier
  2. import (
  3. "dashoo.cn/backend/api/business/audithistory"
  4. "dashoo.cn/backend/api/business/codecsequence"
  5. "dashoo.cn/backend/api/business/oilsupplier/supplier"
  6. "dashoo.cn/backend/api/business/organize"
  7. "dashoo.cn/backend/api/business/paymentinfo"
  8. "dashoo.cn/business2/parameter"
  9. "encoding/json"
  10. "fmt"
  11. "strconv"
  12. "strings"
  13. "time"
  14. "dashoo.cn/backend/api/business/auditsetting"
  15. "dashoo.cn/backend/api/business/workflow"
  16. "dashoo.cn/backend/api/business/baseUser"
  17. "dashoo.cn/backend/api/business/oilsupplier/suppliercert"
  18. . "dashoo.cn/backend/api/controllers"
  19. "dashoo.cn/business2/userRole"
  20. "dashoo.cn/utils"
  21. )
  22. type OilSupplierCertController struct {
  23. BaseController
  24. }
  25. // @Title 获取列表
  26. // @Description get user by token
  27. // @Success 200 {object} []suppliercert.OilSupplierCert
  28. // @router /list [get]
  29. func (this *OilSupplierCertController) GetEntityList() {
  30. //获取分页信息
  31. page := this.GetPageInfoForm()
  32. where := " 1=1 "
  33. orderby := "Id"
  34. asc := false
  35. Order := this.GetString("Order")
  36. Prop := this.GetString("Prop")
  37. if Order != "" && Prop != "" {
  38. orderby = Prop
  39. if Order == "asc" {
  40. asc = true
  41. }
  42. }
  43. Id := this.GetString("Id")
  44. SupplierId := this.GetString("SupplierId")
  45. AccessCardNo := this.GetString("AccessCardNo")
  46. SupplierTypeCode := this.GetString("SupplierTypeCode")
  47. SupplierTypeName := this.GetString("SupplierTypeName")
  48. RecUnitReason := this.GetString("RecUnitReason")
  49. RecUnitPerson := this.GetString("RecUnitPerson")
  50. RecDate := this.GetString("RecDate")
  51. RecUnitId := this.GetString("RecUnitId")
  52. RecUnitName := this.GetString("RecUnitName")
  53. StatusA := this.GetString("StatusA")
  54. BackReason := this.GetString("BackReason")
  55. InFlag := this.GetString("InFlag")
  56. EffectStartTime := this.GetString("EffectStartTime")
  57. EffectEndTime := this.GetString("EffectEndTime")
  58. AuditProcessNote := this.GetString("AuditProcessNote")
  59. AuditDate := this.GetString("AuditDate")
  60. PayNotice := this.GetString("PayNotice")
  61. SupplierStatus := this.GetString("SupplierStatus")
  62. MgrType := this.GetString("MgrType")
  63. Type := this.GetString("Type")
  64. MgrUnit := this.GetString("MgrUnit")
  65. AddinTime := this.GetString("AddinTime")
  66. EffectTime := this.GetString("EffectTime")
  67. ApplyTime := this.GetString("ApplyTime")
  68. SupplierNo := this.GetString("SupplierNo")
  69. MDMFlag := this.GetString("MDMFlag")
  70. InternalFlag := this.GetString("InternalFlag")
  71. ImportFlag := this.GetString("ImportFlag")
  72. OutsideFlog := this.GetString("OutsideFlog")
  73. Remark := this.GetString("Remark")
  74. IsDelete := this.GetString("IsDelete")
  75. CreateOn := this.GetString("CreateOn")
  76. CreateUserId := this.GetString("CreateUserId")
  77. CreateBy := this.GetString("CreateBy")
  78. ModifiedOn := this.GetString("ModifiedOn")
  79. ModifiedUserId := this.GetString("ModifiedUserId")
  80. ModifiedBy := this.GetString("ModifiedBy")
  81. if Id != "" {
  82. where = where + " and Id like '%" + Id + "%'"
  83. }
  84. if SupplierId != "" {
  85. where = where + " and SupplierId like '%" + SupplierId + "%'"
  86. }
  87. if AccessCardNo != "" {
  88. where = where + " and AccessCardNo like '%" + AccessCardNo + "%'"
  89. }
  90. if SupplierTypeCode != "" {
  91. where = where + " and SupplierTypeCode like '%" + SupplierTypeCode + "%'"
  92. }
  93. if SupplierTypeName != "" {
  94. where = where + " and SupplierTypeName like '%" + SupplierTypeName + "%'"
  95. }
  96. if RecUnitReason != "" {
  97. where = where + " and RecUnitReason like '%" + RecUnitReason + "%'"
  98. }
  99. if RecUnitPerson != "" {
  100. where = where + " and RecUnitPerson like '%" + RecUnitPerson + "%'"
  101. }
  102. if RecDate != "" {
  103. where = where + " and RecDate like '%" + RecDate + "%'"
  104. }
  105. if RecUnitId != "" {
  106. where = where + " and RecUnitId like '%" + RecUnitId + "%'"
  107. }
  108. if RecUnitName != "" {
  109. where = where + " and RecUnitName like '%" + RecUnitName + "%'"
  110. }
  111. if StatusA != "" {
  112. where = where + " and StatusA like '%" + StatusA + "%'"
  113. }
  114. if BackReason != "" {
  115. where = where + " and BackReason like '%" + BackReason + "%'"
  116. }
  117. if InFlag != "" {
  118. where = where + " and InFlag like '%" + InFlag + "%'"
  119. }
  120. if EffectStartTime != "" {
  121. where = where + " and EffectStartTime like '%" + EffectStartTime + "%'"
  122. }
  123. if EffectEndTime != "" {
  124. where = where + " and EffectEndTime like '%" + EffectEndTime + "%'"
  125. }
  126. if AuditProcessNote != "" {
  127. where = where + " and AuditProcessNote like '%" + AuditProcessNote + "%'"
  128. }
  129. if AuditDate != "" {
  130. where = where + " and AuditDate like '%" + AuditDate + "%'"
  131. }
  132. if PayNotice != "" {
  133. where = where + " and PayNotice like '%" + PayNotice + "%'"
  134. }
  135. if SupplierStatus != "" {
  136. where = where + " and SupplierStatus like '%" + SupplierStatus + "%'"
  137. }
  138. if MgrType != "" {
  139. where = where + " and MgrType like '%" + MgrType + "%'"
  140. }
  141. if Type != "" {
  142. where = where + " and Type like '%" + Type + "%'"
  143. }
  144. if MgrUnit != "" {
  145. where = where + " and MgrUnit like '%" + MgrUnit + "%'"
  146. }
  147. if AddinTime != "" {
  148. where = where + " and AddinTime like '%" + AddinTime + "%'"
  149. }
  150. if EffectTime != "" {
  151. where = where + " and EffectTime like '%" + EffectTime + "%'"
  152. }
  153. if ApplyTime != "" {
  154. where = where + " and ApplyTime like '%" + ApplyTime + "%'"
  155. }
  156. if SupplierNo != "" {
  157. where = where + " and SupplierNo like '%" + SupplierNo + "%'"
  158. }
  159. if MDMFlag != "" {
  160. where = where + " and MDMFlag like '%" + MDMFlag + "%'"
  161. }
  162. if InternalFlag != "" {
  163. where = where + " and InternalFlag like '%" + InternalFlag + "%'"
  164. }
  165. if ImportFlag != "" {
  166. where = where + " and ImportFlag like '%" + ImportFlag + "%'"
  167. }
  168. if OutsideFlog != "" {
  169. where = where + " and OutsideFlog like '%" + OutsideFlog + "%'"
  170. }
  171. if Remark != "" {
  172. where = where + " and Remark like '%" + Remark + "%'"
  173. }
  174. if IsDelete != "" {
  175. where = where + " and IsDelete like '%" + IsDelete + "%'"
  176. }
  177. if CreateOn != "" {
  178. where = where + " and CreateOn like '%" + CreateOn + "%'"
  179. }
  180. if CreateUserId != "" {
  181. where = where + " and CreateUserId like '%" + CreateUserId + "%'"
  182. }
  183. if CreateBy != "" {
  184. where = where + " and CreateBy like '%" + CreateBy + "%'"
  185. }
  186. if ModifiedOn != "" {
  187. where = where + " and ModifiedOn like '%" + ModifiedOn + "%'"
  188. }
  189. if ModifiedUserId != "" {
  190. where = where + " and ModifiedUserId like '%" + ModifiedUserId + "%'"
  191. }
  192. if ModifiedBy != "" {
  193. where = where + " and ModifiedBy like '%" + ModifiedBy + "%'"
  194. }
  195. if CreateOn != "" {
  196. dates := strings.Split(CreateOn, ",")
  197. if len(dates) == 2 {
  198. minDate := dates[0]
  199. maxDate := dates[1]
  200. where = where + " and CreateOn>='" + minDate + "' and CreateOn<='" + maxDate + "'"
  201. }
  202. }
  203. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  204. var list []suppliercert.OilSupplierCert
  205. total := svc.GetPagingEntitiesWithOrderBytbl(this.User.AccCode, page.CurrentPage, page.Size, orderby, asc, &list, where)
  206. var datainfo DataInfo
  207. datainfo.Items = list
  208. datainfo.CurrentItemCount = total
  209. datainfo.PageIndex = page.CurrentPage
  210. datainfo.ItemsPerPage = page.Size
  211. this.Data["json"] = &datainfo
  212. this.ServeJSON()
  213. }
  214. // @Title 获取字典列表
  215. // @Description get user by token
  216. // @Success 200 {object} map[string]interface{}
  217. // @router /dictlist [get]
  218. func (this *OilSupplierCertController) GetDictList() {
  219. dictList := make(map[string]interface{})
  220. //dictSvc := items.GetItemsService(utils.DBE)
  221. userSvc := baseUser.GetBaseUserService(utils.DBE)
  222. //customerSvc := svccustomer.GetCustomerService(utils.DBE)
  223. //dictList["WellNo"] = dictSvc.GetKeyValueItems("WellNo", this.User.AccCode)
  224. var userEntity userRole.Base_User
  225. userSvc.GetEntityById(this.User.Id, &userEntity)
  226. dictList["Supervisers"] = userSvc.GetUserListByDepartmentId(this.User.AccCode, userEntity.Departmentid)
  227. //var dictCustomer []svccustomer.Customer
  228. //customerSvc.GetEntitysByWhere(this.User.AccCode + CustomerName, "", &dictCustomer)
  229. //dictList["EntrustCorp"] = &dictCustomer
  230. var datainfo DataInfo
  231. datainfo.Items = dictList
  232. this.Data["json"] = &datainfo
  233. this.ServeJSON()
  234. }
  235. // @Title 获取实体
  236. // @Description 获取实体
  237. // @Success 200 {object} suppliercert.OilSupplierCert
  238. // @router /get/:id [get]
  239. func (this *OilSupplierCertController) GetEntity() {
  240. Id := this.Ctx.Input.Param(":id")
  241. var model suppliercert.OilSupplierCert
  242. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  243. svc.GetEntityByIdBytbl(OilSupplierCertName, Id, &model)
  244. this.Data["json"] = &model
  245. this.ServeJSON()
  246. }
  247. // @Title 获取实体
  248. // @Description 获取实体
  249. // @Success 200 {object} suppliercert.OilSupplierCert
  250. // @router /getbycreatorandtype/:typecode [get]
  251. func (this *OilSupplierCertController) GetEntityByCreatorId() {
  252. creatorId := this.User.Id
  253. typeCode := this.Ctx.Input.Param(":typecode")
  254. var model suppliercert.OilSupplierCert
  255. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  256. where := " CreateUserId = '" + creatorId + "'"
  257. where += " and SupplierTypeCode = '" + typeCode + "'"
  258. svc.GetEntityByWhere(OilSupplierCertName, where, &model)
  259. this.Data["json"] = &model
  260. this.ServeJSON()
  261. }
  262. // @Title 添加
  263. // @Description 新增
  264. // @Success 200 {object} controllers.Request
  265. // @router /add [post]
  266. func (this *OilSupplierCertController) AddEntity() {
  267. var model suppliercert.OilSupplierCert
  268. var jsonBlob = this.Ctx.Input.RequestBody
  269. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  270. json.Unmarshal(jsonBlob, &model)
  271. model.CreateOn = time.Now()
  272. model.CreateBy = this.User.Realname
  273. model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  274. //model.OrganizeId, _ = utils.StrTo(this.User.DepartmentId).Int()
  275. _, err := svc.InsertEntityBytbl(OilSupplierCertName, &model)
  276. var errinfo ErrorDataInfo
  277. if err == nil {
  278. //新增
  279. errinfo.Message = "添加成功!"
  280. errinfo.Code = 0
  281. errinfo.Item = model.Id
  282. this.Data["json"] = &errinfo
  283. this.ServeJSON()
  284. } else {
  285. errinfo.Message = "添加失败!" + utils.AlertProcess(err.Error())
  286. errinfo.Code = -1
  287. this.Data["json"] = &errinfo
  288. this.ServeJSON()
  289. }
  290. }
  291. // @Title 修改实体
  292. // @Description 修改实体
  293. // @Success 200 {object} controllers.Request
  294. // @router /update/:id [post]
  295. func (this *OilSupplierCertController) UpdateEntity() {
  296. id := this.Ctx.Input.Param(":id")
  297. var errinfo ErrorInfo
  298. if id == "" {
  299. errinfo.Message = "操作失败!请求信息不完整"
  300. errinfo.Code = -2
  301. this.Data["json"] = &errinfo
  302. this.ServeJSON()
  303. return
  304. }
  305. var model suppliercert.OilSupplierCert
  306. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  307. var jsonBlob = this.Ctx.Input.RequestBody
  308. json.Unmarshal(jsonBlob, &model)
  309. model.ModifiedOn = time.Now()
  310. model.ModifiedBy = this.User.Realname
  311. model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  312. cols := []string{
  313. "Id",
  314. "SupplierId",
  315. "AccessCardNo",
  316. "SupplierTypeCode",
  317. "SupplierTypeName",
  318. "RecUnitReason",
  319. "RecUnitPerson",
  320. "RecDate",
  321. "RecUnitId",
  322. "RecUnitName",
  323. "Status",
  324. "BackReason",
  325. "InFlag",
  326. "EffectStartTime",
  327. "EffectEndTime",
  328. "AuditProcessNote",
  329. "AuditDate",
  330. "PayNotice",
  331. "SupplierStatus",
  332. "MgrType",
  333. "Type",
  334. "MgrUnit",
  335. "AddinTime",
  336. "EffectTime",
  337. "ApplyTime",
  338. "SupplierNo",
  339. "MDMFlag",
  340. "InternalFlag",
  341. "ImportFlag",
  342. "OutsideFlog",
  343. "Remark",
  344. "IsDelete",
  345. "CreateOn",
  346. "CreateUserId",
  347. "CreateBy",
  348. "ModifiedOn",
  349. "ModifiedUserId",
  350. "ModifiedBy",
  351. }
  352. err := svc.UpdateEntityBytbl(OilSupplierCertName, id, &model, cols)
  353. if err == nil {
  354. errinfo.Message = "修改成功!"
  355. errinfo.Code = 0
  356. this.Data["json"] = &errinfo
  357. this.ServeJSON()
  358. } else {
  359. errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
  360. errinfo.Code = -1
  361. this.Data["json"] = &errinfo
  362. this.ServeJSON()
  363. }
  364. }
  365. // @Title 企业入库
  366. // @Description 企业入库
  367. // @Success 200 {object} controllers.Request
  368. // @router /updatestorage/:id [post]
  369. func (this *OilSupplierCertController) UpdateStorage() {
  370. id := this.Ctx.Input.Param(":id")
  371. status := this.GetString("Status")
  372. var errinfo ErrorInfo
  373. if id == "" {
  374. errinfo.Message = "操作失败!请求信息不完整"
  375. errinfo.Code = -2
  376. this.Data["json"] = &errinfo
  377. this.ServeJSON()
  378. return
  379. }
  380. var model suppliercert.OilSupplierCert
  381. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  382. //var jsonBlob = this.Ctx.Input.RequestBody
  383. //json.Unmarshal(jsonBlob, &model)
  384. if status == suppliercert.NOPASS_STATUS {
  385. model.Status = suppliercert.DRAFT_STATUS
  386. } else {
  387. model.Status = suppliercert.STORE_STATUS
  388. }
  389. model.Step = 7
  390. model.StorageOn = time.Now()
  391. model.ApplyTime = time.Now().AddDate(1, 0 ,0)
  392. model.InFlag = "1"
  393. model.ModifiedOn = time.Now()
  394. model.ModifiedBy = this.User.Realname
  395. model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  396. cols := []string{
  397. "Step",
  398. "Status",
  399. "ApplyTime",
  400. "InFlag",
  401. "StorageOn",
  402. "ModifiedOn",
  403. "ModifiedUserId",
  404. "ModifiedBy",
  405. }
  406. err := svc.UpdateEntityBytbl(OilSupplierCertName, id, &model, cols)
  407. if err == nil {
  408. errinfo.Message = "提交成功!"
  409. errinfo.Code = 0
  410. this.Data["json"] = &errinfo
  411. this.ServeJSON()
  412. } else {
  413. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  414. errinfo.Code = -1
  415. this.Data["json"] = &errinfo
  416. this.ServeJSON()
  417. }
  418. }
  419. // @Title 删除单条信息
  420. // @Description
  421. // @Success 200 {object} ErrorInfo
  422. // @Failure 403 :id 为空
  423. // @router /delete/:Id [delete]
  424. func (this *OilSupplierCertController) DeleteEntity() {
  425. Id := this.Ctx.Input.Param(":Id")
  426. var errinfo ErrorInfo
  427. if Id == "" {
  428. errinfo.Message = "操作失败!请求信息不完整"
  429. errinfo.Code = -2
  430. this.Data["json"] = &errinfo
  431. this.ServeJSON()
  432. return
  433. }
  434. var model suppliercert.OilSupplierCert
  435. var entityempty suppliercert.OilSupplierCert
  436. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  437. opdesc := "删除-" + Id
  438. err := svc.DeleteOperationAndWriteLogBytbl(OilSupplierCertName, BaseOperationLogName, Id, &model, &entityempty, utils.ToStr(this.User.Id), this.User.Username, opdesc, this.User.AccCode, "钻井日报")
  439. if err == nil {
  440. errinfo.Message = "删除成功"
  441. errinfo.Code = 0
  442. this.Data["json"] = &errinfo
  443. this.ServeJSON()
  444. } else {
  445. errinfo.Message = "删除失败!" + utils.AlertProcess(err.Error())
  446. errinfo.Code = -1
  447. this.Data["json"] = &errinfo
  448. this.ServeJSON()
  449. }
  450. }
  451. // @Title 提交审批
  452. // @Description 提交审批
  453. // @Success 200 {object} controllers.Request
  454. // @router /audit/:id [post]
  455. func (this *OilSupplierCertController) AuditEntity() {
  456. certId := this.Ctx.Input.Param(":id")
  457. firstAudit := this.GetString("FirstAuditName")
  458. AuditRemark := this.GetString("AuditRemark")
  459. secondAudit := this.GetString("SecondAudit")
  460. thirdAudit := this.GetString("ThirdAudit")
  461. //取出审批列表
  462. certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  463. var supplierCertEntity suppliercert.OilSupplierCert
  464. certSrv.GetEntityById(certId, &supplierCertEntity)
  465. svc := organize.GetOrganizeService(utils.DBE)
  466. unitId := svc.GetMyUnitDepartmentId(this.User.DepartmentId)
  467. var errinfo ErrorDataInfo
  468. defer func() { //finally处理失败的异常
  469. if err := recover(); err != nil {
  470. errinfo.Message = "提交失败," + err.(string)
  471. errinfo.Code = -1
  472. this.Data["json"] = &errinfo
  473. this.ServeJSON()
  474. } else {
  475. //返回正确结果
  476. errinfo.Message = "审核提交成功"
  477. errinfo.Code = 0
  478. this.Data["json"] = &errinfo
  479. this.ServeJSON()
  480. }
  481. }()
  482. ////判断当前部门是否企业用户
  483. //result := "1"
  484. //if this.User.IsCompanyUser == 1 {
  485. // result = "0"
  486. //}
  487. svcActiviti := workflow.GetActivitiService(utils.DBE)
  488. ////获得有审核权限的人员
  489. //var users []userRole.Base_RoleList
  490. //var userIds string
  491. //var auditWorkflow auditsetting.Base_OilAuditSetting
  492. //rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
  493. //rsvc.GetAuditStepRoleEntity(OilAuditSettingName, firstAudit, workflow.FIRST_TRIAL, &auditWorkflow)
  494. //users = rsvc.GetUserByRole(strconv.Itoa(auditWorkflow.RoleId), this.User.AccCode) //
  495. processInstanceId := ""
  496. businessKey := ""
  497. if supplierCertEntity.WorkflowId == "0" || len(supplierCertEntity.WorkflowId) <= 0 {
  498. //启动工作流
  499. businessKey = certId + "-" + strconv.Itoa(supplierCertEntity.AuditIndex)
  500. if this.User.IsCompanyUser == 1 {
  501. if supplierCertEntity.InStyle == "2" {
  502. processInstanceId = svcActiviti.StartProcess(workflow.OIL_FIRST_ENUSER_SUPPLIER_APPLY, businessKey, this.User.Id)
  503. } else if supplierCertEntity.InStyle == "3" {
  504. processInstanceId = svcActiviti.StartProcess(workflow.OIL_SECOND_ENUSER_SUPPLIER_APPLY, businessKey, this.User.Id)
  505. } else {
  506. processInstanceId = svcActiviti.StartProcess(workflow.OIL_ENUSER_SUPPLIER_APPLY, businessKey, this.User.Id)
  507. }
  508. }else if this.User.IsCompanyUser == 0 {
  509. if supplierCertEntity.InStyle == "2" {
  510. processInstanceId = svcActiviti.StartProcess(workflow.OIL_FIRST_SUPPLIER_APPLY, businessKey, this.User.Id)
  511. } else if supplierCertEntity.InStyle == "3" {
  512. processInstanceId = svcActiviti.StartProcess(workflow.OIL_SECOND_SUPPLIER_APPLY, businessKey, this.User.Id)
  513. } else {
  514. processInstanceId = svcActiviti.StartProcess(workflow.OIL_SUPPLIER_APPLY, businessKey, this.User.Id)
  515. }
  516. }
  517. } else {
  518. processInstanceId = supplierCertEntity.WorkflowId
  519. }
  520. //processInstanceId,_ := certSrv.SubmitOrgAudit(certId, workflow.OIL_SUPPLIER_APPLY, workflow.FIRST_TRIAL, this.User.Id, result, "提交给二级单位初审", OilSupplierCertSubName, OilClassOrgSettingName, "", "")
  521. //for _, tmpUser := range users {
  522. // userIds += strconv.FormatInt(tmpUser.Id, 10) + ","
  523. //}
  524. //userIds = strings.Trim(userIds, ",")
  525. var ActiComplete workflow.ActiCompleteVM
  526. if this.User.IsCompanyUser == 1 {
  527. if supplierCertEntity.InStyle == "2" {
  528. ActiComplete.ProcessKey = workflow.OIL_FIRST_ENUSER_SUPPLIER_APPLY
  529. } else if supplierCertEntity.InStyle == "3" {
  530. ActiComplete.ProcessKey = workflow.OIL_SECOND_ENUSER_SUPPLIER_APPLY
  531. } else {
  532. ActiComplete.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
  533. }
  534. }else if this.User.IsCompanyUser == 0 {
  535. if supplierCertEntity.InStyle == "2" {
  536. ActiComplete.ProcessKey = workflow.OIL_FIRST_SUPPLIER_APPLY
  537. } else if supplierCertEntity.InStyle == "3" {
  538. ActiComplete.ProcessKey = workflow.OIL_SECOND_SUPPLIER_APPLY
  539. } else {
  540. ActiComplete.ProcessKey = workflow.OIL_SUPPLIER_APPLY
  541. }
  542. }
  543. ActiComplete.BusinessKey = businessKey
  544. ActiComplete.UserNames = firstAudit
  545. ActiComplete.UserId = this.User.Id
  546. ActiComplete.Result = "1"
  547. ActiComplete.Remarks = AuditRemark
  548. ActiComplete.CallbackUrl = ""
  549. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  550. if receiveVal == "true" {
  551. errinfo.Message = "提交成功!"
  552. errinfo.Code = 0
  553. this.Data["json"] = &errinfo
  554. this.ServeJSON()
  555. } else {
  556. errinfo.Message = "工作流异常,请联系管理员!"
  557. errinfo.Code = -1
  558. this.Data["json"] = &errinfo
  559. this.ServeJSON()
  560. return
  561. }
  562. fmt.Println("-----------processInstanceId------------")
  563. //记下workflowID(首次提交时才会记录,中间状态请忽略) 及审批状态
  564. supplierCertEntity.WorkflowId = processInstanceId
  565. if this.User.IsCompanyUser == 1 {
  566. supplierCertEntity.Status = suppliercert.FEN_TRIAL_STATUS //分办
  567. }else if this.User.IsCompanyUser == 0 {
  568. supplierCertEntity.Status = suppliercert.FIRST_TRIAL_STATUS //二级单位初审
  569. }
  570. supplierCertEntity.Step = 2
  571. supplierCertEntity.FirstAudit, _ = strconv.Atoi(firstAudit)
  572. supplierCertEntity.AuditIndex = supplierCertEntity.AuditIndex + 1
  573. supplierCertEntity.BusinessKey = ActiComplete.BusinessKey
  574. supplierCertEntity.SecondAudit,_ = strconv.Atoi(secondAudit)
  575. supplierCertEntity.ThirdAudit,_ = strconv.Atoi(thirdAudit)
  576. supplierCertEntity.ProcessKey = ActiComplete.ProcessKey
  577. supplierCertEntity.CommitComId = unitId
  578. cols := []string{
  579. "Id",
  580. "WorkflowId",
  581. "Status",
  582. "Step",
  583. "FirstAudit",
  584. "AuditIndex",
  585. "BusinessKey",
  586. "SecondAudit",
  587. "ThirdAudit",
  588. "ProcessKey",
  589. "CommitComId",
  590. }
  591. certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  592. //var model classorgsetting.OilClassOrgSetting
  593. //var jsonBlob = this.Ctx.Input.RequestBody
  594. //svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  595. //
  596. //json.Unmarshal(jsonBlob, &model)
  597. //model.CreateOn = time.Now()
  598. //model.CreateBy = this.User.Realname
  599. //model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  600. ////model.OrganizeId, _ = utils.StrTo(this.User.DepartmentId).Int()
  601. //
  602. //svc.InsertEntityBytbl(OilSupplierCertName, &model)
  603. //fmt.Println(model)
  604. }
  605. // @Title 专业审批
  606. // @Description 准入初审提交审批
  607. // @Success 200 {object} controllers.Request
  608. // @router /admission/:id [post]
  609. func (this *OilSupplierCertController) AuditEntityadmission() {
  610. certId := this.Ctx.Input.Param(":id")
  611. var errinfo ErrorDataInfo
  612. defer func() { //finally处理失败的异常
  613. if err := recover(); err != nil {
  614. errinfo.Message = "提交失败," + err.(string)
  615. errinfo.Code = -1
  616. this.Data["json"] = &errinfo
  617. this.ServeJSON()
  618. } else {
  619. //返回正确结果
  620. errinfo.Message = "审核提交成功"
  621. errinfo.Code = 0
  622. this.Data["json"] = &errinfo
  623. this.ServeJSON()
  624. }
  625. }()
  626. //取出审批列表
  627. certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  628. certSrv.SubmitOrgAudit(certId, workflow.OIL_SUPPLIER_APPLY, workflow.PROF_AUDIT, this.User.Id, "1", "提交给专业科室审核", OilSupplierCertSubName, OilClassOrgSettingName, "", "")
  629. //记下workflowID(首次提交时才会记录,中间状态请忽略) 及审批状态
  630. var supplierCertEntity suppliercert.OilSupplierCert
  631. certSrv.GetEntityById(certId, supplierCertEntity)
  632. supplierCertEntity.Status = suppliercert.PROF_AUDIT_STATUS //二级单位初审
  633. cols := []string{
  634. "Id",
  635. "Status",
  636. }
  637. certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  638. }
  639. // @Title 审批
  640. // @Description 审批
  641. // @Param body body suppliercert.OilSupplierCert
  642. // @Success 200 {object} controllers.Request
  643. // @router /auditEntityFir/:id [post]
  644. func (this *OilSupplierCertController) AuditEntityFir() {
  645. var dataother ShenHeModel
  646. certId := this.Ctx.Input.Param(":id")
  647. auditer := this.GetString("auditer")
  648. firstAudit := this.GetString("FirstAuditName")
  649. AuditRemark := this.GetString("AuditRemark")
  650. secondAudit := this.GetString("SecondAudit")
  651. thirdAudit := this.GetString("ThirdAudit")
  652. //majorDept := this.GetString("majorDept")
  653. if AuditRemark != "" {
  654. dataother.AuditorRemark = AuditRemark
  655. }
  656. //取出审批列表
  657. certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  658. var supplierCertEntity suppliercert.OilSupplierCert
  659. certSrv.GetEntityById(certId, &supplierCertEntity)
  660. var jsonblob = this.Ctx.Input.RequestBody
  661. json.Unmarshal(jsonblob, &dataother)
  662. var errinfo ErrorDataInfo
  663. defer func() { //finally处理失败的异常
  664. if err := recover(); err != nil {
  665. errinfo.Message = "提交失败," + err.(string)
  666. errinfo.Code = -1
  667. this.Data["json"] = &errinfo
  668. this.ServeJSON()
  669. } else {
  670. //返回正确结果
  671. errinfo.Message = "审核提交成功"
  672. errinfo.Code = 0
  673. this.Data["json"] = &errinfo
  674. this.ServeJSON()
  675. }
  676. }()
  677. //remarks := ""
  678. step := 2
  679. status := ""
  680. backstatus := "0"
  681. var userIds string
  682. if supplierCertEntity.Status == suppliercert.FEN_TRIAL_STATUS {
  683. userIds = firstAudit
  684. status = suppliercert.FIRST_TRIAL_STATUS
  685. step = 2
  686. supplierCertEntity.Step = 2
  687. supplierCertEntity.FirstAudit, _ = strconv.Atoi(firstAudit)
  688. supplierCertEntity.SecondAudit,_ = strconv.Atoi(secondAudit)
  689. supplierCertEntity.ThirdAudit,_ = strconv.Atoi(thirdAudit)
  690. cols := []string{
  691. "Id",
  692. "Step",
  693. "FirstAudit",
  694. "SecondAudit",
  695. "ThirdAudit",
  696. }
  697. certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  698. }
  699. if supplierCertEntity.Status == suppliercert.FIRST_TRIAL_STATUS {
  700. userIds = utils.ToStr(supplierCertEntity.SecondAudit)
  701. status = suppliercert.SECOND_TRIAL_STATUS
  702. backstatus = suppliercert.NOPASS_STATUS
  703. step = 2
  704. //supplierCertEntity.ThirdAudit,_ = strconv.Atoi(majorDept)
  705. //cols := []string{
  706. // "ThirdAudit",
  707. //}
  708. //certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  709. } else if supplierCertEntity.Status == suppliercert.SECOND_TRIAL_STATUS {
  710. step = 2
  711. backstatus = suppliercert.NO_SECOND_TRIAL_STATUS
  712. svc := organize.GetOrganizeService(utils.DBE)
  713. unitId := svc.GetMyUnitDepartmentId(strconv.Itoa(supplierCertEntity.ThirdAudit))
  714. var userlist []userRole.Base_User
  715. var setting auditsetting.Base_OilAuditSetting
  716. usvc := userRole.GetUserService(utils.DBE)
  717. if supplierCertEntity.InStyle == "2" {
  718. status = suppliercert.CENT_AUDIT_STATUS
  719. where := "AuditStepCode='" + workflow.PROF_REGULATION + "'"
  720. usvc.GetEntity(&setting, where)
  721. paramSvc := baseparameter.GetBaseparameterService(utils.DBE)
  722. topid := paramSvc.GetBaseparameterMessage("", "paramset", "CENT_AUDIT")
  723. ids := usvc.GetUserIdsByRoleId(strconv.Itoa(setting.RoleId))
  724. tempstr := strings.Join(ids, ",")
  725. uids := strings.Replace(tempstr, "uid_", "", -1)
  726. uids = strings.Trim(uids, ",")
  727. if uids != "" {
  728. where := "Id in (" + uids + ")" + " and UnitId=" + topid
  729. usvc.GetEntities(&userlist, where)
  730. }
  731. } else {
  732. status = suppliercert.THIRD_TRIAL_STATUS
  733. where := "AuditStepCode='" + workflow.PROF_RECE + "'"
  734. svc.GetEntity(&setting, where)
  735. ids := usvc.GetUserIdsByRoleId(strconv.Itoa(setting.RoleId))
  736. tempstr := strings.Join(ids, ",")
  737. uids := strings.Replace(tempstr, "uid_", "", -1)
  738. uids = strings.Trim(uids, ",")
  739. if uids != "" {
  740. where := "Id in (" + uids + ")" + " and UnitId=" + unitId
  741. svc.GetEntities(&userlist, where)
  742. }
  743. }
  744. //var users []userRole.Base_RoleList
  745. //certSrv.GetAuditUser(strconv.Itoa(supplierCertEntity.ThirdAudit), workflow.PROF_RECE, &users)
  746. for _, tmpUser := range userlist {
  747. userIds += strconv.Itoa(tmpUser.Id) + "," //strconv.FormatInt(tmpUser.Id, 10) + ","
  748. }
  749. userIds = strings.Trim(userIds, ",")
  750. step = 2
  751. backstatus = suppliercert.NO_SECOND_TRIAL_STATUS
  752. } else if supplierCertEntity.Status == suppliercert.THIRD_TRIAL_STATUS {
  753. userIds = auditer
  754. status = suppliercert.PROF_AUDIT_STATUS
  755. step = 2
  756. backstatus = suppliercert.NO_THIRD_TRIAL_STATUS
  757. } else if supplierCertEntity.Status == suppliercert.PROF_AUDIT_STATUS {
  758. if supplierCertEntity.InStyle == "3" {
  759. userIds = auditer
  760. status = suppliercert.PAYING_AUDIT_STATUS
  761. step = 3
  762. backstatus = suppliercert.NO_CENT_AUDIT_STATUS
  763. } else {
  764. status = suppliercert.CENT_AUDIT_STATUS
  765. step = 2
  766. backstatus = suppliercert.NO_PROF_AUDIT_STATUS
  767. paramSvc := baseparameter.GetBaseparameterService(utils.DBE)
  768. topid := paramSvc.GetBaseparameterMessage("", "paramset", "CENT_AUDIT")
  769. var userlist []userRole.Base_User
  770. var setting auditsetting.Base_OilAuditSetting
  771. usvc := userRole.GetUserService(utils.DBE)
  772. where := "AuditStepCode='" + workflow.PROF_REGULATION + "'"
  773. usvc.GetEntity(&setting, where)
  774. ids := usvc.GetUserIdsByRoleId(strconv.Itoa(setting.RoleId))
  775. tempstr := strings.Join(ids, ",")
  776. uids := strings.Replace(tempstr, "uid_", "", -1)
  777. uids = strings.Trim(uids, ",")
  778. if uids != "" {
  779. where := "Id in (" + uids + ")" + " and UnitId=" + topid
  780. usvc.GetEntities(&userlist, where)
  781. }
  782. for _, tmpUser := range userlist {
  783. userIds += strconv.Itoa(tmpUser.Id) + ","
  784. }
  785. userIds = strings.Trim(userIds, ",")
  786. }
  787. } else if supplierCertEntity.Status == suppliercert.CENT_AUDIT_STATUS {
  788. userIds = auditer
  789. status = suppliercert.PAYING_AUDIT_STATUS
  790. step = 3
  791. backstatus = suppliercert.NO_CENT_AUDIT_STATUS
  792. }
  793. svcActiviti := workflow.GetActivitiService(utils.DBE)
  794. var ActiComplete workflow.ActiCompleteVM
  795. ActiComplete.ProcessKey = supplierCertEntity.ProcessKey
  796. ActiComplete.BusinessKey = supplierCertEntity.BusinessKey
  797. ActiComplete.UserNames = userIds
  798. ActiComplete.UserId = this.User.Id
  799. ActiComplete.Remarks = dataother.AuditorRemark
  800. ActiComplete.CallbackUrl = ""
  801. if dataother.SuccessStatus == 1 {
  802. ActiComplete.Result = "1"
  803. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  804. if receiveVal == "true" {
  805. if supplierCertEntity.Status == suppliercert.CENT_AUDIT_STATUS {
  806. if supplierCertEntity.InStyle == "1" {
  807. paysvc := paymentinfo.GetPaymentService(utils.DBE)
  808. var Amount float64
  809. if supplierCertEntity.SupplierTypeCode == suppliercert.DOOGS_TYPECODE {
  810. Amount = 6000
  811. } else if supplierCertEntity.SupplierTypeCode == suppliercert.BASIS_TYPECODE {
  812. Amount = 7000
  813. } else if supplierCertEntity.SupplierTypeCode == suppliercert.TECH_TYPECODE {
  814. Amount = 8000
  815. }
  816. var payinfo paymentinfo.OilPaymentInfo
  817. payinfo.SupplierId = supplierCertEntity.SupplierId
  818. payinfo.SupplierCertId = supplierCertEntity.Id
  819. payinfo.PayType = "1"
  820. payinfo.Amount = strconv.FormatFloat(Amount,'E',-1,64)
  821. payinfo.IsPay = "1"
  822. payinfo.CreateUserId = supplierCertEntity.CreateUserId
  823. payinfo.CreateBy = supplierCertEntity.CreateBy
  824. payinfo.CreateOn = time.Now()
  825. paysvc.InsertEntity(&payinfo)
  826. //paysvc.AddPaymentinfo(supplierCertEntity.SupplierId, supplierCertEntity.Id, Amount, "1")
  827. supplierCertEntity.Status = status
  828. supplierCertEntity.Step = step
  829. cols := []string{
  830. "Status",
  831. "Step",
  832. }
  833. certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  834. } else {
  835. supplierCertEntity.Status = suppliercert.STOREING_STATUS
  836. supplierCertEntity.Step = step
  837. cols := []string{
  838. "Status",
  839. "Step",
  840. }
  841. certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  842. }
  843. } else if supplierCertEntity.Status == suppliercert.PROF_AUDIT_STATUS && supplierCertEntity.InStyle == "3" {
  844. //if supplierCertEntity.InStyle == "3" {
  845. supplierCertEntity.Status = suppliercert.STOREING_STATUS
  846. supplierCertEntity.Step = 3
  847. cols := []string{
  848. "Status",
  849. "Step",
  850. }
  851. certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  852. //} else {
  853. // supplierCertEntity.Status = status
  854. // supplierCertEntity.Step = step
  855. // cols := []string{
  856. // "Status",
  857. // "Step",
  858. // }
  859. // certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  860. //}
  861. } else {
  862. supplierCertEntity.Status = status
  863. supplierCertEntity.Step = step
  864. cols := []string{
  865. "Status",
  866. "Step",
  867. }
  868. certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  869. }
  870. errinfo.Message = "提交成功!"
  871. errinfo.Code = 0
  872. this.Data["json"] = &errinfo
  873. this.ServeJSON()
  874. } else {
  875. errinfo.Message = "工作流异常,请联系管理员!"
  876. errinfo.Code = -1
  877. this.Data["json"] = &errinfo
  878. this.ServeJSON()
  879. return
  880. }
  881. } else {
  882. ActiComplete.Result = "0"
  883. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  884. if receiveVal == "true" {
  885. // 审批历史
  886. var audithistoryentity audithistory.Base_AuditHistory
  887. audithistoryentity.EntityId = supplierCertEntity.Id
  888. audithistoryentity.WorkflowId = supplierCertEntity.WorkflowId
  889. audithistoryentity.Process = ActiComplete.ProcessKey
  890. audithistoryentity.BusinessKey = ActiComplete.BusinessKey
  891. audithistoryentity.Type = supplierCertEntity.SupplierTypeCode
  892. audithistoryentity.BackStep = supplierCertEntity.Status
  893. audithistoryentity.Index = supplierCertEntity.AuditIndex
  894. audithistoryentity.CreateOn = time.Now()
  895. audithistoryentity.CreateBy = this.User.Realname
  896. audithistoryentity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  897. certSrv.InsertEntity(audithistoryentity)
  898. if supplierCertEntity.Status == suppliercert.CENT_AUDIT_STATUS {
  899. supplierCertEntity.Status = suppliercert.NOPASS_STATUS
  900. } else {
  901. supplierCertEntity.Status = backstatus
  902. }
  903. supplierCertEntity.Step = 1
  904. supplierCertEntity.WorkflowId = ""
  905. cols := []string{
  906. "Status",
  907. "Step",
  908. "WorkflowId",
  909. }
  910. certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  911. errinfo.Message = "提交成功!"
  912. errinfo.Code = 0
  913. this.Data["json"] = &errinfo
  914. this.ServeJSON()
  915. } else {
  916. errinfo.Message = "工作流异常,请联系管理员!"
  917. errinfo.Code = -1
  918. this.Data["json"] = &errinfo
  919. this.ServeJSON()
  920. return
  921. }
  922. }
  923. }
  924. // @Title 审核
  925. // @Description 审核
  926. // @Success 200 {object} controllers.Request
  927. // @router /auditcallback [get]
  928. func (this *OilSupplierCertController) AuditCallback() {
  929. id := this.GetString("Id")
  930. status := this.GetString("status")
  931. step := this.GetString("step")
  932. var supplierCertEntity suppliercert.OilSupplierCert
  933. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  934. supplierCertEntity.Status = status
  935. supplierCertEntity.Step, _ = strconv.Atoi(step)
  936. cols := []string{
  937. "Id",
  938. "Status",
  939. "step",
  940. }
  941. svc.UpdateEntityByIdCols(id, supplierCertEntity, cols)
  942. fmt.Println(id, status, step)
  943. }
  944. // @Title 获取实体
  945. // @Description 获取实体
  946. // @Success 200 {object} controllers.Request
  947. // @router /isaccess [get]
  948. func (this *OilSupplierCertController) IsAccess() {
  949. auditstepcode := this.GetString("auditstepcode")
  950. //var users []userRole.Base_RoleList
  951. //var auditWorkflow auditsetting.Base_OilAuditSetting
  952. //rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
  953. res := false
  954. if auditstepcode == workflow.PROF_CONCENT { // 集中审批
  955. //rsvc.GetAuditStepRoleEntity(OilAuditSettingName, this.User.DepartmentId, workflow.PROF_AUDIT, &auditWorkflow)
  956. //users = rsvc.GetUserByRole("10000204", this.User.AccCode)
  957. //for _, user := range users {
  958. // if this.User.Id == strconv.Itoa(int(user.Id)) {
  959. // res = true
  960. // break
  961. // }
  962. //}
  963. var setting auditsetting.Base_OilAuditSetting
  964. svc := organize.GetOrganizeService(utils.DBE)
  965. where := "AuditStepCode='" + auditstepcode + "'"
  966. svc.GetEntity(&setting, where)
  967. res = svc.UserInRoleById(this.User.Id, strconv.Itoa(setting.RoleId))
  968. } else {
  969. //var users []suppliercert.UserList
  970. //where := "OrganizeId=" + this.User.DepartmentId + " and AuditStepCode='" + auditstepcode + "'"
  971. //rsvc.GetEntitysByWhere(OilAuditSettingName,where, &users)
  972. //rsvc.GetAuditStepRoleEntity(OilAuditSettingName, this.User.DepartmentId, auditstepcode, &auditWorkflow)
  973. //users = rsvc.GetUserByRole(strconv.Itoa(auditWorkflow.RoleId), this.User.AccCode)
  974. //var users []userRole.Base_RoleList
  975. //certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  976. //certSrv.GetAuditUser(this.User.DepartmentId, auditstepcode, &users)
  977. var setting auditsetting.Base_OilAuditSetting
  978. svc := organize.GetOrganizeService(utils.DBE)
  979. where := "AuditStepCode='" + auditstepcode + "'"
  980. svc.GetEntity(&setting, where)
  981. res = svc.UserInRoleById(this.User.Id, strconv.Itoa(setting.RoleId))
  982. //for _, user := range users {
  983. // if this.User.Id == strconv.Itoa(int(user.Id)) {
  984. // res = true
  985. // break
  986. // }
  987. //}
  988. }
  989. this.Data["json"] = res
  990. this.ServeJSON()
  991. }
  992. // @Title 获取准入编码
  993. // @Description 获取准入编码
  994. // @Success 200 {object} controllers.Request
  995. // @router /createaccesscardno/:type [get]
  996. func (this *OilSupplierCertController) CreateAccessCardNo() {
  997. Id := this.GetString("Id")
  998. certId := this.GetString(("SupplierCertId"))
  999. typeCode := this.Ctx.Input.Param(":type")
  1000. codecSvc := codecsequence.GetCodecSequenceService(utils.DBE)
  1001. var model []supplier.OilSupplier
  1002. var entity supplier.OilSupplier
  1003. //where := "Id = " + Id
  1004. codecSvc.GetEntities(&model, "")
  1005. seqStr := ""
  1006. cols := []string{}
  1007. if (typeCode == "01") { // 物质
  1008. seqStr = codecSvc.GetWZAccessCardNo(this.User.AccCode)
  1009. if model != nil {
  1010. for i := 0; i < len(model); i++ {
  1011. if seqStr == model[i].WZAccessCardNo {
  1012. seqStr = codecSvc.GetWZAccessCardNo(this.User.AccCode)
  1013. i = 0
  1014. }
  1015. }
  1016. }
  1017. entity.WZAccessCardNo = seqStr
  1018. cols = []string{"WZAccessCardNo"}
  1019. } else if typeCode == "03" { //技术服务
  1020. seqStr = codecSvc.GetJFAccessCardNo(this.User.AccCode)
  1021. if model != nil {
  1022. for i := 0; i < len(model); i++ {
  1023. if seqStr == model[i].JFAccessCardNo {
  1024. seqStr = codecSvc.GetJFAccessCardNo(this.User.AccCode)
  1025. i = 0
  1026. }
  1027. }
  1028. }
  1029. entity.JFAccessCardNo = seqStr
  1030. cols = []string{"JFAccessCardNo"}
  1031. } else if typeCode == "02" { // 基建
  1032. seqStr = codecSvc.GetJSAccessCardNo(this.User.AccCode)
  1033. if model != nil {
  1034. for i := 0; i < len(model); i++ {
  1035. if seqStr == model[i].JSAccessCardNo {
  1036. seqStr = codecSvc.GetJSAccessCardNo(this.User.AccCode)
  1037. i = 0
  1038. }
  1039. }
  1040. }
  1041. entity.JSAccessCardNo = seqStr
  1042. cols = []string{"JSAccessCardNo"}
  1043. }
  1044. codecSvc.UpdateEntityByIdCols(Id, &entity, cols)
  1045. var cert suppliercert.OilSupplierCert
  1046. certcols := []string{"AccessCardNo"}
  1047. cert.AccessCardNo = seqStr
  1048. codecSvc.UpdateEntityByIdCols(certId, &cert, certcols)
  1049. this.Data["json"] = seqStr
  1050. this.ServeJSON()
  1051. }
  1052. // @Title 修改准入标识
  1053. // @Description 修改准入标识
  1054. // @Success 200 {object} controllers.Request
  1055. // @router /updatainflag/ [get]
  1056. func (this *OilSupplierCertController) UpdataInFlag() {
  1057. var certentitys []suppliercert.OilSupplierCert
  1058. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  1059. svc.GetEntities(&certentitys, "")
  1060. for i := 0; i < len(certentitys); i++ {
  1061. if time.Now().Format("2006-01-02") == certentitys[i].ApplyTime.Format("2006-01-02") {
  1062. var certentity suppliercert.OilSupplierCert
  1063. certentity.InFlag = "2"
  1064. cols := []string{"InFlag"}
  1065. svc.UpdateEntityByIdCols(certentitys[i].Id, &certentity, cols)
  1066. }
  1067. if certentitys[i].ApplyTime.AddDate(1, 0, 0).Format("2006-01-02") == time.Now().Format("2006-01-02") {
  1068. fmt.Println(certentitys[i].ApplyTime.AddDate(1, 0, 0).Format("2006-01-02"), time.Now().Format("2006-01-02"))
  1069. var certentity suppliercert.OilSupplierCert
  1070. certentity.InFlag = "3"
  1071. cols := []string{"InFlag"}
  1072. svc.UpdateEntityByIdCols(certentitys[i].Id, &certentity, cols)
  1073. }
  1074. }
  1075. }
  1076. // @Title 保存准入编码
  1077. // @Description 保存准入编码
  1078. // @Success 200 {object} controllers.Request
  1079. // @router /saveaccesscardno/:Id [get]
  1080. func (this *OilSupplierCertController) SaveAccessCardNo() {
  1081. id := this.Ctx.Input.Param(":Id")
  1082. certId := this.GetString(("SupplierCertId"))
  1083. typeCode := this.GetString("typeCode")
  1084. accessCardNo := this.GetString("AccessCardNo")
  1085. var model []suppliercert.OilSupplierCert
  1086. var supplier supplier.OilSupplier
  1087. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  1088. where := "AccessCardNo='" + accessCardNo + "'"
  1089. svc.GetEntities(&model, where)
  1090. supcols := []string{}
  1091. if model == nil || len(model) == 0 {
  1092. if (typeCode == "01") { // 物质
  1093. supplier.WZAccessCardNo = accessCardNo
  1094. supcols = []string{"WZAccessCardNo"}
  1095. } else if typeCode == "03" { //技术服务
  1096. supplier.JFAccessCardNo = accessCardNo
  1097. supcols = []string{"JFAccessCardNo"}
  1098. } else if typeCode == "02" { // 基建
  1099. supplier.JSAccessCardNo = accessCardNo
  1100. supcols = []string{"JSAccessCardNo"}
  1101. }
  1102. svc.UpdateEntityByIdCols(id, &supplier, supcols)
  1103. var cert suppliercert.OilSupplierCert
  1104. certcols := []string{"AccessCardNo"}
  1105. cert.AccessCardNo = accessCardNo
  1106. svc.UpdateEntityByIdCols(certId, &cert, certcols)
  1107. var errinfo ErrorDataInfo
  1108. errinfo.Message = "保存成功!"
  1109. errinfo.Code = 0
  1110. this.Data["json"] = &errinfo
  1111. this.ServeJSON()
  1112. } else {
  1113. var errinfo ErrorDataInfo
  1114. errinfo.Message = "准入编码已经存在!"
  1115. errinfo.Code = -1
  1116. this.Data["json"] = &errinfo
  1117. this.ServeJSON()
  1118. }
  1119. }