suppliercert.go 61 KB

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