suppliercert.go 60 KB

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