suppliercert.go 73 KB

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