suppliercert.go 65 KB

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