suppliercert.go 61 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042
  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.SupplierId), 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.SupplierId), certId)
  548. stepCode := workflow.GetWorkFlowStepCode(supplierCertEntity.SupplierTypeCode)
  549. auditSettingService := auditsetting.GetOilAuditSettingService(utils.DBE)
  550. approverIds := auditSettingService.GetApproverIdsByStepCodeAndUnitId(stepCode, unitId)
  551. if approverIds == "" {
  552. panic("该分办单位未配置审批人")
  553. }
  554. //取出企业主表
  555. supplierSvc := supplier.GetOilSupplierService(utils.DBE)
  556. var supplierEntity supplier.OilSupplier
  557. //检查是否可提交
  558. supplierSvc.GetEntityById(supplierCertEntity.SupplierId, &supplierEntity)
  559. status, _ := strconv.Atoi(supplierCertEntity.Status)
  560. if status > 0 {
  561. panic("工作流已经启动,请刷新重试!")
  562. }
  563. svcActiviti := workflow.GetActivitiService(utils.DBE)
  564. //启动工作流
  565. businessKey := supplierCertEntity.BusinessKey
  566. processInstanceId := supplierCertEntity.WorkflowId
  567. // 如果被驳回,不再新启工作流
  568. if processInstanceId == "" {
  569. businessKey = certId + "-" + strconv.Itoa(supplierCertEntity.AuditIndex)
  570. processInstanceId = svcActiviti.StartProcess2(workflow.OIL_ENUSER_SUPPLIER_APPLY, businessKey, this.User.Id, "1", supplierCertEntity.SupplierTypeCode, supplierEntity.SupplierName)
  571. if len(processInstanceId) <= 0 {
  572. panic("工作流启动失败!")
  573. }
  574. supplierCertEntity.AuditIndex += 1
  575. }
  576. // 将启动和工作流,选择的初审和复审人员保存下来
  577. cols := []string{
  578. "Id",
  579. "WorkflowId",
  580. "BusinessKey",
  581. "ProcessKey",
  582. "CommitComId",
  583. "AuditIndex",
  584. }
  585. supplierCertEntity.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
  586. supplierCertEntity.BusinessKey = businessKey
  587. supplierCertEntity.WorkflowId = processInstanceId
  588. supplierCertEntity.CommitComId = unitId
  589. certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  590. var ActiComplete workflow.ActiCompleteVM
  591. ActiComplete.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
  592. ActiComplete.BusinessKey = businessKey
  593. ActiComplete.UserId = this.User.Id
  594. ActiComplete.Result = "1" //提交给二级单位分办
  595. ActiComplete.Remarks = AuditRemark
  596. ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
  597. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  598. if receiveVal != "true" {
  599. panic("工作流异常,请联系管理员!" + receiveVal)
  600. }
  601. }
  602. // @Title 二级单位提交审批 --启动工作流
  603. // @Description 二级单位提交审批
  604. // @Success 200 {object} controllers.Request
  605. // @router /unit-audit/:id [post]
  606. func (this *OilSupplierCertController) UnitAuditEntity() {
  607. certId := this.Ctx.Input.Param(":id")
  608. firstAudit := this.GetString("FirstAudit")
  609. secondAudit := this.GetString("SecondAudit")
  610. thirdAudit := this.GetString("ThirdAudit")
  611. // typeCode := this.GetString("TypeCode")
  612. AuditRemark := this.GetString("AuditRemark")
  613. userId := this.User.Id
  614. var baseUserInfo userRole.Base_User
  615. userService := userRole.GetUserService(utils.DBE)
  616. userService.GetEntityById(userId, &baseUserInfo)
  617. unitId := baseUserInfo.UnitId
  618. var errinfo ErrorDataInfo
  619. defer func() { //finally处理失败的异常
  620. if err := recover(); err != nil {
  621. errinfo.Message = err.(string)
  622. errinfo.Code = -1
  623. this.Data["json"] = &errinfo
  624. this.ServeJSON()
  625. } else {
  626. //返回正确结果
  627. errinfo.Message = "审核提交成功"
  628. errinfo.Code = 0
  629. this.Data["json"] = &errinfo
  630. this.ServeJSON()
  631. }
  632. }()
  633. //取出准入表信息
  634. certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  635. var supplierCertEntity suppliercert.OilSupplierCert
  636. certSrv.GetEntityById(certId, &supplierCertEntity)
  637. //检查是否可提交
  638. certSrv.IsSupplierCertCanSubmit(strconv.Itoa(supplierCertEntity.SupplierId), certId)
  639. //取出企业主表
  640. supplierSvc := supplier.GetOilSupplierService(utils.DBE)
  641. var supplierEntity supplier.OilSupplier
  642. supplierSvc.GetEntityById(supplierCertEntity.SupplierId, &supplierEntity)
  643. svcActiviti := workflow.GetActivitiService(utils.DBE)
  644. //启动工作流
  645. businessKey := supplierCertEntity.BusinessKey
  646. processInstanceId := supplierCertEntity.WorkflowId
  647. // 如果被驳回,不再新启工作流
  648. if processInstanceId == "" {
  649. //启动工作流
  650. businessKey = certId + "-" + strconv.Itoa(supplierCertEntity.AuditIndex)
  651. processInstanceId = svcActiviti.StartProcess2(workflow.OIL_ENUSER_SUPPLIER_APPLY, businessKey, this.User.Id, "1", supplierCertEntity.SupplierTypeCode, supplierEntity.SupplierName)
  652. if len(processInstanceId) <= 0 {
  653. panic("工作流启动失败!")
  654. }
  655. supplierCertEntity.AuditIndex += 1
  656. }
  657. // 将启动和工作流,选择的初审和复审人员保存下来
  658. cols := []string{
  659. "Id",
  660. "FirstAudit",
  661. "SecondAudit",
  662. "thirdAudit",
  663. "WorkflowId",
  664. "BusinessKey",
  665. "ProcessKey",
  666. "CommitComId",
  667. "AuditIndex",
  668. }
  669. supplierCertEntity.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
  670. supplierCertEntity.BusinessKey = businessKey
  671. supplierCertEntity.WorkflowId = processInstanceId
  672. supplierCertEntity.FirstAudit, _ = strconv.Atoi(firstAudit)
  673. supplierCertEntity.SecondAudit, _ = strconv.Atoi(secondAudit)
  674. supplierCertEntity.ThirdAudit, _ = strconv.Atoi(thirdAudit)
  675. supplierCertEntity.CommitComId = strconv.Itoa(unitId)
  676. certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  677. var ActiComplete workflow.ActiCompleteVM
  678. ActiComplete.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
  679. ActiComplete.BusinessKey = supplierCertEntity.BusinessKey
  680. ActiComplete.UserId = this.User.Id // 当前审批操作人员
  681. //ActiComplete.UserNames = secondAudit // 当前审批操作人员
  682. ActiComplete.Result = "2" //分办提交给二级单位初审
  683. ActiComplete.Remarks = AuditRemark
  684. ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
  685. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  686. if receiveVal != "true" {
  687. panic("工作流异常,请联系管理员!" + receiveVal)
  688. }
  689. }
  690. // @Title 二级单位分办 --审批
  691. // @Description 二级分办
  692. // @Success 200 {object} controllers.Request
  693. // @router /separate-audit/:id [post]
  694. func (this *OilSupplierCertController) SeparateAuditEntity() {
  695. certId := this.Ctx.Input.Param(":id")
  696. Result := this.GetString("Result")
  697. firstAudit := this.GetString("FirstAudit")
  698. secondAudit := this.GetString("SecondAudit")
  699. thirdAudit := this.GetString("ThirdAudit")
  700. // typeCode := this.GetString("TypeCode")
  701. AuditRemark := this.GetString("AuditRemark")
  702. var errinfo ErrorDataInfo
  703. defer func() { //finally处理失败的异常
  704. if err := recover(); err != nil {
  705. errinfo.Message = err.(string)
  706. errinfo.Code = -1
  707. this.Data["json"] = &errinfo
  708. this.ServeJSON()
  709. } else {
  710. //返回正确结果
  711. errinfo.Message = "审核提交成功"
  712. errinfo.Code = 0
  713. this.Data["json"] = &errinfo
  714. this.ServeJSON()
  715. }
  716. }()
  717. // 取出准入表信息
  718. certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  719. var supplierCertEntity suppliercert.OilSupplierCert
  720. certSrv.GetEntityById(certId, &supplierCertEntity)
  721. if Result == "1" {
  722. // 将选择的初审和复审人员保存下来
  723. cols := []string{
  724. "FirstAudit",
  725. "SecondAudit",
  726. "thirdAudit",
  727. }
  728. supplierCertEntity.FirstAudit, _ = strconv.Atoi(firstAudit)
  729. supplierCertEntity.SecondAudit, _ = strconv.Atoi(secondAudit)
  730. supplierCertEntity.ThirdAudit, _ = strconv.Atoi(thirdAudit) // 专业处室
  731. certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  732. }
  733. svcActiviti := workflow.GetActivitiService(utils.DBE)
  734. var ActiComplete workflow.ActiCompleteVM
  735. ActiComplete.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
  736. ActiComplete.BusinessKey = supplierCertEntity.BusinessKey
  737. ActiComplete.UserId = this.User.Id // 审批人员
  738. // ActiComplete.UserNames = secondAudit // 初审人员
  739. ActiComplete.Result = Result //分办完成后只向前走
  740. ActiComplete.Remarks = AuditRemark
  741. ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
  742. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  743. if receiveVal != "true" {
  744. panic("工作流异常,请联系管理员!" + receiveVal)
  745. }
  746. }
  747. // @Title 分办之后的各级审批 --审批 包含:二级单位初审、复审, 业务处室专业审核, 集中评审
  748. // @Description 分办之后的各级审批
  749. // @Success 200 {object} controllers.Request
  750. // @router /common-audit/:id [post]
  751. func (this *OilSupplierCertController) CommonAuditEntity() {
  752. certId := this.Ctx.Input.Param(":id")
  753. result := this.GetString("result")
  754. AuditRemark := this.GetString("AuditRemark")
  755. var errinfo ErrorDataInfo
  756. defer func() { //finally处理失败的异常
  757. if err := recover(); err != nil {
  758. errinfo.Message = err.(string)
  759. errinfo.Code = -1
  760. this.Data["json"] = &errinfo
  761. this.ServeJSON()
  762. } else {
  763. //返回正确结果
  764. errinfo.Message = "审核提交成功"
  765. errinfo.Code = 0
  766. this.Data["json"] = &errinfo
  767. this.ServeJSON()
  768. }
  769. }()
  770. //取出准入表信息
  771. certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  772. var supplierCertEntity suppliercert.OilSupplierCert
  773. certSrv.GetEntityById(certId, &supplierCertEntity)
  774. svcActiviti := workflow.GetActivitiService(utils.DBE)
  775. var ActiComplete workflow.ActiCompleteVM
  776. ActiComplete.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
  777. ActiComplete.BusinessKey = supplierCertEntity.BusinessKey
  778. ActiComplete.UserId = this.User.Id //审批人员
  779. ActiComplete.Result = result //前台审批[同意、不同意]
  780. ActiComplete.Remarks = AuditRemark
  781. ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
  782. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  783. if receiveVal != "true" {
  784. panic("工作流异常,请联系管理员!" + receiveVal)
  785. }
  786. }
  787. // @Title 业务处室接收分办 专业审批
  788. // @Description 业务处室接收分办 专业审批
  789. // @Success 200 {object} controllers.Request
  790. // @router /business-separate-audit/:id [post]
  791. func (this *OilSupplierCertController) BusinessOfficeSeparateAuditEntity() {
  792. certId := this.Ctx.Input.Param(":id")
  793. Result := this.GetString("Result")
  794. ProfessionalAudit := this.GetString("ProfessionalAudit")
  795. AuditRemark := this.GetString("AuditRemark")
  796. var errInfo ErrorDataInfo
  797. defer func() { //finally处理失败的异常
  798. if err := recover(); err != nil {
  799. errInfo.Message = err.(string)
  800. errInfo.Code = -1
  801. this.Data["json"] = &errInfo
  802. this.ServeJSON()
  803. } else {
  804. //返回正确结果
  805. errInfo.Message = "审核提交成功"
  806. errInfo.Code = 0
  807. this.Data["json"] = &errInfo
  808. this.ServeJSON()
  809. }
  810. }()
  811. //取出准入表信息
  812. certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  813. var supplierCertEntity suppliercert.OilSupplierCert
  814. certSrv.GetEntityById(certId, &supplierCertEntity)
  815. svcActiviti := workflow.GetActivitiService(utils.DBE)
  816. var ActiComplete workflow.ActiCompleteVM
  817. ActiComplete.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
  818. ActiComplete.BusinessKey = supplierCertEntity.BusinessKey
  819. ActiComplete.UserId = this.User.Id //审批人员
  820. ActiComplete.Result = Result //前台审批[同意、不同意]
  821. ActiComplete.UserNames = ProfessionalAudit
  822. ActiComplete.Remarks = AuditRemark
  823. ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
  824. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  825. if receiveVal != "true" {
  826. panic("工作流异常,请联系管理员!" + receiveVal)
  827. }
  828. if Result == "1" {
  829. cols := []string{
  830. "Id",
  831. "Status",
  832. "ProfessionalAudit",
  833. }
  834. supplierCertId := strings.Split(supplierCertEntity.BusinessKey, "-")[0]
  835. supplierCertEntity.Status = suppliercert.PROF_AUDIT_STATUS //专业处室接收
  836. supplierCertEntity.ProfessionalAudit, _ = strconv.Atoi(ProfessionalAudit)
  837. certSrv.UpdateEntityByIdCols(supplierCertId, supplierCertEntity, cols)
  838. }
  839. }
  840. // @Title 集中审批
  841. // @Description 集中审批
  842. // @Success 200 {object} controllers.Request
  843. // @router /concentrate-audit/:id [post]
  844. func (this *OilSupplierCertController) ConcentrateAuditEntity() {
  845. certId := this.Ctx.Input.Param(":id")
  846. AuditRemark := this.GetString("AuditRemark")
  847. var errInfo ErrorDataInfo
  848. defer func() { //finally处理失败的异常
  849. if err := recover(); err != nil {
  850. errInfo.Message = err.(string)
  851. errInfo.Code = -1
  852. this.Data["json"] = &errInfo
  853. this.ServeJSON()
  854. } else {
  855. //返回正确结果
  856. errInfo.Message = "审核提交成功"
  857. errInfo.Code = 0
  858. this.Data["json"] = &errInfo
  859. this.ServeJSON()
  860. }
  861. }()
  862. //取出准入表信息
  863. certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  864. var supplierCertEntity suppliercert.OilSupplierCert
  865. certSrv.GetEntityById(certId, &supplierCertEntity)
  866. svcActiviti := workflow.GetActivitiService(utils.DBE)
  867. var ActiComplete workflow.ActiCompleteVM
  868. ActiComplete.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
  869. ActiComplete.BusinessKey = supplierCertEntity.BusinessKey
  870. ActiComplete.UserId = this.User.Id //审批人员
  871. ActiComplete.Result = "1" //前台审批[同意、不同意]
  872. ActiComplete.Remarks = AuditRemark
  873. ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
  874. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  875. if receiveVal != "true" {
  876. panic("工作流异常,请联系管理员!" + receiveVal)
  877. }
  878. //cols := []string{
  879. // "Id",
  880. // "Status",
  881. //}
  882. //supplierCertId := strings.Split(supplierCertEntity.BusinessKey, "-")[0]
  883. //supplierCertEntity.Status = suppliercert.PROF_AUDIT_STATUS //专业处室接收
  884. //certSrv.UpdateEntityByIdCols(supplierCertId, supplierCertEntity, cols)
  885. }
  886. // @Title 确认是否入库
  887. // @Description 确认是否入库
  888. // @Success 200 {object} controllers.Request
  889. // @router /update-is-storage/:id [post]
  890. func (this *OilSupplierCertController) UpdateIsStorage() {
  891. id := this.Ctx.Input.Param(":id")
  892. result := this.GetString("result")
  893. AccessCardNo := this.GetString("AccessCardNo")
  894. BackRemark := this.GetString("BackRemark")
  895. SupplierId := this.GetString("SupplierId")
  896. var errinfo ErrorInfo
  897. if id == "" {
  898. errinfo.Message = "操作失败!请求信息不完整"
  899. errinfo.Code = -2
  900. this.Data["json"] = &errinfo
  901. this.ServeJSON()
  902. return
  903. }
  904. defer func() { //finally处理失败的异常
  905. if err := recover(); err != nil {
  906. errinfo.Message = err.(string)
  907. errinfo.Code = -1
  908. this.Data["json"] = &errinfo
  909. this.ServeJSON()
  910. } else {
  911. //返回正确结果
  912. if result == "1" {
  913. var model1 suppliercertsub.OilSupplierCertSub
  914. svc1 := suppliercertsub.GetOilSupplierCertSubService(utils.DBE)
  915. var cols = []string{
  916. "CertSubStatus",
  917. }
  918. model1.CertSubStatus = "1"
  919. where := " SupplierCertId = " + id
  920. svc1.UpdateEntityBywheretbl(OilSupplierCertSubName, &model1, cols, where)
  921. errinfo.Message = "入库成功"
  922. // 入库成功 记录快照 // 也可以在监听器工作流结束环节记录
  923. //supplierLogService := supplierlog.GetSupplierLogService(utils.DBE)
  924. //sourceId, _ := strconv.Atoi(id)
  925. //supplierId, _ := strconv.Atoi(SupplierId)
  926. //supplierLogService.SaveSupplierLogForAccess(supplierId, sourceId) // 准入
  927. } else {
  928. errinfo.Message = "退回成功"
  929. }
  930. errinfo.Code = 0
  931. this.Data["json"] = &errinfo
  932. this.ServeJSON()
  933. }
  934. }()
  935. var supplierCertEntity suppliercert.OilSupplierCert
  936. certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  937. certSrv.GetEntityById(id, &supplierCertEntity)
  938. AuditRemark := ""
  939. if result == "1" {
  940. AuditRemark = "审批通过, 已入库。"
  941. var supplierEntity supplier.OilSupplier
  942. srv := supplier.GetOilSupplierService(utils.DBE)
  943. srv.GetEntityById(SupplierId, &supplierEntity)
  944. var srvCols []string
  945. if supplierCertEntity.SupplierTypeCode == "01" {
  946. supplierEntity.WZAccessCardNo = AccessCardNo
  947. srvCols = append(srvCols, "WZAccessCardNo")
  948. } else if supplierCertEntity.SupplierTypeCode == "02" {
  949. supplierEntity.WZAccessCardNo = AccessCardNo
  950. srvCols = append(srvCols, "JSAccessCardNo")
  951. } else if supplierCertEntity.SupplierTypeCode == "03" {
  952. supplierEntity.WZAccessCardNo = AccessCardNo
  953. srvCols = append(srvCols, "JFAccessCardNo")
  954. } else {
  955. panic("准入类别错误!")
  956. }
  957. srv.UpdateEntityByIdCols(SupplierId, &supplierEntity, srvCols)
  958. } else {
  959. if BackRemark != "" {
  960. AuditRemark = BackRemark
  961. } else {
  962. AuditRemark = "待入库未通过。"
  963. }
  964. }
  965. cols := []string{
  966. "Id",
  967. "Status",
  968. "ApplyTime",
  969. "InFlag",
  970. "StorageOn",
  971. "ModifiedOn",
  972. "BackRemark",
  973. }
  974. //进入此步骤,记录在数据库中
  975. if result == "1" {
  976. supplierCertEntity.Status = suppliercert.STORE_STATUS // 7 已入库
  977. supplierCertEntity.StorageOn = time.Now()
  978. supplierCertEntity.ApplyTime = time.Now().AddDate(1, 0, 0)
  979. supplierCertEntity.InFlag = "1"
  980. supplierCertEntity.BackRemark = ""
  981. } else {
  982. supplierCertEntity.Status = suppliercert.NO_STOREING_STATUS // -7 待入库未通过
  983. supplierCertEntity.BackRemark = AuditRemark // 未通过理由
  984. }
  985. supplierCertEntity.ModifiedOn = time.Now()
  986. certSrv.UpdateEntityByIdCols(id, supplierCertEntity, cols)
  987. svcActiviti := workflow.GetActivitiService(utils.DBE)
  988. var ActiComplete workflow.ActiCompleteVM
  989. ActiComplete.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
  990. ActiComplete.BusinessKey = supplierCertEntity.BusinessKey
  991. ActiComplete.UserId = this.User.Id //审批人员
  992. ActiComplete.Result = result
  993. ActiComplete.Remarks = AuditRemark
  994. ActiComplete.CallbackUrl = utils.Cfg.MustValue("workflow", "callbackHost")
  995. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  996. if receiveVal != "true" {
  997. panic("工作流异常,请联系管理员!" + receiveVal)
  998. }
  999. }
  1000. // @Title 获取实体
  1001. // @Description 获取实体
  1002. // @Success 200 {object} controllers.Request
  1003. // @router /isaccess [get]
  1004. func (this *OilSupplierCertController) IsAccess() {
  1005. auditstepcode := this.GetString("auditstepcode")
  1006. processkey := this.GetString("processkey")
  1007. id := this.GetString("id")
  1008. //var users []userRole.Base_RoleList
  1009. //var auditWorkflow auditsetting.Base_OilAuditSetting
  1010. //rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
  1011. res := false
  1012. if auditstepcode == workflow.PROF_CONCENT { // 集中审批
  1013. //rsvc.GetAuditStepRoleEntity(OilAuditSettingName, this.User.DepartmentId, workflow.PROF_AUDIT, &auditWorkflow)
  1014. //users = rsvc.GetUserByRole("10000204", this.User.AccCode)
  1015. //for _, user := range users {
  1016. // if this.User.Id == strconv.Itoa(int(user.Id)) {
  1017. // res = true
  1018. // break
  1019. // }
  1020. //}
  1021. var setting auditsetting.Base_OilAuditSetting
  1022. svc := organize.GetOrganizeService(utils.DBE)
  1023. where := "AuditStepCode='" + auditstepcode + "'"
  1024. svc.GetEntity(&setting, where)
  1025. res = svc.UserInRoleById(this.User.Id, strconv.Itoa(setting.RoleId))
  1026. } else if auditstepcode == workflow.PAYING_FEE { // 待交费
  1027. // TODO 删掉。(交费按钮已去掉,统一走交费管理处确认。且此处未准确区分申请类型)
  1028. certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  1029. var supplierCertEntity suppliercert.OilSupplierCert
  1030. certSrv.GetEntityById(id, &supplierCertEntity)
  1031. res1, res2, res3, res4 := false, false, false, false
  1032. if strconv.Itoa(supplierCertEntity.CreateUserId) == this.User.Id {
  1033. res1 = true
  1034. }
  1035. certAppendSrv := suppliercertappend.GetOilSupplierCertAppendService(utils.DBE)
  1036. var supplierCertAppendEntity suppliercertappend.OilSupplierCertAppend
  1037. certAppendSrv.GetEntityById(id, &supplierCertAppendEntity)
  1038. if strconv.Itoa(supplierCertAppendEntity.CreateUserId) == this.User.Id {
  1039. res2 = true
  1040. }
  1041. annualSrv := annualaudit.GetOilAnnualAuditService(utils.DBE)
  1042. var annualEntity annualaudit.OilAnnualAudit
  1043. annualSrv.GetEntityById(id, &annualEntity)
  1044. if strconv.Itoa(annualEntity.CreateUserId) == this.User.Id {
  1045. res3 = true
  1046. }
  1047. infoChangeSrv := infochange.GetInfoChangeService(utils.DBE)
  1048. var infoChangeEntity infochange.OilInfoChange
  1049. infoChangeSrv.GetEntityById(id, &infoChangeEntity)
  1050. if strconv.Itoa(infoChangeEntity.CreateUserId) == this.User.Id {
  1051. res4 = true
  1052. }
  1053. if res1 || res2 || res3 || res4 {
  1054. res = true
  1055. }
  1056. } else {
  1057. //var users []suppliercert.UserList
  1058. //where := "OrganizeId=" + this.User.DepartmentId + " and AuditStepCode='" + auditstepcode + "'"
  1059. //rsvc.GetEntitysByWhere(OilAuditSettingName,where, &users)
  1060. //rsvc.GetAuditStepRoleEntity(OilAuditSettingName, this.User.DepartmentId, auditstepcode, &auditWorkflow)
  1061. //users = rsvc.GetUserByRole(strconv.Itoa(auditWorkflow.RoleId), this.User.AccCode)
  1062. //var users []userRole.Base_RoleList
  1063. //certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  1064. //certSrv.GetAuditUser(this.User.DepartmentId, auditstepcode, &users)
  1065. var setting auditsetting.Base_OilAuditSetting
  1066. svc := organize.GetOrganizeService(utils.DBE)
  1067. where := "AuditStepCode='" + auditstepcode + "'"
  1068. svc.GetEntity(&setting, where)
  1069. res = svc.UserInRoleById(this.User.Id, strconv.Itoa(setting.RoleId))
  1070. if res {
  1071. actisvc := workflow.GetActivitiService(utils.DBE)
  1072. ids := actisvc.GetMyTasks(processkey, this.User.Id)
  1073. res = strings.Contains(ids, id)
  1074. }
  1075. //for _, user := range users {
  1076. // if this.User.Id == strconv.Itoa(int(user.Id)) {
  1077. // res = true
  1078. // break
  1079. // }
  1080. //}
  1081. }
  1082. this.Data["json"] = res
  1083. this.ServeJSON()
  1084. }
  1085. // @Title 获取准入编码
  1086. // @Description 获取准入编码
  1087. // @Success 200 {object} controllers.Request
  1088. // @router /createaccesscardno/:type [get]
  1089. func (this *OilSupplierCertController) CreateAccessCardNo() {
  1090. Id := this.GetString("Id")
  1091. certId := this.GetString(("SupplierCertId"))
  1092. typeCode := this.Ctx.Input.Param(":type")
  1093. codecSvc := codecsequence.GetCodecSequenceService(utils.DBE)
  1094. var entitycert suppliercert.OilSupplierCert
  1095. var entity supplier.OilSupplier
  1096. //where := "Id = " + Id
  1097. //codecSvc.GetEntities(&model, "")
  1098. seqStr := ""
  1099. cols := []string{}
  1100. if typeCode == "01" { // 物质
  1101. has := true
  1102. for has {
  1103. seqStr = codecSvc.GetWZAccessCardNo(this.User.AccCode)
  1104. where := "SupplierTypeCode='" + typeCode + "' and AccessCardNo='" + seqStr + "'"
  1105. has = codecSvc.GetEntity(&entitycert, where)
  1106. }
  1107. cols = []string{"WZAccessCardNo"}
  1108. entity.WZAccessCardNo = seqStr
  1109. } else if typeCode == "03" { //技术服务
  1110. has := true
  1111. for has {
  1112. seqStr = codecSvc.GetJFAccessCardNo(this.User.AccCode)
  1113. where := "SupplierTypeCode='" + typeCode + "' and AccessCardNo='" + seqStr + "'"
  1114. has = codecSvc.GetEntity(&entitycert, where)
  1115. }
  1116. cols = []string{"JFAccessCardNo"}
  1117. entity.JFAccessCardNo = seqStr
  1118. } else if typeCode == "02" { // 基建
  1119. has := true
  1120. for has {
  1121. seqStr = codecSvc.GetJSAccessCardNo(this.User.AccCode)
  1122. where := "SupplierTypeCode='" + typeCode + "' and AccessCardNo='" + seqStr + "'"
  1123. has = codecSvc.GetEntity(&entitycert, where)
  1124. }
  1125. cols = []string{"JSAccessCardNo"}
  1126. entity.JSAccessCardNo = seqStr
  1127. }
  1128. codecSvc.UpdateEntityByIdCols(Id, &entity, cols)
  1129. var cert suppliercert.OilSupplierCert
  1130. certcols := []string{"AccessCardNo"}
  1131. cert.AccessCardNo = seqStr
  1132. codecSvc.UpdateEntityByIdCols(certId, &cert, certcols)
  1133. this.Data["json"] = seqStr
  1134. this.ServeJSON()
  1135. }
  1136. // @Title 修改准入标识
  1137. // @Description 修改准入标识
  1138. // @Success 200 {object} controllers.Request
  1139. // @router /updateinflag/ [get]
  1140. func (this *OilSupplierCertController) UpdateInFlag() {
  1141. t := time.Now()
  1142. session := utils.DBE.NewSession()
  1143. var certentitys []suppliercert.OilSupplierCert
  1144. svc := suppliercert.GetOilSupplierCertSession(session)
  1145. defer func() {
  1146. session.Close()
  1147. }()
  1148. err := session.Begin()
  1149. svc.GetEntities(&certentitys, "InFlag!='3'")
  1150. currenttime := time.Now()
  1151. //.Format("2006-01-02")
  1152. for i := 0; i < len(certentitys); i++ {
  1153. if currenttime.After(certentitys[i].ApplyTime) && !currenttime.After(certentitys[i].ApplyTime.AddDate(1, 0, 0)) && certentitys[i].InFlag != "2" {
  1154. var certentity suppliercert.OilSupplierCert
  1155. certentity.InFlag = "2"
  1156. certentity.Remark = "未年审"
  1157. cols := []string{"InFlag", "Remark"}
  1158. _, err = svc.UpdateEntityByIdCols(certentitys[i].Id, &certentity, cols)
  1159. if err != nil {
  1160. session.Rollback()
  1161. }
  1162. }
  1163. if currenttime.After(certentitys[i].ApplyTime.AddDate(1, 0, 0)) {
  1164. fmt.Println(time.Now().Format("2006-01-02"), certentitys[i].ApplyTime.AddDate(1, 0, 0).Format("2006-01-02"))
  1165. var certentity suppliercert.OilSupplierCert
  1166. certentity.InFlag = "3"
  1167. certentity.Remark = "超1年未年审"
  1168. cols := []string{"InFlag", "Remark"}
  1169. _, err = svc.UpdateEntityByIdCols(certentitys[i].Id, &certentity, cols)
  1170. if err != nil {
  1171. session.Rollback()
  1172. }
  1173. }
  1174. }
  1175. err = session.Commit()
  1176. fmt.Println(err)
  1177. elapsed := time.Since(t)
  1178. fmt.Println(elapsed, "更新准入标识")
  1179. }
  1180. // @Title 退回
  1181. // @Description
  1182. // @Success 200 {object} controllers.Request
  1183. // @router /backstatus/:Id [post]
  1184. func (this *OilSupplierCertController) BackStatus() {
  1185. id := this.Ctx.Input.Param(":Id")
  1186. status := this.GetString("Status")
  1187. backRemark := this.GetString("BackRemark")
  1188. var entity suppliercert.OilSupplierCert
  1189. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  1190. cols := []string{"Status", "BackRemark"}
  1191. entity.Status = status
  1192. entity.BackRemark = backRemark
  1193. _, err := svc.UpdateEntityByIdCols(id, &entity, cols)
  1194. var errinfo ErrorDataInfo
  1195. if err == nil {
  1196. //TODO: 入库改用大工作流
  1197. var activity oilactivity.OilActivity
  1198. where := "EntityId=" + id + " and ActType='" + oilactivity.STORAGE + "'"
  1199. svc.GetEntity(&activity, where)
  1200. svcActiviti := workflow.GetActivitiService(utils.DBE)
  1201. var ActiComplete workflow.ActiCompleteVM
  1202. ActiComplete.ProcessKey = activity.ProcessKey //TODO: 获取工作流KEY
  1203. ActiComplete.BusinessKey = activity.BusinessKey //TODO: 获取业务表ID
  1204. ActiComplete.UserId = this.User.Id
  1205. ActiComplete.Remarks = ""
  1206. ActiComplete.Result = "1"
  1207. svcActiviti.TaskComplete(ActiComplete)
  1208. errinfo.Message = "操作成功!"
  1209. errinfo.Code = 00
  1210. this.Data["json"] = &errinfo
  1211. this.ServeJSON()
  1212. } else {
  1213. errinfo.Message = "操作失败!"
  1214. errinfo.Code = -1
  1215. this.Data["json"] = &errinfo
  1216. this.ServeJSON()
  1217. }
  1218. }
  1219. // @Title 保存准入编码
  1220. // @Description 保存准入编码
  1221. // @Success 200 {object} controllers.Request
  1222. // @router /saveaccesscardno/:Id [get]
  1223. func (this *OilSupplierCertController) SaveAccessCardNo() {
  1224. id := this.Ctx.Input.Param(":Id")
  1225. certId := this.GetString(("SupplierCertId"))
  1226. typeCode := this.GetString("typeCode")
  1227. accessCardNo := this.GetString("AccessCardNo")
  1228. var model []suppliercert.OilSupplierCert
  1229. var supplier supplier.OilSupplier
  1230. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  1231. where := "AccessCardNo='" + accessCardNo + "'"
  1232. svc.GetEntities(&model, where)
  1233. supcols := []string{}
  1234. if model == nil || len(model) == 0 {
  1235. if typeCode == "01" { // 物质
  1236. supplier.WZAccessCardNo = accessCardNo
  1237. supcols = []string{"WZAccessCardNo"}
  1238. } else if typeCode == "03" { //技术服务
  1239. supplier.JFAccessCardNo = accessCardNo
  1240. supcols = []string{"JFAccessCardNo"}
  1241. } else if typeCode == "02" { // 基建
  1242. supplier.JSAccessCardNo = accessCardNo
  1243. supcols = []string{"JSAccessCardNo"}
  1244. }
  1245. svc.UpdateEntityByIdCols(id, &supplier, supcols)
  1246. var cert suppliercert.OilSupplierCert
  1247. certcols := []string{"AccessCardNo"}
  1248. cert.AccessCardNo = accessCardNo
  1249. svc.UpdateEntityByIdCols(certId, &cert, certcols)
  1250. var errinfo ErrorDataInfo
  1251. errinfo.Message = "保存成功!"
  1252. errinfo.Code = 0
  1253. this.Data["json"] = &errinfo
  1254. this.ServeJSON()
  1255. } else {
  1256. var errinfo ErrorDataInfo
  1257. errinfo.Message = "准入编码已经存在!"
  1258. errinfo.Code = -1
  1259. this.Data["json"] = &errinfo
  1260. this.ServeJSON()
  1261. }
  1262. }
  1263. // @Title 快到期短信通知
  1264. // @Description 修改准入标识
  1265. // @Success 200 {object} controllers.Request
  1266. // @router /sendingSMS/ [get]
  1267. func (this *OilSupplierCertController) SendingSMS() {
  1268. t := time.Now()
  1269. svcsupp := supplier.GetOilSupplierService(utils.DBE)
  1270. var list []supplier.OilSupplierView
  1271. where := "b.InFlag = '1'"
  1272. svcsupp.GetMyPagingEntitiesWithOrderBytbl(OilSupplierName, OilSupplierCertName, 0, 0, "Id", true, &list, where)
  1273. currenttime := time.Now()
  1274. loginName := "TimingTask"
  1275. if this.User != nil {
  1276. loginName = this.User.Username
  1277. }
  1278. for _, item := range list {
  1279. if currenttime.AddDate(0, 3, 0).Format("2006-01-02") == (item.ApplyTime.Format("2006-01-02")) {
  1280. toMobile := item.Mobile
  1281. msg := "您的" + item.SupplierTypeName + "准入还有3个月到期"
  1282. msgService := msg2.GetMsgService(utils.DBE)
  1283. msgService.HandleMsg(toMobile, msg, "1-1", item.CreateBy, item.ContactName, strconv.Itoa(item.CreateUserId), loginName)
  1284. }
  1285. if currenttime.AddDate(0, 2, 0).Format("2006-01-02") == (item.ApplyTime.Format("2006-01-02")) {
  1286. toMobile := item.Mobile
  1287. msg := "您的" + item.SupplierTypeName + "准入还有2个月到期"
  1288. msgService := msg2.GetMsgService(utils.DBE)
  1289. msgService.HandleMsg(toMobile, msg, "1-1", item.CreateBy, item.ContactName, strconv.Itoa(item.CreateUserId), loginName)
  1290. }
  1291. if currenttime.AddDate(0, 1, 0).Format("2006-01-02") == (item.ApplyTime.Format("2006-01-02")) {
  1292. toMobile := item.Mobile
  1293. msg := "您的" + item.SupplierTypeName + "准入还有1个月到期"
  1294. msgService := msg2.GetMsgService(utils.DBE)
  1295. msgService.HandleMsg(toMobile, msg, "1-1", item.CreateBy, item.ContactName, strconv.Itoa(item.CreateUserId), loginName)
  1296. }
  1297. }
  1298. elapsed := time.Since(t)
  1299. fmt.Println(elapsed, "快到期提醒")
  1300. }
  1301. // @Title 资质快到期短信通知
  1302. // @Description
  1303. // @Success 200 {object} controllers.Request
  1304. // @router /sendingSMSSupplierFile/ [get]
  1305. func (this *OilSupplierCertController) SendingSMSSupplierFile() {
  1306. t := time.Now()
  1307. svcsupp := supplier.GetOilSupplierService(utils.DBE)
  1308. paramSvc := baseparameter.GetBaseparameterService(utils.DBE)
  1309. month, _ := strconv.Atoi(paramSvc.GetBaseparameterMessage("GFGL", "paramset", "QualificationMonth"))
  1310. var expireFile []supplier.ExpireFile
  1311. where := " b.EffectDate LIKE '%" + time.Now().AddDate(0, month, 0).Format("2006-01-02") + "%'"
  1312. err := svcsupp.GetExpireFile(OilSupplierName, OilSupplierFileName, &expireFile, where)
  1313. if err == nil {
  1314. for _, item := range expireFile {
  1315. fileName := ""
  1316. if utf8.RuneCountInString(item.NeedAllFile) > 50 {
  1317. fileName = string([]rune(item.NeedAllFile)[0:50])
  1318. fileName = fileName[0:strings.LastIndex(fileName, ";")] + "等资质"
  1319. } else {
  1320. fileName = item.NeedAllFile
  1321. }
  1322. toMobile := item.Mobile
  1323. msg := "您的" + fileName + "还有" + strconv.Itoa(month) + "个月到期"
  1324. msgService := msg2.GetMsgService(utils.DBE)
  1325. loginName := "TimingTask"
  1326. if this.User != nil {
  1327. loginName = this.User.Username
  1328. }
  1329. // TODO typeCode值
  1330. msgService.HandleMsg(toMobile, msg, "1-1", item.CreateBy, item.ContactName, strconv.Itoa(item.CreateUserId), loginName)
  1331. }
  1332. }
  1333. elapsed := time.Since(t)
  1334. fmt.Println(elapsed, "资质到期提醒")
  1335. }
  1336. // @Title 资质
  1337. // @Description
  1338. // @Success 200 {object} controllers.Request
  1339. // @router /changeSupplierStatus/ [get]
  1340. func (this *OilSupplierCertController) ChangeSupplierStatus() {
  1341. svcsupp := supplier.GetOilSupplierService(utils.DBE)
  1342. var fileData []supplier.ExpireFileList
  1343. where := " b.EffectDate <= '" + time.Now().AddDate(0, 0, -1).Format("2006-01-02") + "'"
  1344. svcsupp.GetExpireFileList(OilSupplierName, OilSupplierFileName, &fileData, where)
  1345. for _, item := range fileData {
  1346. var sert suppliercert.OilSupplierCert
  1347. cols := []string{
  1348. "InFlag",
  1349. "Remark",
  1350. }
  1351. sert.InFlag = "2"
  1352. sert.Remark = "资质已到期"
  1353. where := "SupplierId=" + strconv.Itoa(item.Id) + " AND InFlag = '1'"
  1354. if item.SupplierTypeCode != "000" {
  1355. where = where + " and SupplierTypeCode='" + item.SupplierTypeCode + "'"
  1356. }
  1357. svcsupp.UpdateEntityBywheretbl(OilSupplierCertName, &sert, cols, where)
  1358. }
  1359. }
  1360. // @Title 更新Inflag状态
  1361. // @Description 企业入库
  1362. // @Success 200 {object} controllers.Request
  1363. // @router /reinput/:id [post]
  1364. func (this *OilSupplierCertController) ReInput() {
  1365. id := this.Ctx.Input.Param(":id")
  1366. var errinfo ErrorInfo
  1367. if id == "" {
  1368. errinfo.Message = "操作失败!请求信息不完整"
  1369. errinfo.Code = -2
  1370. this.Data["json"] = &errinfo
  1371. this.ServeJSON()
  1372. return
  1373. }
  1374. session := utils.DBE.NewSession()
  1375. svc := suppliercert.GetOilSupplierCertSession(session)
  1376. defer func() {
  1377. session.Close()
  1378. }()
  1379. err := session.Begin()
  1380. var model []suppliercert.Del_OilSupplierCert
  1381. where := "SupplierId=" + id
  1382. var sql string
  1383. sql = "select * from " + OilSupplierCertName + " where " + where
  1384. utils.DBE.SQL(sql).Find(&model)
  1385. isdelsupplier := false
  1386. if model != nil && len(model) > 0 {
  1387. isdelsupplier = true
  1388. }
  1389. for _, item := range model {
  1390. if item.InFlag == "3" {
  1391. where := "Id=" + strconv.Itoa(item.Id)
  1392. err = svc.DeleteEntityBytbl(OilSupplierCertName, where)
  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. item.DeleteDate = time.Now()
  1402. _, err = svc.InsertEntityBytbl(DelOilSupplierCertName, &item)
  1403. if err != nil {
  1404. session.Rollback()
  1405. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1406. errinfo.Code = -1
  1407. this.Data["json"] = &errinfo
  1408. this.ServeJSON()
  1409. return
  1410. }
  1411. // 交费信息
  1412. var delpay []paymentinfo.Del_OilPaymentInfo
  1413. wherepay := "SupplierCertId=" + strconv.Itoa(model[0].Id)
  1414. var sqlpay string
  1415. sqlpay = "select * from " + OilPaymentInfoName + " where " + wherepay
  1416. utils.DBE.SQL(sqlpay).Find(&delpay)
  1417. err = svc.DeleteEntityBytbl(OilPaymentInfoName, wherepay)
  1418. if err != nil {
  1419. session.Rollback()
  1420. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1421. errinfo.Code = -1
  1422. this.Data["json"] = &errinfo
  1423. this.ServeJSON()
  1424. return
  1425. }
  1426. for idx, _ := range delpay {
  1427. delpay[idx].DeleteDate = time.Now()
  1428. }
  1429. _, err = svc.InsertEntityBytbl(DelOilPaymentInfoName, &delpay)
  1430. if err != nil {
  1431. session.Rollback()
  1432. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1433. errinfo.Code = -1
  1434. this.Data["json"] = &errinfo
  1435. this.ServeJSON()
  1436. return
  1437. }
  1438. // 删除增项记录
  1439. var modelapp []suppliercertappend.Del_OilSupplierCertAppend
  1440. whereapp := "SupplierCertId=" + strconv.Itoa(model[0].Id)
  1441. var sqlapp string
  1442. sqlapp = "select * from " + OilSupplierCertAppendName + " where " + whereapp
  1443. utils.DBE.SQL(sqlapp).Find(&modelapp)
  1444. err = svc.DeleteEntityBytbl(OilSupplierCertAppendName, whereapp)
  1445. if err != nil {
  1446. session.Rollback()
  1447. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1448. errinfo.Code = -1
  1449. this.Data["json"] = &errinfo
  1450. this.ServeJSON()
  1451. return
  1452. }
  1453. for idx, _ := range modelapp {
  1454. modelapp[idx].DeleteDate = time.Now()
  1455. }
  1456. _, err = svc.InsertEntityBytbl(DelOilSupplierCertAppendName, &modelapp)
  1457. if err != nil {
  1458. session.Rollback()
  1459. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1460. errinfo.Code = -1
  1461. this.Data["json"] = &errinfo
  1462. this.ServeJSON()
  1463. return
  1464. }
  1465. // 删除年审记录
  1466. var modelann []annualaudit.Del_OilAnnualAudit
  1467. whereann := "CerId=" + strconv.Itoa(model[0].Id)
  1468. var sqlann string
  1469. sqlann = "select * from " + OilAnnualAuditName + " where " + whereann
  1470. utils.DBE.SQL(sqlann).Find(&modelann)
  1471. err = svc.DeleteEntityBytbl(OilAnnualAuditName, whereann)
  1472. if err != nil {
  1473. session.Rollback()
  1474. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1475. errinfo.Code = -1
  1476. this.Data["json"] = &errinfo
  1477. this.ServeJSON()
  1478. return
  1479. }
  1480. for idx, _ := range modelann {
  1481. modelann[idx].DeleteDate = time.Now()
  1482. }
  1483. _, err = svc.InsertEntityBytbl(DelOilAnnualAuditName, &modelann)
  1484. if err != nil {
  1485. session.Rollback()
  1486. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1487. errinfo.Code = -1
  1488. this.Data["json"] = &errinfo
  1489. this.ServeJSON()
  1490. return
  1491. }
  1492. // 删除准入范围
  1493. var certsup []suppliercertsub.Del_OilSupplierCertSub
  1494. wheresup := "SupplierCertId=" + strconv.Itoa(model[0].Id)
  1495. var sqlsup string
  1496. sqlsup = "select * from " + OilSupplierCertSubName + " where " + wheresup
  1497. utils.DBE.SQL(sqlsup).Find(&certsup)
  1498. err = svc.DeleteEntityBytbl(OilSupplierCertSubName, wheresup)
  1499. if err != nil {
  1500. session.Rollback()
  1501. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1502. errinfo.Code = -1
  1503. this.Data["json"] = &errinfo
  1504. this.ServeJSON()
  1505. return
  1506. }
  1507. for idx, _ := range certsup {
  1508. certsup[idx].DeleteDate = time.Now()
  1509. }
  1510. _, err = svc.InsertEntityBytbl(DelOilSupplierCertSubName, &certsup)
  1511. if err != nil {
  1512. session.Rollback()
  1513. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1514. errinfo.Code = -1
  1515. this.Data["json"] = &errinfo
  1516. this.ServeJSON()
  1517. return
  1518. }
  1519. } else {
  1520. isdelsupplier = false
  1521. }
  1522. }
  1523. if isdelsupplier {
  1524. // 删除企业信息
  1525. var modelsupp supplier.Del_OilSupplier
  1526. where := "Id=" + strconv.Itoa(model[0].SupplierId)
  1527. var sql string
  1528. sql = "select * from " + OilSupplierName + " where " + where
  1529. utils.DBE.SQL(sql).Get(&modelsupp)
  1530. err = svc.DeleteEntityBytbl(OilSupplierName, where)
  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. modelsupp.DeleteDate = time.Now()
  1540. _, err = svc.InsertEntityBytbl(DelOilSupplierName, &modelsupp)
  1541. if err != nil {
  1542. session.Rollback()
  1543. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1544. errinfo.Code = -1
  1545. this.Data["json"] = &errinfo
  1546. this.ServeJSON()
  1547. return
  1548. }
  1549. // 删除企业资质
  1550. var delfile []supplierfile.Del_OilSupplierFile
  1551. wheref := "SupplierId=" + strconv.Itoa(model[0].SupplierId)
  1552. var sqlw string
  1553. sqlw = "select * from " + OilSupplierFileName + " where " + wheref
  1554. utils.DBE.SQL(sqlw).Find(&delfile)
  1555. err = svc.DeleteEntityBytbl(OilSupplierFileName, wheref)
  1556. if err != nil {
  1557. session.Rollback()
  1558. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1559. errinfo.Code = -1
  1560. this.Data["json"] = &errinfo
  1561. this.ServeJSON()
  1562. return
  1563. }
  1564. for idx, _ := range delfile {
  1565. delfile[idx].DeleteDate = time.Now()
  1566. }
  1567. _, err = svc.InsertEntityBytbl(DelOilSupplierFileName, &delfile)
  1568. if err != nil {
  1569. session.Rollback()
  1570. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1571. errinfo.Code = -1
  1572. this.Data["json"] = &errinfo
  1573. this.ServeJSON()
  1574. return
  1575. }
  1576. // 删除信息变更
  1577. var delinfo []infochange.Del_OilInfoChange
  1578. whereinfo := "SupplierId=" + strconv.Itoa(model[0].SupplierId)
  1579. var sqlinfo string
  1580. sqlinfo = "select * from " + OilInfoChangeName + " where " + whereinfo
  1581. utils.DBE.SQL(sqlinfo).Find(&delinfo)
  1582. err = svc.DeleteEntityBytbl(OilInfoChangeName, whereinfo)
  1583. if err != nil {
  1584. session.Rollback()
  1585. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1586. errinfo.Code = -1
  1587. this.Data["json"] = &errinfo
  1588. this.ServeJSON()
  1589. return
  1590. }
  1591. for idx, _ := range delinfo {
  1592. delinfo[idx].DeleteDate = time.Now()
  1593. }
  1594. _, err = svc.InsertEntityBytbl(DelOilInfoChangeName, &delinfo)
  1595. if err != nil {
  1596. session.Rollback()
  1597. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1598. errinfo.Code = -1
  1599. this.Data["json"] = &errinfo
  1600. this.ServeJSON()
  1601. return
  1602. }
  1603. }
  1604. err = session.Commit()
  1605. if err == nil {
  1606. errinfo.Message = "提交成功!"
  1607. errinfo.Code = 0
  1608. this.Data["json"] = &errinfo
  1609. this.ServeJSON()
  1610. } else {
  1611. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  1612. errinfo.Code = -1
  1613. this.Data["json"] = &errinfo
  1614. this.ServeJSON()
  1615. }
  1616. }
  1617. // @Title 修改年审到期时间
  1618. // @Description 修改年审到期时间
  1619. // @Success 200 {object} controllers.Request
  1620. // @router /updateapplytime/:id [post]
  1621. func (this *OilSupplierCertController) UpdateApplyTime() {
  1622. session := utils.DBE.NewSession()
  1623. defer func() {
  1624. session.Close()
  1625. }()
  1626. id := this.Ctx.Input.Param(":id")
  1627. var errinfo ErrorInfo
  1628. if id == "" {
  1629. errinfo.Message = "操作失败!请求信息不完整"
  1630. errinfo.Code = -2
  1631. this.Data["json"] = &errinfo
  1632. this.ServeJSON()
  1633. return
  1634. }
  1635. var model supplierapplytime.OilSupplierApplyTime
  1636. svc := suppliercert.GetOilSupplierCertSession(session)
  1637. var jsonBlob = this.Ctx.Input.RequestBody
  1638. json.Unmarshal(jsonBlob, &model)
  1639. model.CreateOn = time.Now()
  1640. model.CreateBy = this.User.Realname
  1641. model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  1642. //model.OrganizeId, _ = utils.StrTo(this.User.DepartmentId).Int()
  1643. _, err := svc.InsertEntityBytbl(SupplierApplyTimeName, &model)
  1644. if err != nil {
  1645. session.Rollback()
  1646. errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
  1647. errinfo.Code = -1
  1648. this.Data["json"] = &errinfo
  1649. this.ServeJSON()
  1650. return
  1651. }
  1652. var modelcert suppliercert.OilSupplierCert
  1653. modelcert.ApplyTime = model.AfterDate
  1654. if model.AfterDate.Unix() < time.Now().Unix() {
  1655. modelcert.InFlag = "2"
  1656. } else {
  1657. modelcert.InFlag = "1"
  1658. }
  1659. var cols = []string{
  1660. "ApplyTime",
  1661. "InFlag",
  1662. }
  1663. err = svc.UpdateEntityBytbl(OilSupplierCertName, id, &modelcert, cols)
  1664. if err != nil {
  1665. session.Rollback()
  1666. errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
  1667. errinfo.Code = -1
  1668. this.Data["json"] = &errinfo
  1669. this.ServeJSON()
  1670. return
  1671. }
  1672. err = session.Commit()
  1673. if err == nil {
  1674. errinfo.Message = "修改成功!"
  1675. errinfo.Code = 0
  1676. this.Data["json"] = &errinfo
  1677. this.ServeJSON()
  1678. } else {
  1679. errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
  1680. errinfo.Code = -1
  1681. this.Data["json"] = &errinfo
  1682. this.ServeJSON()
  1683. }
  1684. }
  1685. // @Title 获取列表
  1686. // @Description get user by token
  1687. // @Success 200 {object} []suppliercert.OilSupplierCert
  1688. // @router /getapplytimelist [get]
  1689. func (this *OilSupplierCertController) GetApplyTimeList() {
  1690. SupplierCertId := this.GetString("SupplierCertId")
  1691. var model []supplierapplytime.OilSupplierApplyTime
  1692. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  1693. where := "SupplierCertId = " + SupplierCertId
  1694. svc.GetEntities(&model, where)
  1695. var errinfo ErrorDataInfo
  1696. errinfo.Message = "修改成功!"
  1697. errinfo.Code = 0
  1698. errinfo.Item = model
  1699. this.Data["json"] = &model
  1700. this.ServeJSON()
  1701. }
  1702. // @Title 修改增项是否需要限制 针对企业
  1703. // @Description 修改年审到期时间
  1704. // @Success 200 {object} controllers.Request
  1705. // @router /updateisrestrict/:id [post]
  1706. func (this *OilSupplierCertController) UpdateIsRestrict() {
  1707. id := this.Ctx.Input.Param(":id")
  1708. var errinfo ErrorInfo
  1709. if id == "" {
  1710. errinfo.Message = "操作失败!请求信息不完整"
  1711. errinfo.Code = -2
  1712. this.Data["json"] = &errinfo
  1713. this.ServeJSON()
  1714. return
  1715. }
  1716. isRestrict := this.GetString("IsRestrict")
  1717. var model suppliercert.OilSupplierCert
  1718. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  1719. cols := []string{
  1720. "IsRestrict",
  1721. }
  1722. model.IsRestrict, _ = strconv.Atoi(isRestrict)
  1723. err := svc.UpdateEntityBytbl(OilSupplierCertName, id, &model, cols)
  1724. if err == nil {
  1725. errinfo.Message = "修改成功!"
  1726. errinfo.Code = 0
  1727. this.Data["json"] = &errinfo
  1728. this.ServeJSON()
  1729. } else {
  1730. errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
  1731. errinfo.Code = -1
  1732. this.Data["json"] = &errinfo
  1733. this.ServeJSON()
  1734. }
  1735. }
  1736. // @Title 交费用户确认交费
  1737. // @Description 交费用户确认交费
  1738. // @Success 200 {object} controllers.Request
  1739. // @router /update-pay-status/:id [post]
  1740. func (this *OilSupplierCertController) UpdatePayStatus() {
  1741. certId := this.Ctx.Input.Param(":id")
  1742. var errinfo ErrorInfo
  1743. if certId == "" {
  1744. errinfo.Message = "操作失败!请求信息不完整"
  1745. errinfo.Code = -2
  1746. this.Data["json"] = &errinfo
  1747. this.ServeJSON()
  1748. return
  1749. }
  1750. supplierCertSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  1751. var supplierCertEntity suppliercert.OilSupplierCert
  1752. supplierCertSrv.GetEntityById(certId, &supplierCertEntity)
  1753. paySrv := paymentinfo.GetPaymentService(utils.DBE)
  1754. var paymentInfoEntities []paymentinfo.OilPaymentInfo
  1755. err := paySrv.GetPaymentInfoBySrcId(certId, "1", &paymentInfoEntities)
  1756. if err != nil {
  1757. errinfo.Message = "未知错误,请稍后再试!"
  1758. errinfo.Code = -1
  1759. this.Data["json"] = &errinfo
  1760. this.ServeJSON()
  1761. }
  1762. if len(paymentInfoEntities) == 1 {
  1763. for _, item := range paymentInfoEntities {
  1764. if item.IsPay == "1" {
  1765. errinfo.Message = "已确认交费!请耐心等待"
  1766. errinfo.Code = -1
  1767. this.Data["json"] = &errinfo
  1768. this.ServeJSON()
  1769. }
  1770. if item.IsPay == "2" {
  1771. errinfo.Message = "已交费!请勿重复操作!"
  1772. errinfo.Code = -1
  1773. this.Data["json"] = &errinfo
  1774. this.ServeJSON()
  1775. }
  1776. }
  1777. }
  1778. sql := "UPDATE OilPaymentInfo SET IsPay ='1' where SrcId=" + certId + " and PayType='1'"
  1779. supplierCertSrv.DBE.Exec(sql)
  1780. errinfo.Message = "确认交费成功!"
  1781. errinfo.Code = 0
  1782. this.Data["json"] = &errinfo
  1783. this.ServeJSON()
  1784. }