suppliercert.go 59 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984
  1. package oilsupplier
  2. import (
  3. "dashoo.cn/backend/api/business/codecsequence"
  4. msg2 "dashoo.cn/backend/api/business/msg"
  5. "dashoo.cn/backend/api/business/oilsupplier/annualaudit"
  6. "dashoo.cn/backend/api/business/oilsupplier/infochange"
  7. "dashoo.cn/backend/api/business/oilsupplier/oilactivity"
  8. "dashoo.cn/backend/api/business/oilsupplier/supplier"
  9. "dashoo.cn/backend/api/business/oilsupplier/supplierapplytime"
  10. "dashoo.cn/backend/api/business/oilsupplier/suppliercertappend"
  11. "dashoo.cn/backend/api/business/oilsupplier/suppliercertsub"
  12. "dashoo.cn/backend/api/business/oilsupplier/supplierfile"
  13. "dashoo.cn/backend/api/business/organize"
  14. "dashoo.cn/backend/api/business/paymentinfo"
  15. baseparameter "dashoo.cn/business2/parameter"
  16. "encoding/json"
  17. "fmt"
  18. "strconv"
  19. "strings"
  20. "time"
  21. "unicode/utf8"
  22. "dashoo.cn/backend/api/business/auditsetting"
  23. "dashoo.cn/backend/api/business/workflow"
  24. "dashoo.cn/backend/api/business/baseUser"
  25. "dashoo.cn/backend/api/business/oilsupplier/suppliercert"
  26. . "dashoo.cn/backend/api/controllers"
  27. "dashoo.cn/business2/userRole"
  28. "dashoo.cn/utils"
  29. )
  30. type OilSupplierCertController struct {
  31. BaseController
  32. }
  33. // @Title 获取列表
  34. // @Description get user by token
  35. // @Success 200 {object} []suppliercert.OilSupplierCert
  36. // @router /list [get]
  37. func (this *OilSupplierCertController) GetEntityList() {
  38. //获取分页信息
  39. page := this.GetPageInfoForm()
  40. where := " 1=1 "
  41. orderby := "Id"
  42. asc := false
  43. Order := this.GetString("Order")
  44. Prop := this.GetString("Prop")
  45. if Order != "" && Prop != "" {
  46. orderby = Prop
  47. if Order == "asc" {
  48. asc = true
  49. }
  50. }
  51. Id := this.GetString("Id")
  52. SupplierId := this.GetString("SupplierId")
  53. AccessCardNo := this.GetString("AccessCardNo")
  54. SupplierTypeCode := this.GetString("SupplierTypeCode")
  55. SupplierTypeName := this.GetString("SupplierTypeName")
  56. RecUnitReason := this.GetString("RecUnitReason")
  57. RecUnitPerson := this.GetString("RecUnitPerson")
  58. RecDate := this.GetString("RecDate")
  59. RecUnitId := this.GetString("RecUnitId")
  60. RecUnitName := this.GetString("RecUnitName")
  61. StatusA := this.GetString("StatusA")
  62. BackReason := this.GetString("BackReason")
  63. InFlag := this.GetString("InFlag")
  64. EffectStartTime := this.GetString("EffectStartTime")
  65. EffectEndTime := this.GetString("EffectEndTime")
  66. AuditProcessNote := this.GetString("AuditProcessNote")
  67. AuditDate := this.GetString("AuditDate")
  68. PayNotice := this.GetString("PayNotice")
  69. SupplierStatus := this.GetString("SupplierStatus")
  70. MgrType := this.GetString("MgrType")
  71. Type := this.GetString("Type")
  72. MgrUnit := this.GetString("MgrUnit")
  73. AddinTime := this.GetString("AddinTime")
  74. EffectTime := this.GetString("EffectTime")
  75. ApplyTime := this.GetString("ApplyTime")
  76. SupplierNo := this.GetString("SupplierNo")
  77. MDMFlag := this.GetString("MDMFlag")
  78. InternalFlag := this.GetString("InternalFlag")
  79. ImportFlag := this.GetString("ImportFlag")
  80. OutsideFlog := this.GetString("OutsideFlog")
  81. Remark := this.GetString("Remark")
  82. IsDelete := this.GetString("IsDelete")
  83. CreateOn := this.GetString("CreateOn")
  84. CreateUserId := this.GetString("CreateUserId")
  85. CreateBy := this.GetString("CreateBy")
  86. ModifiedOn := this.GetString("ModifiedOn")
  87. ModifiedUserId := this.GetString("ModifiedUserId")
  88. ModifiedBy := this.GetString("ModifiedBy")
  89. if Id != "" {
  90. where = where + " and Id like '%" + Id + "%'"
  91. }
  92. if SupplierId != "" {
  93. where = where + " and SupplierId like '%" + SupplierId + "%'"
  94. }
  95. if AccessCardNo != "" {
  96. where = where + " and AccessCardNo like '%" + AccessCardNo + "%'"
  97. }
  98. if SupplierTypeCode != "" {
  99. where = where + " and SupplierTypeCode like '%" + SupplierTypeCode + "%'"
  100. }
  101. if SupplierTypeName != "" {
  102. where = where + " and SupplierTypeName like '%" + SupplierTypeName + "%'"
  103. }
  104. if RecUnitReason != "" {
  105. where = where + " and RecUnitReason like '%" + RecUnitReason + "%'"
  106. }
  107. if RecUnitPerson != "" {
  108. where = where + " and RecUnitPerson like '%" + RecUnitPerson + "%'"
  109. }
  110. if RecDate != "" {
  111. where = where + " and RecDate like '%" + RecDate + "%'"
  112. }
  113. if RecUnitId != "" {
  114. where = where + " and RecUnitId like '%" + RecUnitId + "%'"
  115. }
  116. if RecUnitName != "" {
  117. where = where + " and RecUnitName like '%" + RecUnitName + "%'"
  118. }
  119. if StatusA != "" {
  120. where = where + " and StatusA like '%" + StatusA + "%'"
  121. }
  122. if BackReason != "" {
  123. where = where + " and BackReason like '%" + BackReason + "%'"
  124. }
  125. if InFlag != "" {
  126. where = where + " and InFlag like '%" + InFlag + "%'"
  127. }
  128. if EffectStartTime != "" {
  129. where = where + " and EffectStartTime like '%" + EffectStartTime + "%'"
  130. }
  131. if EffectEndTime != "" {
  132. where = where + " and EffectEndTime like '%" + EffectEndTime + "%'"
  133. }
  134. if AuditProcessNote != "" {
  135. where = where + " and AuditProcessNote like '%" + AuditProcessNote + "%'"
  136. }
  137. if AuditDate != "" {
  138. where = where + " and AuditDate like '%" + AuditDate + "%'"
  139. }
  140. if PayNotice != "" {
  141. where = where + " and PayNotice like '%" + PayNotice + "%'"
  142. }
  143. if SupplierStatus != "" {
  144. where = where + " and SupplierStatus like '%" + SupplierStatus + "%'"
  145. }
  146. if MgrType != "" {
  147. where = where + " and MgrType like '%" + MgrType + "%'"
  148. }
  149. if Type != "" {
  150. where = where + " and Type like '%" + Type + "%'"
  151. }
  152. if MgrUnit != "" {
  153. where = where + " and MgrUnit like '%" + MgrUnit + "%'"
  154. }
  155. if AddinTime != "" {
  156. where = where + " and AddinTime like '%" + AddinTime + "%'"
  157. }
  158. if EffectTime != "" {
  159. where = where + " and EffectTime like '%" + EffectTime + "%'"
  160. }
  161. if ApplyTime != "" {
  162. where = where + " and ApplyTime like '%" + ApplyTime + "%'"
  163. }
  164. if SupplierNo != "" {
  165. where = where + " and SupplierNo like '%" + SupplierNo + "%'"
  166. }
  167. if MDMFlag != "" {
  168. where = where + " and MDMFlag like '%" + MDMFlag + "%'"
  169. }
  170. if InternalFlag != "" {
  171. where = where + " and InternalFlag like '%" + InternalFlag + "%'"
  172. }
  173. if ImportFlag != "" {
  174. where = where + " and ImportFlag like '%" + ImportFlag + "%'"
  175. }
  176. if OutsideFlog != "" {
  177. where = where + " and OutsideFlog like '%" + OutsideFlog + "%'"
  178. }
  179. if Remark != "" {
  180. where = where + " and Remark like '%" + Remark + "%'"
  181. }
  182. if IsDelete != "" {
  183. where = where + " and IsDelete like '%" + IsDelete + "%'"
  184. }
  185. if CreateOn != "" {
  186. where = where + " and CreateOn like '%" + CreateOn + "%'"
  187. }
  188. if CreateUserId != "" {
  189. where = where + " and CreateUserId like '%" + CreateUserId + "%'"
  190. }
  191. if CreateBy != "" {
  192. where = where + " and CreateBy like '%" + CreateBy + "%'"
  193. }
  194. if ModifiedOn != "" {
  195. where = where + " and ModifiedOn like '%" + ModifiedOn + "%'"
  196. }
  197. if ModifiedUserId != "" {
  198. where = where + " and ModifiedUserId like '%" + ModifiedUserId + "%'"
  199. }
  200. if ModifiedBy != "" {
  201. where = where + " and ModifiedBy like '%" + ModifiedBy + "%'"
  202. }
  203. if CreateOn != "" {
  204. dates := strings.Split(CreateOn, ",")
  205. if len(dates) == 2 {
  206. minDate := dates[0]
  207. maxDate := dates[1]
  208. where = where + " and CreateOn>='" + minDate + "' and CreateOn<='" + maxDate + "'"
  209. }
  210. }
  211. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  212. var list []suppliercert.OilSupplierCert
  213. total := svc.GetPagingEntitiesWithOrderBytbl(this.User.AccCode, page.CurrentPage, page.Size, orderby, asc, &list, where)
  214. var datainfo DataInfo
  215. datainfo.Items = list
  216. datainfo.CurrentItemCount = total
  217. datainfo.PageIndex = page.CurrentPage
  218. datainfo.ItemsPerPage = page.Size
  219. this.Data["json"] = &datainfo
  220. this.ServeJSON()
  221. }
  222. // @Title 获取字典列表
  223. // @Description get user by token
  224. // @Success 200 {object} map[string]interface{}
  225. // @router /dictlist [get]
  226. func (this *OilSupplierCertController) GetDictList() {
  227. dictList := make(map[string]interface{})
  228. //dictSvc := items.GetItemsService(utils.DBE)
  229. userSvc := baseUser.GetBaseUserService(utils.DBE)
  230. //customerSvc := svccustomer.GetCustomerService(utils.DBE)
  231. //dictList["WellNo"] = dictSvc.GetKeyValueItems("WellNo", this.User.AccCode)
  232. var userEntity userRole.Base_User
  233. userSvc.GetEntityById(this.User.Id, &userEntity)
  234. dictList["Supervisers"] = userSvc.GetUserListByDepartmentId(this.User.AccCode, userEntity.Departmentid)
  235. //var dictCustomer []svccustomer.Customer
  236. //customerSvc.GetEntitysByWhere(this.User.AccCode + CustomerName, "", &dictCustomer)
  237. //dictList["EntrustCorp"] = &dictCustomer
  238. var datainfo DataInfo
  239. datainfo.Items = dictList
  240. this.Data["json"] = &datainfo
  241. this.ServeJSON()
  242. }
  243. // @Title 获取实体
  244. // @Description 获取实体
  245. // @Success 200 {object} suppliercert.OilSupplierCert
  246. // @router /get/:id [get]
  247. func (this *OilSupplierCertController) GetEntity() {
  248. Id := this.Ctx.Input.Param(":id")
  249. var model suppliercert.OilSupplierCert
  250. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  251. svc.GetEntityByIdBytbl(OilSupplierCertName, Id, &model)
  252. this.Data["json"] = &model
  253. this.ServeJSON()
  254. }
  255. // @Title 获取实体
  256. // @Description 获取实体
  257. // @Success 200 {object} suppliercert.OilSupplierCert
  258. // @router /getbycreatorandtype/:typecode [get]
  259. func (this *OilSupplierCertController) GetEntityByCreatorId() {
  260. creatorId := this.User.Id
  261. typeCode := this.Ctx.Input.Param(":typecode")
  262. var model suppliercert.OilSupplierCert
  263. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  264. where := " CreateUserId = '" + creatorId + "'"
  265. where += " and SupplierTypeCode = '" + typeCode + "'"
  266. svc.GetEntityByWhere(OilSupplierCertName, where, &model)
  267. this.Data["json"] = &model
  268. this.ServeJSON()
  269. }
  270. // @Title 添加
  271. // @Description 新增
  272. // @Success 200 {object} controllers.Request
  273. // @router /add [post]
  274. func (this *OilSupplierCertController) AddEntity() {
  275. var model suppliercert.OilSupplierCert
  276. var jsonBlob = this.Ctx.Input.RequestBody
  277. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  278. json.Unmarshal(jsonBlob, &model)
  279. model.IsRestrict = 1
  280. model.CreateOn = time.Now()
  281. model.CreateBy = this.User.Realname
  282. model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  283. //model.OrganizeId, _ = utils.StrTo(this.User.DepartmentId).Int()
  284. _, err := svc.InsertEntityBytbl(OilSupplierCertName, &model)
  285. var errinfo ErrorDataInfo
  286. if err == nil {
  287. //新增
  288. errinfo.Message = "添加成功!"
  289. errinfo.Code = 0
  290. errinfo.Item = model.Id
  291. this.Data["json"] = &errinfo
  292. this.ServeJSON()
  293. } else {
  294. errinfo.Message = "添加失败!" + utils.AlertProcess(err.Error())
  295. errinfo.Code = -1
  296. this.Data["json"] = &errinfo
  297. this.ServeJSON()
  298. }
  299. }
  300. // @Title 修改实体
  301. // @Description 修改实体
  302. // @Success 200 {object} controllers.Request
  303. // @router /update/:id [post]
  304. func (this *OilSupplierCertController) UpdateEntity() {
  305. id := this.Ctx.Input.Param(":id")
  306. var errinfo ErrorInfo
  307. if id == "" {
  308. errinfo.Message = "操作失败!请求信息不完整"
  309. errinfo.Code = -2
  310. this.Data["json"] = &errinfo
  311. this.ServeJSON()
  312. return
  313. }
  314. var model suppliercert.OilSupplierCert
  315. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  316. var jsonBlob = this.Ctx.Input.RequestBody
  317. json.Unmarshal(jsonBlob, &model)
  318. model.ModifiedOn = time.Now()
  319. model.ModifiedBy = this.User.Realname
  320. model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  321. cols := []string{
  322. "Id",
  323. "SupplierId",
  324. "AccessCardNo",
  325. "SupplierTypeCode",
  326. "SupplierTypeName",
  327. "RecUnitReason",
  328. "RecUnitPerson",
  329. "RecDate",
  330. "RecUnitId",
  331. "RecUnitName",
  332. "Status",
  333. "BackReason",
  334. "InFlag",
  335. "EffectStartTime",
  336. "EffectEndTime",
  337. "AuditProcessNote",
  338. "AuditDate",
  339. "PayNotice",
  340. "SupplierStatus",
  341. "MgrType",
  342. "Type",
  343. "MgrUnit",
  344. "AddinTime",
  345. "EffectTime",
  346. "ApplyTime",
  347. "SupplierNo",
  348. "MDMFlag",
  349. "InternalFlag",
  350. "ImportFlag",
  351. "OutsideFlog",
  352. "Remark",
  353. "IsDelete",
  354. "CreateOn",
  355. "CreateUserId",
  356. "CreateBy",
  357. "ModifiedOn",
  358. "ModifiedUserId",
  359. "ModifiedBy",
  360. }
  361. err := svc.UpdateEntityBytbl(OilSupplierCertName, id, &model, cols)
  362. if err == nil {
  363. errinfo.Message = "修改成功!"
  364. errinfo.Code = 0
  365. this.Data["json"] = &errinfo
  366. this.ServeJSON()
  367. } else {
  368. errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
  369. errinfo.Code = -1
  370. this.Data["json"] = &errinfo
  371. this.ServeJSON()
  372. }
  373. }
  374. // @Title 企业入库
  375. // @Description 企业入库
  376. // @Success 200 {object} controllers.Request
  377. // @router /updatestorage/:id [post]
  378. func (this *OilSupplierCertController) UpdateStorage() {
  379. id := this.Ctx.Input.Param(":id")
  380. status := this.GetString("Status")
  381. PACNumber := this.GetString("PACNumber")
  382. SupplierId := this.GetString("SupplierId")
  383. var errinfo ErrorInfo
  384. if id == "" {
  385. errinfo.Message = "操作失败!请求信息不完整"
  386. errinfo.Code = -2
  387. this.Data["json"] = &errinfo
  388. this.ServeJSON()
  389. return
  390. }
  391. var model suppliercert.OilSupplierCert
  392. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  393. //var jsonBlob = this.Ctx.Input.RequestBody
  394. //json.Unmarshal(jsonBlob, &model)
  395. var err error
  396. if status == suppliercert.NO_CENT_AUDIT_STATUS {
  397. model.Status = suppliercert.DRAFT_STATUS
  398. cols := []string{
  399. "Status",
  400. }
  401. err = svc.UpdateEntityBytbl(OilSupplierCertName, id, &model, cols)
  402. } else {
  403. //TODO: 入库改用大工作流
  404. var activity oilactivity.OilActivity
  405. where := "EntityId=" + id + " and ActType='" + oilactivity.STORAGE + "'"
  406. svc.GetEntity(&activity, where)
  407. svcActiviti := workflow.GetActivitiService(utils.DBE)
  408. var ActiComplete workflow.ActiCompleteVM
  409. ActiComplete.ProcessKey = activity.ProcessKey
  410. ActiComplete.BusinessKey = activity.BusinessKey
  411. ActiComplete.UserId = this.User.Id
  412. ActiComplete.Remarks = ""
  413. ActiComplete.Result = "1"
  414. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  415. fmt.Println(receiveVal)
  416. model.Status = suppliercert.STORE_STATUS
  417. model.Step = 7
  418. model.StorageOn = time.Now()
  419. model.ApplyTime = time.Now().AddDate(1, 0, 0)
  420. model.InFlag = "1"
  421. model.ModifiedOn = time.Now()
  422. model.ModifiedBy = this.User.Realname
  423. model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  424. cols := []string{
  425. "Step",
  426. "Status",
  427. "ApplyTime",
  428. "InFlag",
  429. "StorageOn",
  430. "ModifiedOn",
  431. "ModifiedUserId",
  432. "ModifiedBy",
  433. }
  434. err = svc.UpdateEntityBytbl(OilSupplierCertName, id, &model, cols)
  435. var model2 suppliercertsub.OilSupplierCertSub
  436. model2.CertSubStatus = "1"
  437. whereid := " SupplierCertId = " + id
  438. svc.UpdateEntityBywheretbl(OilSupplierCertSubName, &model2, []string{"CertSubStatus"}, whereid)
  439. var model3 supplier.OilSupplier
  440. model3.PACNumber = PACNumber
  441. cols3 := []string{"PACNumber"}
  442. svc.UpdateEntityByIdCols(SupplierId, &model3, cols3)
  443. }
  444. if err == nil {
  445. errinfo.Message = "提交成功!"
  446. errinfo.Code = 0
  447. this.Data["json"] = &errinfo
  448. this.ServeJSON()
  449. } else {
  450. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  451. errinfo.Code = -1
  452. this.Data["json"] = &errinfo
  453. this.ServeJSON()
  454. }
  455. }
  456. // @Title 删除单条信息
  457. // @Description
  458. // @Success 200 {object} ErrorInfo
  459. // @Failure 403 :id 为空
  460. // @router /delete/:Id [delete]
  461. func (this *OilSupplierCertController) DeleteEntity() {
  462. Id := this.Ctx.Input.Param(":Id")
  463. var errinfo ErrorInfo
  464. if Id == "" {
  465. errinfo.Message = "操作失败!请求信息不完整"
  466. errinfo.Code = -2
  467. this.Data["json"] = &errinfo
  468. this.ServeJSON()
  469. return
  470. }
  471. var model suppliercert.OilSupplierCert
  472. var entityempty suppliercert.OilSupplierCert
  473. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  474. opdesc := "删除-" + Id
  475. err := svc.DeleteOperationAndWriteLogBytbl(OilSupplierCertName, BaseOperationLogName, Id, &model, &entityempty, utils.ToStr(this.User.Id), this.User.Username, opdesc, this.User.AccCode, "钻井日报")
  476. if err == nil {
  477. errinfo.Message = "删除成功"
  478. errinfo.Code = 0
  479. this.Data["json"] = &errinfo
  480. this.ServeJSON()
  481. } else {
  482. errinfo.Message = "删除失败!" + utils.AlertProcess(err.Error())
  483. errinfo.Code = -1
  484. this.Data["json"] = &errinfo
  485. this.ServeJSON()
  486. }
  487. }
  488. // @Title 启动工作流前,检查准入申请填入的项目是否完整,是否可提交
  489. // @Description 检查准入申请填入的项目是否完整
  490. // @Success 200 {object} ErrorDataInfo
  491. // @router /check-suppliercert-submit/:id [post]
  492. func (this *OilSupplierCertController) CheckSupplierCertCanSubmit() {
  493. certId := this.Ctx.Input.Param(":id")
  494. var errinfo ErrorDataInfo
  495. defer func() { //finally处理失败的异常
  496. if err := recover(); err != nil {
  497. errinfo.Message = err.(string)
  498. errinfo.Code = -1
  499. this.Data["json"] = &errinfo
  500. this.ServeJSON()
  501. } else {
  502. //返回正确结果
  503. errinfo.Message = "检查通过"
  504. errinfo.Code = 0
  505. this.Data["json"] = &errinfo
  506. this.ServeJSON()
  507. }
  508. }()
  509. //取出准入申请表
  510. certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  511. var supplierCertEntity suppliercert.OilSupplierCert
  512. certSrv.GetEntityById(certId, &supplierCertEntity)
  513. certSrv.IsSupplierCertCanSubmit(strconv.Itoa(supplierCertEntity.Id), certId)
  514. }
  515. // @Title 企业用户提交按钮 --启动工作流
  516. // @Description 企业用户提交按钮
  517. // @Success 200 {object} controllers.Request
  518. // @router /company-audit/:id [post]
  519. func (this *OilSupplierCertController) CompanyAuditEntity() {
  520. certId := this.Ctx.Input.Param(":id")
  521. unitId := this.GetString("UnitId")
  522. // typeCode := this.GetString("TypeCode")
  523. AuditRemark := this.GetString("AuditRemark")
  524. var errinfo ErrorDataInfo
  525. defer func() { //finally处理失败的异常
  526. if err := recover(); err != nil {
  527. errinfo.Message = err.(string)
  528. errinfo.Code = -1
  529. this.Data["json"] = &errinfo
  530. this.ServeJSON()
  531. } else {
  532. //返回正确结果
  533. errinfo.Message = "提交成功"
  534. errinfo.Code = 0
  535. this.Data["json"] = &errinfo
  536. this.ServeJSON()
  537. }
  538. }()
  539. if this.User.IsCompanyUser == 0 {
  540. // 0二级单位; 1企业用户
  541. panic("非企业用户,请用分办功能提交!")
  542. }
  543. //取出准入申请表
  544. certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  545. var supplierCertEntity suppliercert.OilSupplierCert
  546. certSrv.GetEntityById(certId, &supplierCertEntity)
  547. certSrv.IsSupplierCertCanSubmit(strconv.Itoa(supplierCertEntity.Id), certId)
  548. //取出企业主表
  549. supplierSvc := supplier.GetOilSupplierService(utils.DBE)
  550. var supplierEntity supplier.OilSupplier
  551. //检查是否可提交
  552. supplierSvc.GetEntityById(supplierCertEntity.SupplierId, &supplierEntity)
  553. status, _ := strconv.Atoi(supplierCertEntity.Status)
  554. if status > 0 {
  555. panic("工作流已经启动,请刷新重试!")
  556. }
  557. svcActiviti := workflow.GetActivitiService(utils.DBE)
  558. //启动工作流
  559. businessKey := supplierCertEntity.BusinessKey
  560. processInstanceId := supplierCertEntity.WorkflowId
  561. // 如果被驳回,不再新启工作流
  562. if processInstanceId == "" {
  563. businessKey = certId + "-" + strconv.Itoa(supplierCertEntity.AuditIndex)
  564. processInstanceId = svcActiviti.StartProcess2(workflow.OIL_ENUSER_SUPPLIER_APPLY, businessKey, this.User.Id, "1", supplierCertEntity.SupplierTypeCode, supplierEntity.SupplierName)
  565. if len(processInstanceId) <= 0 {
  566. panic("工作流启动失败!")
  567. }
  568. supplierCertEntity.AuditIndex += 1
  569. }
  570. // 将启动和工作流,选择的初审和复审人员保存下来
  571. cols := []string{
  572. "Id",
  573. "WorkflowId",
  574. "BusinessKey",
  575. "ProcessKey",
  576. "CommitComId",
  577. "AuditIndex",
  578. }
  579. supplierCertEntity.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
  580. supplierCertEntity.BusinessKey = businessKey
  581. supplierCertEntity.WorkflowId = processInstanceId
  582. supplierCertEntity.CommitComId = unitId
  583. certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  584. var ActiComplete workflow.ActiCompleteVM
  585. ActiComplete.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
  586. ActiComplete.BusinessKey = businessKey
  587. ActiComplete.UserId = this.User.Id
  588. ActiComplete.Result = "1" //提交给二级单位分办
  589. ActiComplete.Remarks = AuditRemark
  590. ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
  591. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  592. if receiveVal != "true" {
  593. panic("工作流异常,请联系管理员!" + receiveVal)
  594. }
  595. }
  596. // @Title 二级单位提交审批 --启动工作流
  597. // @Description 二级单位提交审批
  598. // @Success 200 {object} controllers.Request
  599. // @router /unit-audit/:id [post]
  600. func (this *OilSupplierCertController) UnitAuditEntity() {
  601. certId := this.Ctx.Input.Param(":id")
  602. firstAudit := this.GetString("FirstAudit")
  603. secondAudit := this.GetString("SecondAudit")
  604. thirdAudit := this.GetString("ThirdAudit")
  605. // typeCode := this.GetString("TypeCode")
  606. AuditRemark := this.GetString("AuditRemark")
  607. userId := this.User.Id
  608. var baseUserInfo userRole.Base_User
  609. userService := userRole.GetUserService(utils.DBE)
  610. userService.GetEntityById(userId, &baseUserInfo)
  611. unitId := baseUserInfo.UnitId
  612. var errinfo ErrorDataInfo
  613. defer func() { //finally处理失败的异常
  614. if err := recover(); err != nil {
  615. errinfo.Message = err.(string)
  616. errinfo.Code = -1
  617. this.Data["json"] = &errinfo
  618. this.ServeJSON()
  619. } else {
  620. //返回正确结果
  621. errinfo.Message = "审核提交成功"
  622. errinfo.Code = 0
  623. this.Data["json"] = &errinfo
  624. this.ServeJSON()
  625. }
  626. }()
  627. //取出准入表信息
  628. certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  629. var supplierCertEntity suppliercert.OilSupplierCert
  630. certSrv.GetEntityById(certId, &supplierCertEntity)
  631. //检查是否可提交
  632. certSrv.IsSupplierCertCanSubmit(strconv.Itoa(supplierCertEntity.Id), certId)
  633. //取出企业主表
  634. supplierSvc := supplier.GetOilSupplierService(utils.DBE)
  635. var supplierEntity supplier.OilSupplier
  636. supplierSvc.GetEntityById(supplierCertEntity.SupplierId, &supplierEntity)
  637. svcActiviti := workflow.GetActivitiService(utils.DBE)
  638. //启动工作流
  639. businessKey := supplierCertEntity.BusinessKey
  640. processInstanceId := supplierCertEntity.WorkflowId
  641. // 如果被驳回,不再新启工作流
  642. if processInstanceId == "" {
  643. //启动工作流
  644. businessKey = certId + "-" + strconv.Itoa(supplierCertEntity.AuditIndex)
  645. processInstanceId = svcActiviti.StartProcess2(workflow.OIL_ENUSER_SUPPLIER_APPLY, businessKey, this.User.Id, "1", supplierCertEntity.SupplierTypeCode, supplierEntity.SupplierName)
  646. if len(processInstanceId) <= 0 {
  647. panic("工作流启动失败!")
  648. }
  649. supplierCertEntity.AuditIndex += 1
  650. }
  651. // 将启动和工作流,选择的初审和复审人员保存下来
  652. cols := []string{
  653. "Id",
  654. "FirstAudit",
  655. "SecondAudit",
  656. "thirdAudit",
  657. "WorkflowId",
  658. "BusinessKey",
  659. "ProcessKey",
  660. "CommitComId",
  661. "AuditIndex",
  662. }
  663. supplierCertEntity.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
  664. supplierCertEntity.BusinessKey = businessKey
  665. supplierCertEntity.WorkflowId = processInstanceId
  666. supplierCertEntity.FirstAudit, _ = strconv.Atoi(firstAudit)
  667. supplierCertEntity.SecondAudit, _ = strconv.Atoi(secondAudit)
  668. supplierCertEntity.ThirdAudit, _ = strconv.Atoi(thirdAudit)
  669. supplierCertEntity.CommitComId = strconv.Itoa(unitId)
  670. certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  671. var ActiComplete workflow.ActiCompleteVM
  672. ActiComplete.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
  673. ActiComplete.BusinessKey = supplierCertEntity.BusinessKey
  674. ActiComplete.UserId = this.User.Id // 当前审批操作人员
  675. //ActiComplete.UserNames = secondAudit // 当前审批操作人员
  676. ActiComplete.Result = "2" //分办提交给二级单位初审
  677. ActiComplete.Remarks = AuditRemark
  678. ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
  679. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  680. if receiveVal != "true" {
  681. panic("工作流异常,请联系管理员!" + receiveVal)
  682. }
  683. }
  684. // @Title 二级单位分办 --审批
  685. // @Description 二级分办
  686. // @Success 200 {object} controllers.Request
  687. // @router /separate-audit/:id [post]
  688. func (this *OilSupplierCertController) SeparateAuditEntity() {
  689. certId := this.Ctx.Input.Param(":id")
  690. firstAudit := this.GetString("FirstAudit")
  691. secondAudit := this.GetString("SecondAudit")
  692. thirdAudit := this.GetString("ThirdAudit")
  693. // typeCode := this.GetString("TypeCode")
  694. AuditRemark := this.GetString("AuditRemark")
  695. var errinfo ErrorDataInfo
  696. defer func() { //finally处理失败的异常
  697. if err := recover(); err != nil {
  698. errinfo.Message = err.(string)
  699. errinfo.Code = -1
  700. this.Data["json"] = &errinfo
  701. this.ServeJSON()
  702. } else {
  703. //返回正确结果
  704. errinfo.Message = "审核提交成功"
  705. errinfo.Code = 0
  706. this.Data["json"] = &errinfo
  707. this.ServeJSON()
  708. }
  709. }()
  710. // 取出准入表信息
  711. certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  712. var supplierCertEntity suppliercert.OilSupplierCert
  713. certSrv.GetEntityById(certId, &supplierCertEntity)
  714. // 将选择的初审和复审人员保存下来
  715. cols := []string{
  716. "FirstAudit",
  717. "SecondAudit",
  718. "thirdAudit",
  719. }
  720. supplierCertEntity.FirstAudit, _ = strconv.Atoi(firstAudit)
  721. supplierCertEntity.SecondAudit, _ = strconv.Atoi(secondAudit)
  722. supplierCertEntity.ThirdAudit, _ = strconv.Atoi(thirdAudit) // 专业处室
  723. certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  724. svcActiviti := workflow.GetActivitiService(utils.DBE)
  725. var ActiComplete workflow.ActiCompleteVM
  726. ActiComplete.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
  727. ActiComplete.BusinessKey = supplierCertEntity.BusinessKey
  728. ActiComplete.UserId = this.User.Id // 审批人员
  729. // ActiComplete.UserNames = secondAudit // 初审人员
  730. ActiComplete.Result = "1" //分办完成后只向前走
  731. ActiComplete.Remarks = AuditRemark
  732. ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
  733. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  734. if receiveVal != "true" {
  735. panic("工作流异常,请联系管理员!" + receiveVal)
  736. }
  737. }
  738. // @Title 分办之后的各级审批 --审批 包含:二级单位初审、复审, 业务处室专业审核, 集中评审
  739. // @Description 分办之后的各级审批
  740. // @Success 200 {object} controllers.Request
  741. // @router /common-audit/:id [post]
  742. func (this *OilSupplierCertController) CommonAuditEntity() {
  743. certId := this.Ctx.Input.Param(":id")
  744. result := this.GetString("result")
  745. AuditRemark := this.GetString("AuditRemark")
  746. var errinfo ErrorDataInfo
  747. defer func() { //finally处理失败的异常
  748. if err := recover(); err != nil {
  749. errinfo.Message = err.(string)
  750. errinfo.Code = -1
  751. this.Data["json"] = &errinfo
  752. this.ServeJSON()
  753. } else {
  754. //返回正确结果
  755. errinfo.Message = "审核提交成功"
  756. errinfo.Code = 0
  757. this.Data["json"] = &errinfo
  758. this.ServeJSON()
  759. }
  760. }()
  761. //取出准入表信息
  762. certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  763. var supplierCertEntity suppliercert.OilSupplierCert
  764. certSrv.GetEntityById(certId, &supplierCertEntity)
  765. svcActiviti := workflow.GetActivitiService(utils.DBE)
  766. var ActiComplete workflow.ActiCompleteVM
  767. ActiComplete.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
  768. ActiComplete.BusinessKey = supplierCertEntity.BusinessKey
  769. ActiComplete.UserId = this.User.Id //审批人员
  770. ActiComplete.Result = result //前台审批[同意、不同意]
  771. ActiComplete.Remarks = AuditRemark
  772. ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
  773. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  774. if receiveVal != "true" {
  775. panic("工作流异常,请联系管理员!" + receiveVal)
  776. }
  777. }
  778. // @Title 业务处室接收分办 专业审批
  779. // @Description 业务处室接收分办 专业审批
  780. // @Success 200 {object} controllers.Request
  781. // @router /business-separate-audit/:id [post]
  782. func (this *OilSupplierCertController) BusinessOfficeSeparateAuditEntity() {
  783. certId := this.Ctx.Input.Param(":id")
  784. ProfessionalAudit := this.GetString("ProfessionalAudit")
  785. AuditRemark := this.GetString("AuditRemark")
  786. var errInfo ErrorDataInfo
  787. defer func() { //finally处理失败的异常
  788. if err := recover(); err != nil {
  789. errInfo.Message = err.(string)
  790. errInfo.Code = -1
  791. this.Data["json"] = &errInfo
  792. this.ServeJSON()
  793. } else {
  794. //返回正确结果
  795. errInfo.Message = "审核提交成功"
  796. errInfo.Code = 0
  797. this.Data["json"] = &errInfo
  798. this.ServeJSON()
  799. }
  800. }()
  801. //取出准入表信息
  802. certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  803. var supplierCertEntity suppliercert.OilSupplierCert
  804. certSrv.GetEntityById(certId, &supplierCertEntity)
  805. svcActiviti := workflow.GetActivitiService(utils.DBE)
  806. var ActiComplete workflow.ActiCompleteVM
  807. ActiComplete.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
  808. ActiComplete.BusinessKey = supplierCertEntity.BusinessKey
  809. ActiComplete.UserId = this.User.Id //审批人员
  810. ActiComplete.Result = "1" //前台审批[同意、不同意]
  811. ActiComplete.UserNames = ProfessionalAudit
  812. ActiComplete.Remarks = AuditRemark
  813. ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
  814. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  815. if receiveVal != "true" {
  816. panic("工作流异常,请联系管理员!" + receiveVal)
  817. }
  818. cols := []string{
  819. "Id",
  820. "Status",
  821. "ProfessionalAudit",
  822. }
  823. supplierCertId := strings.Split(supplierCertEntity.BusinessKey, "-")[0]
  824. supplierCertEntity.Status = suppliercert.PROF_AUDIT_STATUS //专业处室接收
  825. supplierCertEntity.ProfessionalAudit, _ = strconv.Atoi(ProfessionalAudit)
  826. certSrv.UpdateEntityByIdCols(supplierCertId, supplierCertEntity, cols)
  827. }
  828. // @Title 集中审批
  829. // @Description 集中审批
  830. // @Success 200 {object} controllers.Request
  831. // @router /concentrate-audit/:id [post]
  832. func (this *OilSupplierCertController) ConcentrateAuditEntity() {
  833. certId := this.Ctx.Input.Param(":id")
  834. AuditRemark := this.GetString("AuditRemark")
  835. var errInfo ErrorDataInfo
  836. defer func() { //finally处理失败的异常
  837. if err := recover(); err != nil {
  838. errInfo.Message = err.(string)
  839. errInfo.Code = -1
  840. this.Data["json"] = &errInfo
  841. this.ServeJSON()
  842. } else {
  843. //返回正确结果
  844. errInfo.Message = "审核提交成功"
  845. errInfo.Code = 0
  846. this.Data["json"] = &errInfo
  847. this.ServeJSON()
  848. }
  849. }()
  850. //取出准入表信息
  851. certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  852. var supplierCertEntity suppliercert.OilSupplierCert
  853. certSrv.GetEntityById(certId, &supplierCertEntity)
  854. svcActiviti := workflow.GetActivitiService(utils.DBE)
  855. var ActiComplete workflow.ActiCompleteVM
  856. ActiComplete.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
  857. ActiComplete.BusinessKey = supplierCertEntity.BusinessKey
  858. ActiComplete.UserId = this.User.Id //审批人员
  859. ActiComplete.Result = "1" //前台审批[同意、不同意]
  860. ActiComplete.Remarks = AuditRemark
  861. ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
  862. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  863. if receiveVal != "true" {
  864. panic("工作流异常,请联系管理员!" + receiveVal)
  865. }
  866. //cols := []string{
  867. // "Id",
  868. // "Status",
  869. //}
  870. //supplierCertId := strings.Split(supplierCertEntity.BusinessKey, "-")[0]
  871. //supplierCertEntity.Status = suppliercert.PROF_AUDIT_STATUS //专业处室接收
  872. //certSrv.UpdateEntityByIdCols(supplierCertId, supplierCertEntity, cols)
  873. }
  874. // @Title 确认是否入库
  875. // @Description 确认是否入库
  876. // @Success 200 {object} controllers.Request
  877. // @router /update-is-storage/:id [post]
  878. func (this *OilSupplierCertController) UpdateIsStorage() {
  879. id := this.Ctx.Input.Param(":id")
  880. result := this.GetString("result")
  881. AccessCardNo := this.GetString("AccessCardNo")
  882. BackRemark := this.GetString("BackRemark")
  883. SupplierId := this.GetString("SupplierId")
  884. var errinfo ErrorInfo
  885. if id == "" {
  886. errinfo.Message = "操作失败!请求信息不完整"
  887. errinfo.Code = -2
  888. this.Data["json"] = &errinfo
  889. this.ServeJSON()
  890. return
  891. }
  892. defer func() { //finally处理失败的异常
  893. if err := recover(); err != nil {
  894. errinfo.Message = err.(string)
  895. errinfo.Code = -1
  896. this.Data["json"] = &errinfo
  897. this.ServeJSON()
  898. } else {
  899. //返回正确结果
  900. errinfo.Message = "入库成功"
  901. errinfo.Code = 0
  902. this.Data["json"] = &errinfo
  903. this.ServeJSON()
  904. }
  905. }()
  906. var supplierCertEntity suppliercert.OilSupplierCert
  907. certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  908. certSrv.GetEntityById(id, &supplierCertEntity)
  909. AuditRemark := ""
  910. if result == "1" {
  911. AuditRemark = "审批通过, 已入库。"
  912. var supplierEntity supplier.OilSupplier
  913. srv := supplier.GetOilSupplierService(utils.DBE)
  914. srv.GetEntityById(SupplierId, &supplierEntity)
  915. var srvCols []string
  916. if supplierCertEntity.SupplierTypeCode == "01" {
  917. supplierEntity.WZAccessCardNo = AccessCardNo
  918. srvCols = append(srvCols, "WZAccessCardNo")
  919. } else if supplierCertEntity.SupplierTypeCode == "02" {
  920. supplierEntity.WZAccessCardNo = AccessCardNo
  921. srvCols = append(srvCols, "JSAccessCardNo")
  922. } else if supplierCertEntity.SupplierTypeCode == "03" {
  923. supplierEntity.WZAccessCardNo = AccessCardNo
  924. srvCols = append(srvCols, "JFAccessCardNo")
  925. } else {
  926. panic("准入类别错误!")
  927. }
  928. srv.UpdateEntityByIdCols(SupplierId, &supplierEntity, srvCols)
  929. } else {
  930. if BackRemark != "" {
  931. AuditRemark = BackRemark
  932. } else {
  933. AuditRemark = "待入库未通过。"
  934. }
  935. }
  936. svcActiviti := workflow.GetActivitiService(utils.DBE)
  937. var ActiComplete workflow.ActiCompleteVM
  938. ActiComplete.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
  939. ActiComplete.BusinessKey = supplierCertEntity.BusinessKey
  940. ActiComplete.UserId = this.User.Id //审批人员
  941. ActiComplete.Result = "1"
  942. ActiComplete.Remarks = AuditRemark
  943. ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
  944. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  945. if receiveVal != "true" {
  946. panic("工作流异常,请联系管理员!" + receiveVal)
  947. }
  948. }
  949. // @Title 获取实体
  950. // @Description 获取实体
  951. // @Success 200 {object} controllers.Request
  952. // @router /isaccess [get]
  953. func (this *OilSupplierCertController) IsAccess() {
  954. auditstepcode := this.GetString("auditstepcode")
  955. processkey := this.GetString("processkey")
  956. id := this.GetString("id")
  957. //var users []userRole.Base_RoleList
  958. //var auditWorkflow auditsetting.Base_OilAuditSetting
  959. //rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
  960. res := false
  961. if auditstepcode == workflow.PROF_CONCENT { // 集中审批
  962. //rsvc.GetAuditStepRoleEntity(OilAuditSettingName, this.User.DepartmentId, workflow.PROF_AUDIT, &auditWorkflow)
  963. //users = rsvc.GetUserByRole("10000204", this.User.AccCode)
  964. //for _, user := range users {
  965. // if this.User.Id == strconv.Itoa(int(user.Id)) {
  966. // res = true
  967. // break
  968. // }
  969. //}
  970. var setting auditsetting.Base_OilAuditSetting
  971. svc := organize.GetOrganizeService(utils.DBE)
  972. where := "AuditStepCode='" + auditstepcode + "'"
  973. svc.GetEntity(&setting, where)
  974. res = svc.UserInRoleById(this.User.Id, strconv.Itoa(setting.RoleId))
  975. } else if auditstepcode == workflow.PAYING_FEE { // 待交费
  976. certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  977. var supplierCertEntity suppliercert.OilSupplierCert
  978. certSrv.GetEntityById(id, &supplierCertEntity)
  979. res1, res2, res3, res4 := false, false, false, false
  980. if strconv.Itoa(supplierCertEntity.CreateUserId) == this.User.Id {
  981. res1 = true
  982. }
  983. certAppendSrv := suppliercertappend.GetOilSupplierCertAppendService(utils.DBE)
  984. var supplierCertAppendEntity suppliercertappend.OilSupplierCertAppend
  985. certAppendSrv.GetEntityById(id, &supplierCertAppendEntity)
  986. if strconv.Itoa(supplierCertAppendEntity.CreateUserId) == this.User.Id {
  987. res2 = true
  988. }
  989. annualSrv := annualaudit.GetOilAnnualAuditService(utils.DBE)
  990. var annualEntity annualaudit.OilAnnualAudit
  991. annualSrv.GetEntityById(id, &annualEntity)
  992. if strconv.Itoa(annualEntity.CreateUserId) == this.User.Id {
  993. res3 = true
  994. }
  995. infoChangeSrv := infochange.GetInfoChangeService(utils.DBE)
  996. var infoChangeEntity infochange.OilInfoChange
  997. infoChangeSrv.GetEntityById(id, &infoChangeEntity)
  998. if strconv.Itoa(infoChangeEntity.CreateUserId) == this.User.Id {
  999. res4 = true
  1000. }
  1001. if res1 || res2 || res3 || res4 {
  1002. res = true
  1003. }
  1004. } else {
  1005. //var users []suppliercert.UserList
  1006. //where := "OrganizeId=" + this.User.DepartmentId + " and AuditStepCode='" + auditstepcode + "'"
  1007. //rsvc.GetEntitysByWhere(OilAuditSettingName,where, &users)
  1008. //rsvc.GetAuditStepRoleEntity(OilAuditSettingName, this.User.DepartmentId, auditstepcode, &auditWorkflow)
  1009. //users = rsvc.GetUserByRole(strconv.Itoa(auditWorkflow.RoleId), this.User.AccCode)
  1010. //var users []userRole.Base_RoleList
  1011. //certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  1012. //certSrv.GetAuditUser(this.User.DepartmentId, auditstepcode, &users)
  1013. var setting auditsetting.Base_OilAuditSetting
  1014. svc := organize.GetOrganizeService(utils.DBE)
  1015. where := "AuditStepCode='" + auditstepcode + "'"
  1016. svc.GetEntity(&setting, where)
  1017. res = svc.UserInRoleById(this.User.Id, strconv.Itoa(setting.RoleId))
  1018. if res {
  1019. actisvc := workflow.GetActivitiService(utils.DBE)
  1020. ids := actisvc.GetMyTasks(processkey, this.User.Id)
  1021. res = strings.Contains(ids, id)
  1022. }
  1023. //for _, user := range users {
  1024. // if this.User.Id == strconv.Itoa(int(user.Id)) {
  1025. // res = true
  1026. // break
  1027. // }
  1028. //}
  1029. }
  1030. this.Data["json"] = res
  1031. this.ServeJSON()
  1032. }
  1033. // @Title 获取准入编码
  1034. // @Description 获取准入编码
  1035. // @Success 200 {object} controllers.Request
  1036. // @router /createaccesscardno/:type [get]
  1037. func (this *OilSupplierCertController) CreateAccessCardNo() {
  1038. Id := this.GetString("Id")
  1039. certId := this.GetString(("SupplierCertId"))
  1040. typeCode := this.Ctx.Input.Param(":type")
  1041. codecSvc := codecsequence.GetCodecSequenceService(utils.DBE)
  1042. var entitycert suppliercert.OilSupplierCert
  1043. var entity supplier.OilSupplier
  1044. //where := "Id = " + Id
  1045. //codecSvc.GetEntities(&model, "")
  1046. seqStr := ""
  1047. cols := []string{}
  1048. if (typeCode == "01") { // 物质
  1049. has := true
  1050. for has {
  1051. seqStr = codecSvc.GetWZAccessCardNo(this.User.AccCode)
  1052. where := "SupplierTypeCode='" + typeCode + "' and AccessCardNo='" + seqStr + "'"
  1053. has = codecSvc.GetEntity(&entitycert, where)
  1054. }
  1055. cols = []string{"WZAccessCardNo"}
  1056. entity.WZAccessCardNo = seqStr
  1057. } else if typeCode == "03" { //技术服务
  1058. has := true
  1059. for has {
  1060. seqStr = codecSvc.GetJFAccessCardNo(this.User.AccCode)
  1061. where := "SupplierTypeCode='" + typeCode + "' and AccessCardNo='" + seqStr + "'"
  1062. has = codecSvc.GetEntity(&entitycert, where)
  1063. }
  1064. cols = []string{"JFAccessCardNo"}
  1065. entity.JFAccessCardNo = seqStr
  1066. } else if typeCode == "02" { // 基建
  1067. has := true
  1068. for has {
  1069. seqStr = codecSvc.GetJSAccessCardNo(this.User.AccCode)
  1070. where := "SupplierTypeCode='" + typeCode + "' and AccessCardNo='" + seqStr + "'"
  1071. has = codecSvc.GetEntity(&entitycert, where)
  1072. }
  1073. cols = []string{"JSAccessCardNo"}
  1074. entity.JSAccessCardNo = seqStr
  1075. }
  1076. codecSvc.UpdateEntityByIdCols(Id, &entity, cols)
  1077. var cert suppliercert.OilSupplierCert
  1078. certcols := []string{"AccessCardNo"}
  1079. cert.AccessCardNo = seqStr
  1080. codecSvc.UpdateEntityByIdCols(certId, &cert, certcols)
  1081. this.Data["json"] = seqStr
  1082. this.ServeJSON()
  1083. }
  1084. // @Title 修改准入标识
  1085. // @Description 修改准入标识
  1086. // @Success 200 {object} controllers.Request
  1087. // @router /updateinflag/ [get]
  1088. func (this *OilSupplierCertController) UpdateInFlag() {
  1089. t := time.Now()
  1090. session := utils.DBE.NewSession()
  1091. var certentitys []suppliercert.OilSupplierCert
  1092. svc := suppliercert.GetOilSupplierCertSession(session)
  1093. defer func() {
  1094. session.Close()
  1095. }()
  1096. err := session.Begin()
  1097. svc.GetEntities(&certentitys, "InFlag!='3'")
  1098. currenttime := time.Now()
  1099. //.Format("2006-01-02")
  1100. for i := 0; i < len(certentitys); i++ {
  1101. if currenttime.After(certentitys[i].ApplyTime) && !currenttime.After(certentitys[i].ApplyTime.AddDate(1, 0, 0)) && certentitys[i].InFlag != "2" {
  1102. var certentity suppliercert.OilSupplierCert
  1103. certentity.InFlag = "2"
  1104. certentity.Remark = "未年审"
  1105. cols := []string{"InFlag", "Remark"}
  1106. _, err = svc.UpdateEntityByIdCols(certentitys[i].Id, &certentity, cols)
  1107. if err != nil {
  1108. session.Rollback()
  1109. }
  1110. }
  1111. if currenttime.After(certentitys[i].ApplyTime.AddDate(1, 0, 0)) {
  1112. fmt.Println(time.Now().Format("2006-01-02"), certentitys[i].ApplyTime.AddDate(1, 0, 0).Format("2006-01-02"))
  1113. var certentity suppliercert.OilSupplierCert
  1114. certentity.InFlag = "3"
  1115. certentity.Remark = "超1年未年审"
  1116. cols := []string{"InFlag", "Remark"}
  1117. _, err = svc.UpdateEntityByIdCols(certentitys[i].Id, &certentity, cols)
  1118. if err != nil {
  1119. session.Rollback()
  1120. }
  1121. }
  1122. }
  1123. err = session.Commit()
  1124. fmt.Println(err)
  1125. elapsed := time.Since(t)
  1126. fmt.Println(elapsed, "更新准入标识")
  1127. }
  1128. // @Title 退回
  1129. // @Description
  1130. // @Success 200 {object} controllers.Request
  1131. // @router /backstatus/:Id [post]
  1132. func (this *OilSupplierCertController) BackStatus() {
  1133. id := this.Ctx.Input.Param(":Id")
  1134. status := this.GetString("Status")
  1135. backRemark := this.GetString("BackRemark")
  1136. var entity suppliercert.OilSupplierCert
  1137. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  1138. cols := []string{"Status", "BackRemark"}
  1139. entity.Status = status
  1140. entity.BackRemark = backRemark
  1141. _, err := svc.UpdateEntityByIdCols(id, &entity, cols)
  1142. var errinfo ErrorDataInfo
  1143. if err == nil {
  1144. //TODO: 入库改用大工作流
  1145. var activity oilactivity.OilActivity
  1146. where := "EntityId=" + id + " and ActType='" + oilactivity.STORAGE + "'"
  1147. svc.GetEntity(&activity, where)
  1148. svcActiviti := workflow.GetActivitiService(utils.DBE)
  1149. var ActiComplete workflow.ActiCompleteVM
  1150. ActiComplete.ProcessKey = activity.ProcessKey //TODO: 获取工作流KEY
  1151. ActiComplete.BusinessKey = activity.BusinessKey //TODO: 获取业务表ID
  1152. ActiComplete.UserId = this.User.Id
  1153. ActiComplete.Remarks = ""
  1154. ActiComplete.Result = "1"
  1155. svcActiviti.TaskComplete(ActiComplete)
  1156. errinfo.Message = "操作成功!"
  1157. errinfo.Code = 00
  1158. this.Data["json"] = &errinfo
  1159. this.ServeJSON()
  1160. } else {
  1161. errinfo.Message = "操作失败!"
  1162. errinfo.Code = -1
  1163. this.Data["json"] = &errinfo
  1164. this.ServeJSON()
  1165. }
  1166. }
  1167. // @Title 保存准入编码
  1168. // @Description 保存准入编码
  1169. // @Success 200 {object} controllers.Request
  1170. // @router /saveaccesscardno/:Id [get]
  1171. func (this *OilSupplierCertController) SaveAccessCardNo() {
  1172. id := this.Ctx.Input.Param(":Id")
  1173. certId := this.GetString(("SupplierCertId"))
  1174. typeCode := this.GetString("typeCode")
  1175. accessCardNo := this.GetString("AccessCardNo")
  1176. var model []suppliercert.OilSupplierCert
  1177. var supplier supplier.OilSupplier
  1178. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  1179. where := "AccessCardNo='" + accessCardNo + "'"
  1180. svc.GetEntities(&model, where)
  1181. supcols := []string{}
  1182. if model == nil || len(model) == 0 {
  1183. if (typeCode == "01") { // 物质
  1184. supplier.WZAccessCardNo = accessCardNo
  1185. supcols = []string{"WZAccessCardNo"}
  1186. } else if typeCode == "03" { //技术服务
  1187. supplier.JFAccessCardNo = accessCardNo
  1188. supcols = []string{"JFAccessCardNo"}
  1189. } else if typeCode == "02" { // 基建
  1190. supplier.JSAccessCardNo = accessCardNo
  1191. supcols = []string{"JSAccessCardNo"}
  1192. }
  1193. svc.UpdateEntityByIdCols(id, &supplier, supcols)
  1194. var cert suppliercert.OilSupplierCert
  1195. certcols := []string{"AccessCardNo"}
  1196. cert.AccessCardNo = accessCardNo
  1197. svc.UpdateEntityByIdCols(certId, &cert, certcols)
  1198. var errinfo ErrorDataInfo
  1199. errinfo.Message = "保存成功!"
  1200. errinfo.Code = 0
  1201. this.Data["json"] = &errinfo
  1202. this.ServeJSON()
  1203. } else {
  1204. var errinfo ErrorDataInfo
  1205. errinfo.Message = "准入编码已经存在!"
  1206. errinfo.Code = -1
  1207. this.Data["json"] = &errinfo
  1208. this.ServeJSON()
  1209. }
  1210. }
  1211. // @Title 快到期短信通知
  1212. // @Description 修改准入标识
  1213. // @Success 200 {object} controllers.Request
  1214. // @router /sendingSMS/ [get]
  1215. func (this *OilSupplierCertController) SendingSMS() {
  1216. t := time.Now()
  1217. svcsupp := supplier.GetOilSupplierService(utils.DBE)
  1218. var list []supplier.OilSupplierView
  1219. where := "b.InFlag = '1'"
  1220. svcsupp.GetMyPagingEntitiesWithOrderBytbl(OilSupplierName, OilSupplierCertName, 0, 0, "Id", true, &list, where)
  1221. currenttime := time.Now()
  1222. loginName := "TimingTask"
  1223. if this.User != nil {
  1224. loginName = this.User.Username
  1225. }
  1226. for _, item := range list {
  1227. if currenttime.AddDate(0, 3, 0).Format("2006-01-02") == (item.ApplyTime.Format("2006-01-02")) {
  1228. toMobile := item.Mobile
  1229. msg := "您的" + item.SupplierTypeName + "准入还有3个月到期"
  1230. msgService := msg2.GetMsgService(utils.DBE)
  1231. msgService.HandleMsg(toMobile, msg, "1-1", item.CreateBy, item.ContactName, strconv.Itoa(item.CreateUserId), loginName)
  1232. }
  1233. if currenttime.AddDate(0, 2, 0).Format("2006-01-02") == (item.ApplyTime.Format("2006-01-02")) {
  1234. toMobile := item.Mobile
  1235. msg := "您的" + item.SupplierTypeName + "准入还有2个月到期"
  1236. msgService := msg2.GetMsgService(utils.DBE)
  1237. msgService.HandleMsg(toMobile, msg, "1-1", item.CreateBy, item.ContactName, strconv.Itoa(item.CreateUserId), loginName)
  1238. }
  1239. if currenttime.AddDate(0, 1, 0).Format("2006-01-02") == (item.ApplyTime.Format("2006-01-02")) {
  1240. toMobile := item.Mobile
  1241. msg := "您的" + item.SupplierTypeName + "准入还有1个月到期"
  1242. msgService := msg2.GetMsgService(utils.DBE)
  1243. msgService.HandleMsg(toMobile, msg, "1-1", item.CreateBy, item.ContactName, strconv.Itoa(item.CreateUserId), loginName)
  1244. }
  1245. }
  1246. elapsed := time.Since(t)
  1247. fmt.Println(elapsed, "快到期提醒")
  1248. }
  1249. // @Title 资质快到期短信通知
  1250. // @Description
  1251. // @Success 200 {object} controllers.Request
  1252. // @router /sendingSMSSupplierFile/ [get]
  1253. func (this *OilSupplierCertController) SendingSMSSupplierFile() {
  1254. t := time.Now()
  1255. svcsupp := supplier.GetOilSupplierService(utils.DBE)
  1256. paramSvc := baseparameter.GetBaseparameterService(utils.DBE)
  1257. month, _ := strconv.Atoi(paramSvc.GetBaseparameterMessage("GFGL", "paramset", "QualificationMonth"))
  1258. var expireFile []supplier.ExpireFile
  1259. where := " b.EffectDate LIKE '%" + time.Now().AddDate(0, month, 0).Format("2006-01-02") + "%'"
  1260. err := svcsupp.GetExpireFile(OilSupplierName, OilSupplierFileName, &expireFile, where)
  1261. if err == nil {
  1262. for _, item := range expireFile {
  1263. fileName := ""
  1264. if utf8.RuneCountInString(item.NeedAllFile) > 50 {
  1265. fileName = string([]rune(item.NeedAllFile)[0:50])
  1266. fileName = fileName[0:strings.LastIndex(fileName, ";")] + "等资质"
  1267. } else {
  1268. fileName = item.NeedAllFile
  1269. }
  1270. toMobile := item.Mobile
  1271. msg := "您的" + fileName + "还有" + strconv.Itoa(month) + "个月到期"
  1272. msgService := msg2.GetMsgService(utils.DBE)
  1273. loginName := "TimingTask"
  1274. if this.User != nil {
  1275. loginName = this.User.Username
  1276. }
  1277. // TODO typeCode值
  1278. msgService.HandleMsg(toMobile, msg, "1-1", item.CreateBy, item.ContactName, strconv.Itoa(item.CreateUserId), loginName)
  1279. }
  1280. }
  1281. elapsed := time.Since(t)
  1282. fmt.Println(elapsed, "资质到期提醒")
  1283. }
  1284. // @Title 资质
  1285. // @Description
  1286. // @Success 200 {object} controllers.Request
  1287. // @router /changeSupplierStatus/ [get]
  1288. func (this *OilSupplierCertController) ChangeSupplierStatus() {
  1289. svcsupp := supplier.GetOilSupplierService(utils.DBE)
  1290. var fileData []supplier.ExpireFileList
  1291. where := " b.EffectDate <= '" + time.Now().AddDate(0, 0, -1).Format("2006-01-02") + "'"
  1292. svcsupp.GetExpireFileList(OilSupplierName, OilSupplierFileName, &fileData, where)
  1293. for _, item := range fileData {
  1294. var sert suppliercert.OilSupplierCert
  1295. cols := []string{
  1296. "InFlag",
  1297. "Remark",
  1298. }
  1299. sert.InFlag = "2"
  1300. sert.Remark = "资质已到期"
  1301. where := "SupplierId=" + strconv.Itoa(item.Id) + " AND InFlag = '1'"
  1302. if item.SupplierTypeCode != "000" {
  1303. where = where + " and SupplierTypeCode='" + item.SupplierTypeCode + "'"
  1304. }
  1305. svcsupp.UpdateEntityBywheretbl(OilSupplierCertName, &sert, cols, where)
  1306. }
  1307. }
  1308. // @Title 更新Inflag状态
  1309. // @Description 企业入库
  1310. // @Success 200 {object} controllers.Request
  1311. // @router /reinput/:id [post]
  1312. func (this *OilSupplierCertController) ReInput() {
  1313. id := this.Ctx.Input.Param(":id")
  1314. var errinfo ErrorInfo
  1315. if id == "" {
  1316. errinfo.Message = "操作失败!请求信息不完整"
  1317. errinfo.Code = -2
  1318. this.Data["json"] = &errinfo
  1319. this.ServeJSON()
  1320. return
  1321. }
  1322. session := utils.DBE.NewSession()
  1323. svc := suppliercert.GetOilSupplierCertSession(session)
  1324. defer func() {
  1325. session.Close()
  1326. }()
  1327. err := session.Begin()
  1328. var model []suppliercert.Del_OilSupplierCert
  1329. where := "SupplierId=" + id
  1330. var sql string
  1331. sql = "select * from " + OilSupplierCertName + " where " + where
  1332. utils.DBE.SQL(sql).Find(&model)
  1333. isdelsupplier := false
  1334. if model != nil && len(model) > 0 {
  1335. isdelsupplier = true
  1336. }
  1337. for _, item := range model {
  1338. if item.InFlag == "3" {
  1339. where := "Id=" + strconv.Itoa(item.Id)
  1340. err = svc.DeleteEntityBytbl(OilSupplierCertName, where)
  1341. if err != nil {
  1342. session.Rollback()
  1343. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1344. errinfo.Code = -1
  1345. this.Data["json"] = &errinfo
  1346. this.ServeJSON()
  1347. return
  1348. }
  1349. item.DeleteDate = time.Now()
  1350. _, err = svc.InsertEntityBytbl(DelOilSupplierCertName, &item)
  1351. if err != nil {
  1352. session.Rollback()
  1353. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1354. errinfo.Code = -1
  1355. this.Data["json"] = &errinfo
  1356. this.ServeJSON()
  1357. return
  1358. }
  1359. // 交费信息
  1360. var delpay []paymentinfo.Del_OilPaymentInfo
  1361. wherepay := "SupplierCertId=" + strconv.Itoa(model[0].Id)
  1362. var sqlpay string
  1363. sqlpay = "select * from " + OilPaymentInfoName + " where " + wherepay
  1364. utils.DBE.SQL(sqlpay).Find(&delpay)
  1365. err = svc.DeleteEntityBytbl(OilPaymentInfoName, wherepay)
  1366. if err != nil {
  1367. session.Rollback()
  1368. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1369. errinfo.Code = -1
  1370. this.Data["json"] = &errinfo
  1371. this.ServeJSON()
  1372. return
  1373. }
  1374. for idx, _ := range delpay {
  1375. delpay[idx].DeleteDate = time.Now()
  1376. }
  1377. _, err = svc.InsertEntityBytbl(DelOilPaymentInfoName, &delpay)
  1378. if err != nil {
  1379. session.Rollback()
  1380. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1381. errinfo.Code = -1
  1382. this.Data["json"] = &errinfo
  1383. this.ServeJSON()
  1384. return
  1385. }
  1386. // 删除增项记录
  1387. var modelapp []suppliercertappend.Del_OilSupplierCertAppend
  1388. whereapp := "SupplierCertId=" + strconv.Itoa(model[0].Id)
  1389. var sqlapp string
  1390. sqlapp = "select * from " + OilSupplierCertAppendName + " where " + whereapp
  1391. utils.DBE.SQL(sqlapp).Find(&modelapp)
  1392. err = svc.DeleteEntityBytbl(OilSupplierCertAppendName, whereapp)
  1393. if err != nil {
  1394. session.Rollback()
  1395. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1396. errinfo.Code = -1
  1397. this.Data["json"] = &errinfo
  1398. this.ServeJSON()
  1399. return
  1400. }
  1401. for idx, _ := range modelapp {
  1402. modelapp[idx].DeleteDate = time.Now()
  1403. }
  1404. _, err = svc.InsertEntityBytbl(DelOilSupplierCertAppendName, &modelapp)
  1405. if err != nil {
  1406. session.Rollback()
  1407. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1408. errinfo.Code = -1
  1409. this.Data["json"] = &errinfo
  1410. this.ServeJSON()
  1411. return
  1412. }
  1413. // 删除年审记录
  1414. var modelann []annualaudit.Del_OilAnnualAudit
  1415. whereann := "CerId=" + strconv.Itoa(model[0].Id)
  1416. var sqlann string
  1417. sqlann = "select * from " + OilAnnualAuditName + " where " + whereann
  1418. utils.DBE.SQL(sqlann).Find(&modelann)
  1419. err = svc.DeleteEntityBytbl(OilAnnualAuditName, whereann)
  1420. if err != nil {
  1421. session.Rollback()
  1422. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1423. errinfo.Code = -1
  1424. this.Data["json"] = &errinfo
  1425. this.ServeJSON()
  1426. return
  1427. }
  1428. for idx, _ := range modelann {
  1429. modelann[idx].DeleteDate = time.Now()
  1430. }
  1431. _, err = svc.InsertEntityBytbl(DelOilAnnualAuditName, &modelann)
  1432. if err != nil {
  1433. session.Rollback()
  1434. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1435. errinfo.Code = -1
  1436. this.Data["json"] = &errinfo
  1437. this.ServeJSON()
  1438. return
  1439. }
  1440. // 删除准入范围
  1441. var certsup []suppliercertsub.Del_OilSupplierCertSub
  1442. wheresup := "SupplierCertId=" + strconv.Itoa(model[0].Id)
  1443. var sqlsup string
  1444. sqlsup = "select * from " + OilSupplierCertSubName + " where " + wheresup
  1445. utils.DBE.SQL(sqlsup).Find(&certsup)
  1446. err = svc.DeleteEntityBytbl(OilSupplierCertSubName, wheresup)
  1447. if err != nil {
  1448. session.Rollback()
  1449. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1450. errinfo.Code = -1
  1451. this.Data["json"] = &errinfo
  1452. this.ServeJSON()
  1453. return
  1454. }
  1455. for idx, _ := range certsup {
  1456. certsup[idx].DeleteDate = time.Now()
  1457. }
  1458. _, err = svc.InsertEntityBytbl(DelOilSupplierCertSubName, &certsup)
  1459. if err != nil {
  1460. session.Rollback()
  1461. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1462. errinfo.Code = -1
  1463. this.Data["json"] = &errinfo
  1464. this.ServeJSON()
  1465. return
  1466. }
  1467. } else {
  1468. isdelsupplier = false
  1469. }
  1470. }
  1471. if isdelsupplier {
  1472. // 删除企业信息
  1473. var modelsupp supplier.Del_OilSupplier
  1474. where := "Id=" + strconv.Itoa(model[0].SupplierId)
  1475. var sql string
  1476. sql = "select * from " + OilSupplierName + " where " + where
  1477. utils.DBE.SQL(sql).Get(&modelsupp)
  1478. err = svc.DeleteEntityBytbl(OilSupplierName, where)
  1479. if err != nil {
  1480. session.Rollback()
  1481. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1482. errinfo.Code = -1
  1483. this.Data["json"] = &errinfo
  1484. this.ServeJSON()
  1485. return
  1486. }
  1487. modelsupp.DeleteDate = time.Now()
  1488. _, err = svc.InsertEntityBytbl(DelOilSupplierName, &modelsupp)
  1489. if err != nil {
  1490. session.Rollback()
  1491. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1492. errinfo.Code = -1
  1493. this.Data["json"] = &errinfo
  1494. this.ServeJSON()
  1495. return
  1496. }
  1497. // 删除企业资质
  1498. var delfile []supplierfile.Del_OilSupplierFile
  1499. wheref := "SupplierId=" + strconv.Itoa(model[0].SupplierId)
  1500. var sqlw string
  1501. sqlw = "select * from " + OilSupplierFileName + " where " + wheref
  1502. utils.DBE.SQL(sqlw).Find(&delfile)
  1503. err = svc.DeleteEntityBytbl(OilSupplierFileName, wheref)
  1504. if err != nil {
  1505. session.Rollback()
  1506. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1507. errinfo.Code = -1
  1508. this.Data["json"] = &errinfo
  1509. this.ServeJSON()
  1510. return
  1511. }
  1512. for idx, _ := range delfile {
  1513. delfile[idx].DeleteDate = time.Now()
  1514. }
  1515. _, err = svc.InsertEntityBytbl(DelOilSupplierFileName, &delfile)
  1516. if err != nil {
  1517. session.Rollback()
  1518. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1519. errinfo.Code = -1
  1520. this.Data["json"] = &errinfo
  1521. this.ServeJSON()
  1522. return
  1523. }
  1524. // 删除信息变更
  1525. var delinfo []infochange.Del_OilInfoChange
  1526. whereinfo := "SupplierId=" + strconv.Itoa(model[0].SupplierId)
  1527. var sqlinfo string
  1528. sqlinfo = "select * from " + OilInfoChangeName + " where " + whereinfo
  1529. utils.DBE.SQL(sqlinfo).Find(&delinfo)
  1530. err = svc.DeleteEntityBytbl(OilInfoChangeName, whereinfo)
  1531. if err != nil {
  1532. session.Rollback()
  1533. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1534. errinfo.Code = -1
  1535. this.Data["json"] = &errinfo
  1536. this.ServeJSON()
  1537. return
  1538. }
  1539. for idx, _ := range delinfo {
  1540. delinfo[idx].DeleteDate = time.Now()
  1541. }
  1542. _, err = svc.InsertEntityBytbl(DelOilInfoChangeName, &delinfo)
  1543. if err != nil {
  1544. session.Rollback()
  1545. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1546. errinfo.Code = -1
  1547. this.Data["json"] = &errinfo
  1548. this.ServeJSON()
  1549. return
  1550. }
  1551. }
  1552. err = session.Commit()
  1553. if err == nil {
  1554. errinfo.Message = "提交成功!"
  1555. errinfo.Code = 0
  1556. this.Data["json"] = &errinfo
  1557. this.ServeJSON()
  1558. } else {
  1559. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1560. errinfo.Code = -1
  1561. this.Data["json"] = &errinfo
  1562. this.ServeJSON()
  1563. }
  1564. }
  1565. // @Title 修改年审到期时间
  1566. // @Description 修改年审到期时间
  1567. // @Success 200 {object} controllers.Request
  1568. // @router /updateapplytime/:id [post]
  1569. func (this *OilSupplierCertController) UpdateApplyTime() {
  1570. session := utils.DBE.NewSession()
  1571. defer func() {
  1572. session.Close()
  1573. }()
  1574. id := this.Ctx.Input.Param(":id")
  1575. var errinfo ErrorInfo
  1576. if id == "" {
  1577. errinfo.Message = "操作失败!请求信息不完整"
  1578. errinfo.Code = -2
  1579. this.Data["json"] = &errinfo
  1580. this.ServeJSON()
  1581. return
  1582. }
  1583. var model supplierapplytime.OilSupplierApplyTime
  1584. svc := suppliercert.GetOilSupplierCertSession(session)
  1585. var jsonBlob = this.Ctx.Input.RequestBody
  1586. json.Unmarshal(jsonBlob, &model)
  1587. model.CreateOn = time.Now()
  1588. model.CreateBy = this.User.Realname
  1589. model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  1590. //model.OrganizeId, _ = utils.StrTo(this.User.DepartmentId).Int()
  1591. _, err := svc.InsertEntityBytbl(SupplierApplyTimeName, &model)
  1592. if err != nil {
  1593. session.Rollback()
  1594. errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
  1595. errinfo.Code = -1
  1596. this.Data["json"] = &errinfo
  1597. this.ServeJSON()
  1598. return
  1599. }
  1600. var modelcert suppliercert.OilSupplierCert
  1601. modelcert.ApplyTime = model.AfterDate
  1602. if model.AfterDate.Unix() < time.Now().Unix() {
  1603. modelcert.InFlag = "2"
  1604. } else {
  1605. modelcert.InFlag = "1"
  1606. }
  1607. var cols = []string{
  1608. "ApplyTime",
  1609. "InFlag",
  1610. }
  1611. err = svc.UpdateEntityBytbl(OilSupplierCertName, id, &modelcert, cols)
  1612. if err != nil {
  1613. session.Rollback()
  1614. errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
  1615. errinfo.Code = -1
  1616. this.Data["json"] = &errinfo
  1617. this.ServeJSON()
  1618. return
  1619. }
  1620. err = session.Commit()
  1621. if err == nil {
  1622. errinfo.Message = "修改成功!"
  1623. errinfo.Code = 0
  1624. this.Data["json"] = &errinfo
  1625. this.ServeJSON()
  1626. } else {
  1627. errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
  1628. errinfo.Code = -1
  1629. this.Data["json"] = &errinfo
  1630. this.ServeJSON()
  1631. }
  1632. }
  1633. // @Title 获取列表
  1634. // @Description get user by token
  1635. // @Success 200 {object} []suppliercert.OilSupplierCert
  1636. // @router /getapplytimelist [get]
  1637. func (this *OilSupplierCertController) GetApplyTimeList() {
  1638. SupplierCertId := this.GetString("SupplierCertId")
  1639. var model []supplierapplytime.OilSupplierApplyTime
  1640. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  1641. where := "SupplierCertId = " + SupplierCertId
  1642. svc.GetEntities(&model, where)
  1643. var errinfo ErrorDataInfo
  1644. errinfo.Message = "修改成功!"
  1645. errinfo.Code = 0
  1646. errinfo.Item = model
  1647. this.Data["json"] = &model
  1648. this.ServeJSON()
  1649. }
  1650. // @Title 修改增项是否需要限制 针对企业
  1651. // @Description 修改年审到期时间
  1652. // @Success 200 {object} controllers.Request
  1653. // @router /updateisrestrict/:id [post]
  1654. func (this *OilSupplierCertController) UpdateIsRestrict() {
  1655. id := this.Ctx.Input.Param(":id")
  1656. var errinfo ErrorInfo
  1657. if id == "" {
  1658. errinfo.Message = "操作失败!请求信息不完整"
  1659. errinfo.Code = -2
  1660. this.Data["json"] = &errinfo
  1661. this.ServeJSON()
  1662. return
  1663. }
  1664. isRestrict := this.GetString("IsRestrict")
  1665. var model suppliercert.OilSupplierCert
  1666. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  1667. cols := []string{
  1668. "IsRestrict",
  1669. }
  1670. model.IsRestrict, _ = strconv.Atoi(isRestrict)
  1671. err := svc.UpdateEntityBytbl(OilSupplierCertName, id, &model, cols)
  1672. if err == nil {
  1673. errinfo.Message = "修改成功!"
  1674. errinfo.Code = 0
  1675. this.Data["json"] = &errinfo
  1676. this.ServeJSON()
  1677. } else {
  1678. errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
  1679. errinfo.Code = -1
  1680. this.Data["json"] = &errinfo
  1681. this.ServeJSON()
  1682. }
  1683. }
  1684. // @Title 交费用户确认交费
  1685. // @Description 交费用户确认交费
  1686. // @Success 200 {object} controllers.Request
  1687. // @router /update-pay-status/:id [post]
  1688. func (this *OilSupplierCertController) UpdatePayStatus() {
  1689. certId := this.Ctx.Input.Param(":id")
  1690. var errinfo ErrorInfo
  1691. if certId == "" {
  1692. errinfo.Message = "操作失败!请求信息不完整"
  1693. errinfo.Code = -2
  1694. this.Data["json"] = &errinfo
  1695. this.ServeJSON()
  1696. return
  1697. }
  1698. supplierCertSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  1699. var supplierCertEntity suppliercert.OilSupplierCert
  1700. supplierCertSrv.GetEntityById(certId, &supplierCertEntity)
  1701. paySrv := paymentinfo.GetPaymentService(utils.DBE)
  1702. var paymentInfoEntities []paymentinfo.OilPaymentInfo
  1703. err := paySrv.GetPaymentInfoBySrcId(certId, "1", &paymentInfoEntities)
  1704. if err != nil {
  1705. errinfo.Message = "未知错误,请稍后再试!"
  1706. errinfo.Code = -1
  1707. this.Data["json"] = &errinfo
  1708. this.ServeJSON()
  1709. }
  1710. if len(paymentInfoEntities) == 1 {
  1711. for _, item := range paymentInfoEntities {
  1712. if item.IsPay == "1" {
  1713. errinfo.Message = "已确认交费!请耐心等待"
  1714. errinfo.Code = -1
  1715. this.Data["json"] = &errinfo
  1716. this.ServeJSON()
  1717. }
  1718. if item.IsPay == "2" {
  1719. errinfo.Message = "已交费!请勿重复操作!"
  1720. errinfo.Code = -1
  1721. this.Data["json"] = &errinfo
  1722. this.ServeJSON()
  1723. }
  1724. }
  1725. }
  1726. sql :="UPDATE OilPaymentInfo SET IsPay ='1' where SrcId=" + certId + " and PayType='1'"
  1727. supplierCertSrv.DBE.Exec(sql)
  1728. errinfo.Message = "确认交费成功!"
  1729. errinfo.Code = 0
  1730. this.Data["json"] = &errinfo
  1731. this.ServeJSON()
  1732. }