suppliercert.go 56 KB

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