suppliercert.go 42 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370
  1. package oilsupplier
  2. import (
  3. msg2 "dashoo.cn/backend/api/business/msg"
  4. "dashoo.cn/backend/api/business/audithistory"
  5. "dashoo.cn/backend/api/business/codecsequence"
  6. "dashoo.cn/backend/api/business/oilsupplier/oilcostmanage"
  7. "dashoo.cn/backend/api/business/oilsupplier/supplier"
  8. "dashoo.cn/backend/api/business/organize"
  9. "dashoo.cn/backend/api/business/paymentinfo"
  10. "dashoo.cn/business2/parameter"
  11. "encoding/json"
  12. "fmt"
  13. "strconv"
  14. "strings"
  15. "time"
  16. "dashoo.cn/backend/api/business/auditsetting"
  17. "dashoo.cn/backend/api/business/workflow"
  18. "dashoo.cn/backend/api/business/baseUser"
  19. "dashoo.cn/backend/api/business/oilsupplier/suppliercert"
  20. . "dashoo.cn/backend/api/controllers"
  21. "dashoo.cn/business2/userRole"
  22. "dashoo.cn/utils"
  23. )
  24. type OilSupplierCertController struct {
  25. BaseController
  26. }
  27. // @Title 获取列表
  28. // @Description get user by token
  29. // @Success 200 {object} []suppliercert.OilSupplierCert
  30. // @router /list [get]
  31. func (this *OilSupplierCertController) GetEntityList() {
  32. //获取分页信息
  33. page := this.GetPageInfoForm()
  34. where := " 1=1 "
  35. orderby := "Id"
  36. asc := false
  37. Order := this.GetString("Order")
  38. Prop := this.GetString("Prop")
  39. if Order != "" && Prop != "" {
  40. orderby = Prop
  41. if Order == "asc" {
  42. asc = true
  43. }
  44. }
  45. Id := this.GetString("Id")
  46. SupplierId := this.GetString("SupplierId")
  47. AccessCardNo := this.GetString("AccessCardNo")
  48. SupplierTypeCode := this.GetString("SupplierTypeCode")
  49. SupplierTypeName := this.GetString("SupplierTypeName")
  50. RecUnitReason := this.GetString("RecUnitReason")
  51. RecUnitPerson := this.GetString("RecUnitPerson")
  52. RecDate := this.GetString("RecDate")
  53. RecUnitId := this.GetString("RecUnitId")
  54. RecUnitName := this.GetString("RecUnitName")
  55. StatusA := this.GetString("StatusA")
  56. BackReason := this.GetString("BackReason")
  57. InFlag := this.GetString("InFlag")
  58. EffectStartTime := this.GetString("EffectStartTime")
  59. EffectEndTime := this.GetString("EffectEndTime")
  60. AuditProcessNote := this.GetString("AuditProcessNote")
  61. AuditDate := this.GetString("AuditDate")
  62. PayNotice := this.GetString("PayNotice")
  63. SupplierStatus := this.GetString("SupplierStatus")
  64. MgrType := this.GetString("MgrType")
  65. Type := this.GetString("Type")
  66. MgrUnit := this.GetString("MgrUnit")
  67. AddinTime := this.GetString("AddinTime")
  68. EffectTime := this.GetString("EffectTime")
  69. ApplyTime := this.GetString("ApplyTime")
  70. SupplierNo := this.GetString("SupplierNo")
  71. MDMFlag := this.GetString("MDMFlag")
  72. InternalFlag := this.GetString("InternalFlag")
  73. ImportFlag := this.GetString("ImportFlag")
  74. OutsideFlog := this.GetString("OutsideFlog")
  75. Remark := this.GetString("Remark")
  76. IsDelete := this.GetString("IsDelete")
  77. CreateOn := this.GetString("CreateOn")
  78. CreateUserId := this.GetString("CreateUserId")
  79. CreateBy := this.GetString("CreateBy")
  80. ModifiedOn := this.GetString("ModifiedOn")
  81. ModifiedUserId := this.GetString("ModifiedUserId")
  82. ModifiedBy := this.GetString("ModifiedBy")
  83. if Id != "" {
  84. where = where + " and Id like '%" + Id + "%'"
  85. }
  86. if SupplierId != "" {
  87. where = where + " and SupplierId like '%" + SupplierId + "%'"
  88. }
  89. if AccessCardNo != "" {
  90. where = where + " and AccessCardNo like '%" + AccessCardNo + "%'"
  91. }
  92. if SupplierTypeCode != "" {
  93. where = where + " and SupplierTypeCode like '%" + SupplierTypeCode + "%'"
  94. }
  95. if SupplierTypeName != "" {
  96. where = where + " and SupplierTypeName like '%" + SupplierTypeName + "%'"
  97. }
  98. if RecUnitReason != "" {
  99. where = where + " and RecUnitReason like '%" + RecUnitReason + "%'"
  100. }
  101. if RecUnitPerson != "" {
  102. where = where + " and RecUnitPerson like '%" + RecUnitPerson + "%'"
  103. }
  104. if RecDate != "" {
  105. where = where + " and RecDate like '%" + RecDate + "%'"
  106. }
  107. if RecUnitId != "" {
  108. where = where + " and RecUnitId like '%" + RecUnitId + "%'"
  109. }
  110. if RecUnitName != "" {
  111. where = where + " and RecUnitName like '%" + RecUnitName + "%'"
  112. }
  113. if StatusA != "" {
  114. where = where + " and StatusA like '%" + StatusA + "%'"
  115. }
  116. if BackReason != "" {
  117. where = where + " and BackReason like '%" + BackReason + "%'"
  118. }
  119. if InFlag != "" {
  120. where = where + " and InFlag like '%" + InFlag + "%'"
  121. }
  122. if EffectStartTime != "" {
  123. where = where + " and EffectStartTime like '%" + EffectStartTime + "%'"
  124. }
  125. if EffectEndTime != "" {
  126. where = where + " and EffectEndTime like '%" + EffectEndTime + "%'"
  127. }
  128. if AuditProcessNote != "" {
  129. where = where + " and AuditProcessNote like '%" + AuditProcessNote + "%'"
  130. }
  131. if AuditDate != "" {
  132. where = where + " and AuditDate like '%" + AuditDate + "%'"
  133. }
  134. if PayNotice != "" {
  135. where = where + " and PayNotice like '%" + PayNotice + "%'"
  136. }
  137. if SupplierStatus != "" {
  138. where = where + " and SupplierStatus like '%" + SupplierStatus + "%'"
  139. }
  140. if MgrType != "" {
  141. where = where + " and MgrType like '%" + MgrType + "%'"
  142. }
  143. if Type != "" {
  144. where = where + " and Type like '%" + Type + "%'"
  145. }
  146. if MgrUnit != "" {
  147. where = where + " and MgrUnit like '%" + MgrUnit + "%'"
  148. }
  149. if AddinTime != "" {
  150. where = where + " and AddinTime like '%" + AddinTime + "%'"
  151. }
  152. if EffectTime != "" {
  153. where = where + " and EffectTime like '%" + EffectTime + "%'"
  154. }
  155. if ApplyTime != "" {
  156. where = where + " and ApplyTime like '%" + ApplyTime + "%'"
  157. }
  158. if SupplierNo != "" {
  159. where = where + " and SupplierNo like '%" + SupplierNo + "%'"
  160. }
  161. if MDMFlag != "" {
  162. where = where + " and MDMFlag like '%" + MDMFlag + "%'"
  163. }
  164. if InternalFlag != "" {
  165. where = where + " and InternalFlag like '%" + InternalFlag + "%'"
  166. }
  167. if ImportFlag != "" {
  168. where = where + " and ImportFlag like '%" + ImportFlag + "%'"
  169. }
  170. if OutsideFlog != "" {
  171. where = where + " and OutsideFlog like '%" + OutsideFlog + "%'"
  172. }
  173. if Remark != "" {
  174. where = where + " and Remark like '%" + Remark + "%'"
  175. }
  176. if IsDelete != "" {
  177. where = where + " and IsDelete like '%" + IsDelete + "%'"
  178. }
  179. if CreateOn != "" {
  180. where = where + " and CreateOn like '%" + CreateOn + "%'"
  181. }
  182. if CreateUserId != "" {
  183. where = where + " and CreateUserId like '%" + CreateUserId + "%'"
  184. }
  185. if CreateBy != "" {
  186. where = where + " and CreateBy like '%" + CreateBy + "%'"
  187. }
  188. if ModifiedOn != "" {
  189. where = where + " and ModifiedOn like '%" + ModifiedOn + "%'"
  190. }
  191. if ModifiedUserId != "" {
  192. where = where + " and ModifiedUserId like '%" + ModifiedUserId + "%'"
  193. }
  194. if ModifiedBy != "" {
  195. where = where + " and ModifiedBy like '%" + ModifiedBy + "%'"
  196. }
  197. if CreateOn != "" {
  198. dates := strings.Split(CreateOn, ",")
  199. if len(dates) == 2 {
  200. minDate := dates[0]
  201. maxDate := dates[1]
  202. where = where + " and CreateOn>='" + minDate + "' and CreateOn<='" + maxDate + "'"
  203. }
  204. }
  205. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  206. var list []suppliercert.OilSupplierCert
  207. total := svc.GetPagingEntitiesWithOrderBytbl(this.User.AccCode, page.CurrentPage, page.Size, orderby, asc, &list, where)
  208. var datainfo DataInfo
  209. datainfo.Items = list
  210. datainfo.CurrentItemCount = total
  211. datainfo.PageIndex = page.CurrentPage
  212. datainfo.ItemsPerPage = page.Size
  213. this.Data["json"] = &datainfo
  214. this.ServeJSON()
  215. }
  216. // @Title 获取字典列表
  217. // @Description get user by token
  218. // @Success 200 {object} map[string]interface{}
  219. // @router /dictlist [get]
  220. func (this *OilSupplierCertController) GetDictList() {
  221. dictList := make(map[string]interface{})
  222. //dictSvc := items.GetItemsService(utils.DBE)
  223. userSvc := baseUser.GetBaseUserService(utils.DBE)
  224. //customerSvc := svccustomer.GetCustomerService(utils.DBE)
  225. //dictList["WellNo"] = dictSvc.GetKeyValueItems("WellNo", this.User.AccCode)
  226. var userEntity userRole.Base_User
  227. userSvc.GetEntityById(this.User.Id, &userEntity)
  228. dictList["Supervisers"] = userSvc.GetUserListByDepartmentId(this.User.AccCode, userEntity.Departmentid)
  229. //var dictCustomer []svccustomer.Customer
  230. //customerSvc.GetEntitysByWhere(this.User.AccCode + CustomerName, "", &dictCustomer)
  231. //dictList["EntrustCorp"] = &dictCustomer
  232. var datainfo DataInfo
  233. datainfo.Items = dictList
  234. this.Data["json"] = &datainfo
  235. this.ServeJSON()
  236. }
  237. // @Title 获取实体
  238. // @Description 获取实体
  239. // @Success 200 {object} suppliercert.OilSupplierCert
  240. // @router /get/:id [get]
  241. func (this *OilSupplierCertController) GetEntity() {
  242. Id := this.Ctx.Input.Param(":id")
  243. var model suppliercert.OilSupplierCert
  244. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  245. svc.GetEntityByIdBytbl(OilSupplierCertName, Id, &model)
  246. this.Data["json"] = &model
  247. this.ServeJSON()
  248. }
  249. // @Title 获取实体
  250. // @Description 获取实体
  251. // @Success 200 {object} suppliercert.OilSupplierCert
  252. // @router /getbycreatorandtype/:typecode [get]
  253. func (this *OilSupplierCertController) GetEntityByCreatorId() {
  254. creatorId := this.User.Id
  255. typeCode := this.Ctx.Input.Param(":typecode")
  256. var model suppliercert.OilSupplierCert
  257. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  258. where := " CreateUserId = '" + creatorId + "'"
  259. where += " and SupplierTypeCode = '" + typeCode + "'"
  260. svc.GetEntityByWhere(OilSupplierCertName, where, &model)
  261. this.Data["json"] = &model
  262. this.ServeJSON()
  263. }
  264. // @Title 添加
  265. // @Description 新增
  266. // @Success 200 {object} controllers.Request
  267. // @router /add [post]
  268. func (this *OilSupplierCertController) AddEntity() {
  269. var model suppliercert.OilSupplierCert
  270. var jsonBlob = this.Ctx.Input.RequestBody
  271. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  272. json.Unmarshal(jsonBlob, &model)
  273. model.CreateOn = time.Now()
  274. model.CreateBy = this.User.Realname
  275. model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  276. //model.OrganizeId, _ = utils.StrTo(this.User.DepartmentId).Int()
  277. _, err := svc.InsertEntityBytbl(OilSupplierCertName, &model)
  278. var errinfo ErrorDataInfo
  279. if err == nil {
  280. //新增
  281. errinfo.Message = "添加成功!"
  282. errinfo.Code = 0
  283. errinfo.Item = model.Id
  284. this.Data["json"] = &errinfo
  285. this.ServeJSON()
  286. } else {
  287. errinfo.Message = "添加失败!" + utils.AlertProcess(err.Error())
  288. errinfo.Code = -1
  289. this.Data["json"] = &errinfo
  290. this.ServeJSON()
  291. }
  292. }
  293. // @Title 修改实体
  294. // @Description 修改实体
  295. // @Success 200 {object} controllers.Request
  296. // @router /update/:id [post]
  297. func (this *OilSupplierCertController) UpdateEntity() {
  298. id := this.Ctx.Input.Param(":id")
  299. var errinfo ErrorInfo
  300. if id == "" {
  301. errinfo.Message = "操作失败!请求信息不完整"
  302. errinfo.Code = -2
  303. this.Data["json"] = &errinfo
  304. this.ServeJSON()
  305. return
  306. }
  307. var model suppliercert.OilSupplierCert
  308. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  309. var jsonBlob = this.Ctx.Input.RequestBody
  310. json.Unmarshal(jsonBlob, &model)
  311. model.ModifiedOn = time.Now()
  312. model.ModifiedBy = this.User.Realname
  313. model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  314. cols := []string{
  315. "Id",
  316. "SupplierId",
  317. "AccessCardNo",
  318. "SupplierTypeCode",
  319. "SupplierTypeName",
  320. "RecUnitReason",
  321. "RecUnitPerson",
  322. "RecDate",
  323. "RecUnitId",
  324. "RecUnitName",
  325. "Status",
  326. "BackReason",
  327. "InFlag",
  328. "EffectStartTime",
  329. "EffectEndTime",
  330. "AuditProcessNote",
  331. "AuditDate",
  332. "PayNotice",
  333. "SupplierStatus",
  334. "MgrType",
  335. "Type",
  336. "MgrUnit",
  337. "AddinTime",
  338. "EffectTime",
  339. "ApplyTime",
  340. "SupplierNo",
  341. "MDMFlag",
  342. "InternalFlag",
  343. "ImportFlag",
  344. "OutsideFlog",
  345. "Remark",
  346. "IsDelete",
  347. "CreateOn",
  348. "CreateUserId",
  349. "CreateBy",
  350. "ModifiedOn",
  351. "ModifiedUserId",
  352. "ModifiedBy",
  353. }
  354. err := svc.UpdateEntityBytbl(OilSupplierCertName, id, &model, cols)
  355. if err == nil {
  356. errinfo.Message = "修改成功!"
  357. errinfo.Code = 0
  358. this.Data["json"] = &errinfo
  359. this.ServeJSON()
  360. } else {
  361. errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
  362. errinfo.Code = -1
  363. this.Data["json"] = &errinfo
  364. this.ServeJSON()
  365. }
  366. }
  367. // @Title 企业入库
  368. // @Description 企业入库
  369. // @Success 200 {object} controllers.Request
  370. // @router /updatestorage/:id [post]
  371. func (this *OilSupplierCertController) UpdateStorage() {
  372. id := this.Ctx.Input.Param(":id")
  373. status := this.GetString("Status")
  374. var errinfo ErrorInfo
  375. if id == "" {
  376. errinfo.Message = "操作失败!请求信息不完整"
  377. errinfo.Code = -2
  378. this.Data["json"] = &errinfo
  379. this.ServeJSON()
  380. return
  381. }
  382. var model suppliercert.OilSupplierCert
  383. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  384. //var jsonBlob = this.Ctx.Input.RequestBody
  385. //json.Unmarshal(jsonBlob, &model)
  386. if status == suppliercert.NOPASS_STATUS {
  387. model.Status = suppliercert.DRAFT_STATUS
  388. } else {
  389. model.Status = suppliercert.STORE_STATUS
  390. }
  391. model.Step = 7
  392. model.StorageOn = time.Now()
  393. model.ApplyTime = time.Now().AddDate(1, 0 ,0)
  394. model.InFlag = "1"
  395. model.ModifiedOn = time.Now()
  396. model.ModifiedBy = this.User.Realname
  397. model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  398. cols := []string{
  399. "Step",
  400. "Status",
  401. "ApplyTime",
  402. "InFlag",
  403. "StorageOn",
  404. "ModifiedOn",
  405. "ModifiedUserId",
  406. "ModifiedBy",
  407. }
  408. err := svc.UpdateEntityBytbl(OilSupplierCertName, id, &model, cols)
  409. if err == nil {
  410. errinfo.Message = "提交成功!"
  411. errinfo.Code = 0
  412. this.Data["json"] = &errinfo
  413. this.ServeJSON()
  414. } else {
  415. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  416. errinfo.Code = -1
  417. this.Data["json"] = &errinfo
  418. this.ServeJSON()
  419. }
  420. }
  421. // @Title 删除单条信息
  422. // @Description
  423. // @Success 200 {object} ErrorInfo
  424. // @Failure 403 :id 为空
  425. // @router /delete/:Id [delete]
  426. func (this *OilSupplierCertController) DeleteEntity() {
  427. Id := this.Ctx.Input.Param(":Id")
  428. var errinfo ErrorInfo
  429. if Id == "" {
  430. errinfo.Message = "操作失败!请求信息不完整"
  431. errinfo.Code = -2
  432. this.Data["json"] = &errinfo
  433. this.ServeJSON()
  434. return
  435. }
  436. var model suppliercert.OilSupplierCert
  437. var entityempty suppliercert.OilSupplierCert
  438. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  439. opdesc := "删除-" + Id
  440. err := svc.DeleteOperationAndWriteLogBytbl(OilSupplierCertName, BaseOperationLogName, Id, &model, &entityempty, utils.ToStr(this.User.Id), this.User.Username, opdesc, this.User.AccCode, "钻井日报")
  441. if err == nil {
  442. errinfo.Message = "删除成功"
  443. errinfo.Code = 0
  444. this.Data["json"] = &errinfo
  445. this.ServeJSON()
  446. } else {
  447. errinfo.Message = "删除失败!" + utils.AlertProcess(err.Error())
  448. errinfo.Code = -1
  449. this.Data["json"] = &errinfo
  450. this.ServeJSON()
  451. }
  452. }
  453. // @Title 提交审批
  454. // @Description 提交审批
  455. // @Success 200 {object} controllers.Request
  456. // @router /audit/:id [post]
  457. func (this *OilSupplierCertController) AuditEntity() {
  458. certId := this.Ctx.Input.Param(":id")
  459. firstAudit := this.GetString("FirstAuditName")
  460. AuditRemark := this.GetString("AuditRemark")
  461. secondAudit := this.GetString("SecondAudit")
  462. thirdAudit := this.GetString("ThirdAudit")
  463. var setting auditsetting.Base_OilAuditSetting
  464. var userlist []userRole.Base_User
  465. usvc := userRole.GetUserService(utils.DBE)
  466. if this.User.IsCompanyUser == 1 {
  467. where := "AuditStepCode='" + workflow.SUB_OFFICE + "'"
  468. usvc.GetEntity(&setting, where)
  469. ids := usvc.GetUserIdsByRoleId(strconv.Itoa(setting.RoleId))
  470. tempstr := strings.Join(ids, ",")
  471. uids := strings.Replace(tempstr, "uid_", "", -1)
  472. uids = strings.Trim(uids, ",")
  473. if uids != "" {
  474. where := "Id in (" + uids + ")" + " and UnitId=" + firstAudit
  475. usvc.GetEntities(&userlist, where)
  476. }
  477. userIds := ""
  478. for _, tmpUser := range userlist {
  479. userIds += strconv.Itoa(tmpUser.Id) + ","
  480. }
  481. firstAudit = strings.Trim(userIds, ",")
  482. }
  483. //取出审批列表
  484. certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  485. var supplierCertEntity suppliercert.OilSupplierCert
  486. certSrv.GetEntityById(certId, &supplierCertEntity)
  487. svc := organize.GetOrganizeService(utils.DBE)
  488. unitId := svc.GetMyUnitDepartmentId(this.User.DepartmentId)
  489. var errinfo ErrorDataInfo
  490. defer func() { //finally处理失败的异常
  491. if err := recover(); err != nil {
  492. errinfo.Message = "提交失败," + err.(string)
  493. errinfo.Code = -1
  494. this.Data["json"] = &errinfo
  495. this.ServeJSON()
  496. } else {
  497. //返回正确结果
  498. errinfo.Message = "审核提交成功"
  499. errinfo.Code = 0
  500. this.Data["json"] = &errinfo
  501. this.ServeJSON()
  502. }
  503. }()
  504. ////判断当前部门是否企业用户
  505. //result := "1"
  506. //if this.User.IsCompanyUser == 1 {
  507. // result = "0"
  508. //}
  509. svcActiviti := workflow.GetActivitiService(utils.DBE)
  510. ////获得有审核权限的人员
  511. //var users []userRole.Base_RoleList
  512. //var userIds string
  513. //var auditWorkflow auditsetting.Base_OilAuditSetting
  514. //rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
  515. //rsvc.GetAuditStepRoleEntity(OilAuditSettingName, firstAudit, workflow.FIRST_TRIAL, &auditWorkflow)
  516. //users = rsvc.GetUserByRole(strconv.Itoa(auditWorkflow.RoleId), this.User.AccCode) //
  517. processInstanceId := ""
  518. businessKey := ""
  519. if supplierCertEntity.WorkflowId == "0" || len(supplierCertEntity.WorkflowId) <= 0 {
  520. //启动工作流
  521. businessKey = certId + "-" + strconv.Itoa(supplierCertEntity.AuditIndex)
  522. if this.User.IsCompanyUser == 1 {
  523. if supplierCertEntity.InStyle == "2" {
  524. processInstanceId = svcActiviti.StartProcess(workflow.OIL_FIRST_ENUSER_SUPPLIER_APPLY, businessKey, this.User.Id)
  525. } else if supplierCertEntity.InStyle == "3" {
  526. processInstanceId = svcActiviti.StartProcess(workflow.OIL_SECOND_ENUSER_SUPPLIER_APPLY, businessKey, this.User.Id)
  527. } else {
  528. processInstanceId = svcActiviti.StartProcess(workflow.OIL_ENUSER_SUPPLIER_APPLY, businessKey, this.User.Id)
  529. }
  530. }else if this.User.IsCompanyUser == 0 {
  531. if supplierCertEntity.InStyle == "2" {
  532. processInstanceId = svcActiviti.StartProcess(workflow.OIL_FIRST_SUPPLIER_APPLY, businessKey, this.User.Id)
  533. } else if supplierCertEntity.InStyle == "3" {
  534. processInstanceId = svcActiviti.StartProcess(workflow.OIL_SECOND_SUPPLIER_APPLY, businessKey, this.User.Id)
  535. } else {
  536. processInstanceId = svcActiviti.StartProcess(workflow.OIL_SUPPLIER_APPLY, businessKey, this.User.Id)
  537. }
  538. }
  539. } else {
  540. processInstanceId = supplierCertEntity.WorkflowId
  541. }
  542. //processInstanceId,_ := certSrv.SubmitOrgAudit(certId, workflow.OIL_SUPPLIER_APPLY, workflow.FIRST_TRIAL, this.User.Id, result, "提交给二级单位初审", OilSupplierCertSubName, OilClassOrgSettingName, "", "")
  543. //for _, tmpUser := range users {
  544. // userIds += strconv.FormatInt(tmpUser.Id, 10) + ","
  545. //}
  546. //userIds = strings.Trim(userIds, ",")
  547. var ActiComplete workflow.ActiCompleteVM
  548. if this.User.IsCompanyUser == 1 {
  549. if supplierCertEntity.InStyle == "2" {
  550. ActiComplete.ProcessKey = workflow.OIL_FIRST_ENUSER_SUPPLIER_APPLY
  551. } else if supplierCertEntity.InStyle == "3" {
  552. ActiComplete.ProcessKey = workflow.OIL_SECOND_ENUSER_SUPPLIER_APPLY
  553. } else {
  554. ActiComplete.ProcessKey = workflow.OIL_ENUSER_SUPPLIER_APPLY
  555. }
  556. }else if this.User.IsCompanyUser == 0 {
  557. if supplierCertEntity.InStyle == "2" {
  558. ActiComplete.ProcessKey = workflow.OIL_FIRST_SUPPLIER_APPLY
  559. } else if supplierCertEntity.InStyle == "3" {
  560. ActiComplete.ProcessKey = workflow.OIL_SECOND_SUPPLIER_APPLY
  561. } else {
  562. ActiComplete.ProcessKey = workflow.OIL_SUPPLIER_APPLY
  563. }
  564. }
  565. ActiComplete.BusinessKey = businessKey
  566. ActiComplete.UserNames = firstAudit
  567. ActiComplete.UserId = this.User.Id
  568. ActiComplete.Result = "1"
  569. ActiComplete.Remarks = AuditRemark
  570. ActiComplete.CallbackUrl = ""
  571. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  572. if receiveVal == "true" {
  573. errinfo.Message = "提交成功!"
  574. errinfo.Code = 0
  575. this.Data["json"] = &errinfo
  576. this.ServeJSON()
  577. } else {
  578. errinfo.Message = "工作流异常,请联系管理员!"
  579. errinfo.Code = -1
  580. this.Data["json"] = &errinfo
  581. this.ServeJSON()
  582. return
  583. }
  584. fmt.Println("-----------processInstanceId------------")
  585. //记下workflowID(首次提交时才会记录,中间状态请忽略) 及审批状态
  586. supplierCertEntity.WorkflowId = processInstanceId
  587. if this.User.IsCompanyUser == 1 {
  588. supplierCertEntity.Status = suppliercert.FEN_TRIAL_STATUS //分办
  589. }else if this.User.IsCompanyUser == 0 {
  590. supplierCertEntity.Status = suppliercert.FIRST_TRIAL_STATUS //二级单位初审
  591. }
  592. supplierCertEntity.Step = 2
  593. supplierCertEntity.FirstAudit, _ = strconv.Atoi(firstAudit)
  594. supplierCertEntity.AuditIndex = supplierCertEntity.AuditIndex + 1
  595. supplierCertEntity.BusinessKey = ActiComplete.BusinessKey
  596. supplierCertEntity.SecondAudit,_ = strconv.Atoi(secondAudit)
  597. supplierCertEntity.ThirdAudit,_ = strconv.Atoi(thirdAudit)
  598. supplierCertEntity.ProcessKey = ActiComplete.ProcessKey
  599. supplierCertEntity.CommitComId = unitId
  600. cols := []string{
  601. "Id",
  602. "WorkflowId",
  603. "Status",
  604. "Step",
  605. "FirstAudit",
  606. "AuditIndex",
  607. "BusinessKey",
  608. "SecondAudit",
  609. "ThirdAudit",
  610. "ProcessKey",
  611. "CommitComId",
  612. }
  613. certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  614. //var model classorgsetting.OilClassOrgSetting
  615. //var jsonBlob = this.Ctx.Input.RequestBody
  616. //svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  617. //
  618. //json.Unmarshal(jsonBlob, &model)
  619. //model.CreateOn = time.Now()
  620. //model.CreateBy = this.User.Realname
  621. //model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  622. ////model.OrganizeId, _ = utils.StrTo(this.User.DepartmentId).Int()
  623. //
  624. //svc.InsertEntityBytbl(OilSupplierCertName, &model)
  625. //fmt.Println(model)
  626. }
  627. // @Title 专业审批
  628. // @Description 准入初审提交审批
  629. // @Success 200 {object} controllers.Request
  630. // @router /admission/:id [post]
  631. func (this *OilSupplierCertController) AuditEntityadmission() {
  632. certId := this.Ctx.Input.Param(":id")
  633. var errinfo ErrorDataInfo
  634. defer func() { //finally处理失败的异常
  635. if err := recover(); err != nil {
  636. errinfo.Message = "提交失败," + err.(string)
  637. errinfo.Code = -1
  638. this.Data["json"] = &errinfo
  639. this.ServeJSON()
  640. } else {
  641. //返回正确结果
  642. errinfo.Message = "审核提交成功"
  643. errinfo.Code = 0
  644. this.Data["json"] = &errinfo
  645. this.ServeJSON()
  646. }
  647. }()
  648. //取出审批列表
  649. certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  650. certSrv.SubmitOrgAudit(certId, workflow.OIL_SUPPLIER_APPLY, workflow.PROF_AUDIT, this.User.Id, "1", "提交给专业科室审核", OilSupplierCertSubName, OilClassOrgSettingName, "", "")
  651. //记下workflowID(首次提交时才会记录,中间状态请忽略) 及审批状态
  652. var supplierCertEntity suppliercert.OilSupplierCert
  653. certSrv.GetEntityById(certId, supplierCertEntity)
  654. supplierCertEntity.Status = suppliercert.PROF_AUDIT_STATUS //二级单位初审
  655. cols := []string{
  656. "Id",
  657. "Status",
  658. }
  659. certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  660. }
  661. // @Title 审批
  662. // @Description 审批
  663. // @Param body body suppliercert.OilSupplierCert
  664. // @Success 200 {object} controllers.Request
  665. // @router /auditEntityFir/:id [post]
  666. func (this *OilSupplierCertController) AuditEntityFir() {
  667. var dataother ShenHeModel
  668. certId := this.Ctx.Input.Param(":id")
  669. auditer := this.GetString("auditer")
  670. firstAudit := this.GetString("FirstAuditName")
  671. AuditRemark := this.GetString("AuditRemark")
  672. secondAudit := this.GetString("SecondAudit")
  673. thirdAudit := this.GetString("ThirdAudit")
  674. //majorDept := this.GetString("majorDept")
  675. //取出审批列表
  676. certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  677. var supplierCertEntity suppliercert.OilSupplierCert
  678. var supplierEntity supplier.OilSupplier
  679. certSrv.GetEntityById(certId, &supplierCertEntity)
  680. wheresup := "Id=" + strconv.Itoa(supplierCertEntity.SupplierId)
  681. certSrv.GetEntity(&supplierEntity, wheresup)
  682. var jsonblob = this.Ctx.Input.RequestBody
  683. json.Unmarshal(jsonblob, &dataother)
  684. if AuditRemark != "" {
  685. dataother.AuditorRemark = AuditRemark
  686. }
  687. var errinfo ErrorDataInfo
  688. defer func() { //finally处理失败的异常
  689. if err := recover(); err != nil {
  690. errinfo.Message = "提交失败," + err.(string)
  691. errinfo.Code = -1
  692. this.Data["json"] = &errinfo
  693. this.ServeJSON()
  694. } else {
  695. //返回正确结果
  696. errinfo.Message = "审核提交成功"
  697. errinfo.Code = 0
  698. this.Data["json"] = &errinfo
  699. this.ServeJSON()
  700. }
  701. }()
  702. //remarks := ""
  703. step := 2
  704. status := ""
  705. backstatus := "0"
  706. var userIds string
  707. if supplierCertEntity.Status == suppliercert.FEN_TRIAL_STATUS {
  708. userIds = firstAudit
  709. status = suppliercert.FIRST_TRIAL_STATUS
  710. step = 2
  711. supplierCertEntity.Step = 2
  712. supplierCertEntity.FirstAudit, _ = strconv.Atoi(firstAudit)
  713. supplierCertEntity.SecondAudit,_ = strconv.Atoi(secondAudit)
  714. supplierCertEntity.ThirdAudit,_ = strconv.Atoi(thirdAudit)
  715. cols := []string{
  716. "Id",
  717. "Step",
  718. "FirstAudit",
  719. "SecondAudit",
  720. "ThirdAudit",
  721. }
  722. certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  723. }
  724. if supplierCertEntity.Status == suppliercert.FIRST_TRIAL_STATUS {
  725. userIds = utils.ToStr(supplierCertEntity.SecondAudit)
  726. status = suppliercert.SECOND_TRIAL_STATUS
  727. backstatus = suppliercert.NOPASS_STATUS
  728. step = 2
  729. //supplierCertEntity.ThirdAudit,_ = strconv.Atoi(majorDept)
  730. //cols := []string{
  731. // "ThirdAudit",
  732. //}
  733. //certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  734. } else if supplierCertEntity.Status == suppliercert.SECOND_TRIAL_STATUS {
  735. step = 2
  736. backstatus = suppliercert.NO_SECOND_TRIAL_STATUS
  737. svc := organize.GetOrganizeService(utils.DBE)
  738. unitId := svc.GetMyUnitDepartmentId(strconv.Itoa(supplierCertEntity.ThirdAudit))
  739. var userlist []userRole.Base_User
  740. var setting auditsetting.Base_OilAuditSetting
  741. usvc := userRole.GetUserService(utils.DBE)
  742. if supplierCertEntity.InStyle == "2" {
  743. status = suppliercert.CENT_AUDIT_STATUS
  744. where := "AuditStepCode='" + workflow.PROF_REGULATION + "'"
  745. usvc.GetEntity(&setting, where)
  746. paramSvc := baseparameter.GetBaseparameterService(utils.DBE)
  747. topid := paramSvc.GetBaseparameterMessage("", "paramset", "CENT_AUDIT")
  748. ids := usvc.GetUserIdsByRoleId(strconv.Itoa(setting.RoleId))
  749. tempstr := strings.Join(ids, ",")
  750. uids := strings.Replace(tempstr, "uid_", "", -1)
  751. uids = strings.Trim(uids, ",")
  752. if uids != "" {
  753. where := "Id in (" + uids + ")" + " and UnitId=" + topid
  754. usvc.GetEntities(&userlist, where)
  755. }
  756. } else {
  757. status = suppliercert.THIRD_TRIAL_STATUS
  758. where := "AuditStepCode='" + workflow.PROF_RECE + "'"
  759. svc.GetEntity(&setting, where)
  760. ids := usvc.GetUserIdsByRoleId(strconv.Itoa(setting.RoleId))
  761. tempstr := strings.Join(ids, ",")
  762. uids := strings.Replace(tempstr, "uid_", "", -1)
  763. uids = strings.Trim(uids, ",")
  764. if uids != "" {
  765. where := "Id in (" + uids + ")" + " and UnitId=" + unitId
  766. svc.GetEntities(&userlist, where)
  767. }
  768. }
  769. //var users []userRole.Base_RoleList
  770. //certSrv.GetAuditUser(strconv.Itoa(supplierCertEntity.ThirdAudit), workflow.PROF_RECE, &users)
  771. for _, tmpUser := range userlist {
  772. userIds += strconv.Itoa(tmpUser.Id) + "," //strconv.FormatInt(tmpUser.Id, 10) + ","
  773. }
  774. userIds = strings.Trim(userIds, ",")
  775. step = 2
  776. backstatus = suppliercert.NO_SECOND_TRIAL_STATUS
  777. } else if supplierCertEntity.Status == suppliercert.THIRD_TRIAL_STATUS {
  778. userIds = auditer
  779. status = suppliercert.PROF_AUDIT_STATUS
  780. step = 2
  781. backstatus = suppliercert.NO_THIRD_TRIAL_STATUS
  782. } else if supplierCertEntity.Status == suppliercert.PROF_AUDIT_STATUS {
  783. if supplierCertEntity.InStyle == "3" {
  784. userIds = auditer
  785. status = suppliercert.PAYING_AUDIT_STATUS
  786. step = 3
  787. backstatus = suppliercert.NO_CENT_AUDIT_STATUS
  788. } else {
  789. status = suppliercert.CENT_AUDIT_STATUS
  790. step = 2
  791. backstatus = suppliercert.NO_PROF_AUDIT_STATUS
  792. paramSvc := baseparameter.GetBaseparameterService(utils.DBE)
  793. topid := paramSvc.GetBaseparameterMessage("", "paramset", "CENT_AUDIT")
  794. var userlist []userRole.Base_User
  795. var setting auditsetting.Base_OilAuditSetting
  796. usvc := userRole.GetUserService(utils.DBE)
  797. where := "AuditStepCode='" + workflow.PROF_REGULATION + "'"
  798. usvc.GetEntity(&setting, where)
  799. ids := usvc.GetUserIdsByRoleId(strconv.Itoa(setting.RoleId))
  800. tempstr := strings.Join(ids, ",")
  801. uids := strings.Replace(tempstr, "uid_", "", -1)
  802. uids = strings.Trim(uids, ",")
  803. if uids != "" {
  804. where := "Id in (" + uids + ")" + " and UnitId=" + topid
  805. usvc.GetEntities(&userlist, where)
  806. }
  807. for _, tmpUser := range userlist {
  808. userIds += strconv.Itoa(tmpUser.Id) + ","
  809. }
  810. userIds = strings.Trim(userIds, ",")
  811. }
  812. } else if supplierCertEntity.Status == suppliercert.CENT_AUDIT_STATUS {
  813. userIds = auditer
  814. status = suppliercert.PAYING_AUDIT_STATUS
  815. step = 3
  816. backstatus = suppliercert.NO_CENT_AUDIT_STATUS
  817. }
  818. svcActiviti := workflow.GetActivitiService(utils.DBE)
  819. var ActiComplete workflow.ActiCompleteVM
  820. ActiComplete.ProcessKey = supplierCertEntity.ProcessKey
  821. ActiComplete.BusinessKey = supplierCertEntity.BusinessKey
  822. ActiComplete.UserNames = userIds
  823. ActiComplete.UserId = this.User.Id
  824. ActiComplete.Remarks = dataother.AuditorRemark
  825. ActiComplete.CallbackUrl = ""
  826. if dataother.SuccessStatus == 1 {
  827. ActiComplete.Result = "1"
  828. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  829. if receiveVal == "true" {
  830. if supplierCertEntity.Status == suppliercert.CENT_AUDIT_STATUS {
  831. if supplierCertEntity.InStyle == "1" {
  832. paysvc := paymentinfo.GetPaymentService(utils.DBE)
  833. var Amount float64
  834. asvc := oilcostmanage.GetOilCostManageService(utils.DBE)
  835. Amount = asvc.GetAmount("ZHUNRU",supplierCertEntity.SupplierTypeCode)
  836. //if supplierCertEntity.SupplierTypeCode == suppliercert.DOOGS_TYPECODE {
  837. // Amount = 6000
  838. //} else if supplierCertEntity.SupplierTypeCode == suppliercert.BASIS_TYPECODE {
  839. // Amount = 7000
  840. //} else if supplierCertEntity.SupplierTypeCode == suppliercert.TECH_TYPECODE {
  841. // Amount = 8000
  842. //}
  843. var payinfo paymentinfo.OilPaymentInfo
  844. payinfo.SupplierId = supplierCertEntity.SupplierId
  845. payinfo.SrcId = supplierCertEntity.Id
  846. payinfo.SupplierCertId = supplierCertEntity.Id
  847. payinfo.USCCode = supplierEntity.CommercialNo
  848. payinfo.SupplierName = supplierEntity.SupplierName
  849. payinfo.PayType = "1"
  850. payinfo.Amount = strconv.FormatFloat(Amount,'E',-1,64)
  851. payinfo.IsPay = "0"
  852. payinfo.CreateUserId = supplierCertEntity.CreateUserId
  853. payinfo.CreateBy = supplierCertEntity.CreateBy
  854. payinfo.CreateOn = time.Now()
  855. paysvc.InsertEntity(&payinfo)
  856. //发短信
  857. toMobile := supplierEntity.Mobile
  858. msg:= "您的"+supplierCertEntity.SupplierTypeName + "准入审核通过,请及时确认缴费信息!"
  859. msgService := msg2.GetMsgService(utils.DBE)
  860. msgService.HandleMsg(toMobile,msg,"3-1",supplierCertEntity.CreateBy,supplierEntity.ContactName,strconv.Itoa(supplierCertEntity.CreateUserId))
  861. //paysvc.AddPaymentinfo(supplierCertEntity.SupplierId, supplierCertEntity.Id, Amount, "1")
  862. supplierCertEntity.Status = status
  863. supplierCertEntity.Step = step
  864. cols := []string{
  865. "Status",
  866. "Step",
  867. }
  868. certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  869. } else {
  870. supplierCertEntity.Status = suppliercert.STOREING_STATUS
  871. supplierCertEntity.Step = step
  872. cols := []string{
  873. "Status",
  874. "Step",
  875. }
  876. certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  877. }
  878. } else if supplierCertEntity.Status == suppliercert.PROF_AUDIT_STATUS && supplierCertEntity.InStyle == "3" {
  879. //if supplierCertEntity.InStyle == "3" {
  880. supplierCertEntity.Status = suppliercert.STOREING_STATUS
  881. supplierCertEntity.Step = 3
  882. cols := []string{
  883. "Status",
  884. "Step",
  885. }
  886. certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  887. //} else {
  888. // supplierCertEntity.Status = status
  889. // supplierCertEntity.Step = step
  890. // cols := []string{
  891. // "Status",
  892. // "Step",
  893. // }
  894. // certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  895. //}
  896. } else {
  897. supplierCertEntity.Status = status
  898. supplierCertEntity.Step = step
  899. cols := []string{
  900. "Status",
  901. "Step",
  902. }
  903. certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  904. }
  905. errinfo.Message = "提交成功!"
  906. errinfo.Code = 0
  907. this.Data["json"] = &errinfo
  908. this.ServeJSON()
  909. } else {
  910. errinfo.Message = "工作流异常,请联系管理员!"
  911. errinfo.Code = -1
  912. this.Data["json"] = &errinfo
  913. this.ServeJSON()
  914. return
  915. }
  916. } else {
  917. ActiComplete.Result = "0"
  918. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  919. if receiveVal == "true" {
  920. // 审批历史
  921. var audithistoryentity audithistory.Base_AuditHistory
  922. audithistoryentity.EntityId = supplierCertEntity.Id
  923. audithistoryentity.WorkflowId = supplierCertEntity.WorkflowId
  924. audithistoryentity.Process = ActiComplete.ProcessKey
  925. audithistoryentity.BusinessKey = ActiComplete.BusinessKey
  926. audithistoryentity.Type = supplierCertEntity.SupplierTypeCode
  927. audithistoryentity.BackStep = supplierCertEntity.Status
  928. audithistoryentity.Index = supplierCertEntity.AuditIndex
  929. audithistoryentity.CreateOn = time.Now()
  930. audithistoryentity.CreateBy = this.User.Realname
  931. audithistoryentity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  932. certSrv.InsertEntity(audithistoryentity)
  933. if supplierCertEntity.Status == suppliercert.CENT_AUDIT_STATUS {
  934. supplierCertEntity.Status = suppliercert.NOPASS_STATUS
  935. } else {
  936. supplierCertEntity.Status = backstatus
  937. }
  938. supplierCertEntity.Step = 1
  939. supplierCertEntity.WorkflowId = ""
  940. cols := []string{
  941. "Status",
  942. "Step",
  943. "WorkflowId",
  944. }
  945. certSrv.UpdateEntityByIdCols(certId, supplierCertEntity, cols)
  946. errinfo.Message = "提交成功!"
  947. errinfo.Code = 0
  948. this.Data["json"] = &errinfo
  949. this.ServeJSON()
  950. } else {
  951. errinfo.Message = "工作流异常,请联系管理员!"
  952. errinfo.Code = -1
  953. this.Data["json"] = &errinfo
  954. this.ServeJSON()
  955. return
  956. }
  957. }
  958. }
  959. // @Title 审核
  960. // @Description 审核
  961. // @Success 200 {object} controllers.Request
  962. // @router /auditcallback [get]
  963. func (this *OilSupplierCertController) AuditCallback() {
  964. id := this.GetString("Id")
  965. status := this.GetString("status")
  966. step := this.GetString("step")
  967. var supplierCertEntity suppliercert.OilSupplierCert
  968. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  969. supplierCertEntity.Status = status
  970. supplierCertEntity.Step, _ = strconv.Atoi(step)
  971. cols := []string{
  972. "Id",
  973. "Status",
  974. "step",
  975. }
  976. svc.UpdateEntityByIdCols(id, supplierCertEntity, cols)
  977. fmt.Println(id, status, step)
  978. }
  979. // @Title 获取实体
  980. // @Description 获取实体
  981. // @Success 200 {object} controllers.Request
  982. // @router /isaccess [get]
  983. func (this *OilSupplierCertController) IsAccess() {
  984. auditstepcode := this.GetString("auditstepcode")
  985. //var users []userRole.Base_RoleList
  986. //var auditWorkflow auditsetting.Base_OilAuditSetting
  987. //rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
  988. res := false
  989. if auditstepcode == workflow.PROF_CONCENT { // 集中审批
  990. //rsvc.GetAuditStepRoleEntity(OilAuditSettingName, this.User.DepartmentId, workflow.PROF_AUDIT, &auditWorkflow)
  991. //users = rsvc.GetUserByRole("10000204", this.User.AccCode)
  992. //for _, user := range users {
  993. // if this.User.Id == strconv.Itoa(int(user.Id)) {
  994. // res = true
  995. // break
  996. // }
  997. //}
  998. var setting auditsetting.Base_OilAuditSetting
  999. svc := organize.GetOrganizeService(utils.DBE)
  1000. where := "AuditStepCode='" + auditstepcode + "'"
  1001. svc.GetEntity(&setting, where)
  1002. res = svc.UserInRoleById(this.User.Id, strconv.Itoa(setting.RoleId))
  1003. } else {
  1004. //var users []suppliercert.UserList
  1005. //where := "OrganizeId=" + this.User.DepartmentId + " and AuditStepCode='" + auditstepcode + "'"
  1006. //rsvc.GetEntitysByWhere(OilAuditSettingName,where, &users)
  1007. //rsvc.GetAuditStepRoleEntity(OilAuditSettingName, this.User.DepartmentId, auditstepcode, &auditWorkflow)
  1008. //users = rsvc.GetUserByRole(strconv.Itoa(auditWorkflow.RoleId), this.User.AccCode)
  1009. //var users []userRole.Base_RoleList
  1010. //certSrv := suppliercert.GetOilSupplierCertService(utils.DBE)
  1011. //certSrv.GetAuditUser(this.User.DepartmentId, auditstepcode, &users)
  1012. var setting auditsetting.Base_OilAuditSetting
  1013. svc := organize.GetOrganizeService(utils.DBE)
  1014. where := "AuditStepCode='" + auditstepcode + "'"
  1015. svc.GetEntity(&setting, where)
  1016. res = svc.UserInRoleById(this.User.Id, strconv.Itoa(setting.RoleId))
  1017. //for _, user := range users {
  1018. // if this.User.Id == strconv.Itoa(int(user.Id)) {
  1019. // res = true
  1020. // break
  1021. // }
  1022. //}
  1023. }
  1024. this.Data["json"] = res
  1025. this.ServeJSON()
  1026. }
  1027. // @Title 获取准入编码
  1028. // @Description 获取准入编码
  1029. // @Success 200 {object} controllers.Request
  1030. // @router /createaccesscardno/:type [get]
  1031. func (this *OilSupplierCertController) CreateAccessCardNo() {
  1032. Id := this.GetString("Id")
  1033. certId := this.GetString(("SupplierCertId"))
  1034. typeCode := this.Ctx.Input.Param(":type")
  1035. codecSvc := codecsequence.GetCodecSequenceService(utils.DBE)
  1036. var model []supplier.OilSupplier
  1037. var entity supplier.OilSupplier
  1038. //where := "Id = " + Id
  1039. codecSvc.GetEntities(&model, "")
  1040. seqStr := ""
  1041. cols := []string{}
  1042. if (typeCode == "01") { // 物质
  1043. seqStr = codecSvc.GetWZAccessCardNo(this.User.AccCode)
  1044. if model != nil {
  1045. for i := 0; i < len(model); i++ {
  1046. if seqStr == model[i].WZAccessCardNo {
  1047. seqStr = codecSvc.GetWZAccessCardNo(this.User.AccCode)
  1048. i = 0
  1049. }
  1050. }
  1051. }
  1052. entity.WZAccessCardNo = seqStr
  1053. cols = []string{"WZAccessCardNo"}
  1054. } else if typeCode == "03" { //技术服务
  1055. seqStr = codecSvc.GetJFAccessCardNo(this.User.AccCode)
  1056. if model != nil {
  1057. for i := 0; i < len(model); i++ {
  1058. if seqStr == model[i].JFAccessCardNo {
  1059. seqStr = codecSvc.GetJFAccessCardNo(this.User.AccCode)
  1060. i = 0
  1061. }
  1062. }
  1063. }
  1064. entity.JFAccessCardNo = seqStr
  1065. cols = []string{"JFAccessCardNo"}
  1066. } else if typeCode == "02" { // 基建
  1067. seqStr = codecSvc.GetJSAccessCardNo(this.User.AccCode)
  1068. if model != nil {
  1069. for i := 0; i < len(model); i++ {
  1070. if seqStr == model[i].JSAccessCardNo {
  1071. seqStr = codecSvc.GetJSAccessCardNo(this.User.AccCode)
  1072. i = 0
  1073. }
  1074. }
  1075. }
  1076. entity.JSAccessCardNo = seqStr
  1077. cols = []string{"JSAccessCardNo"}
  1078. }
  1079. codecSvc.UpdateEntityByIdCols(Id, &entity, cols)
  1080. var cert suppliercert.OilSupplierCert
  1081. certcols := []string{"AccessCardNo"}
  1082. cert.AccessCardNo = seqStr
  1083. codecSvc.UpdateEntityByIdCols(certId, &cert, certcols)
  1084. this.Data["json"] = seqStr
  1085. this.ServeJSON()
  1086. }
  1087. // @Title 修改准入标识
  1088. // @Description 修改准入标识
  1089. // @Success 200 {object} controllers.Request
  1090. // @router /updatainflag/ [get]
  1091. func (this *OilSupplierCertController) UpdataInFlag() {
  1092. t := time.Now()
  1093. session := utils.DBE.NewSession()
  1094. var certentitys []suppliercert.OilSupplierCert
  1095. svc := suppliercert.GetOilSupplierCertSession(session)
  1096. defer func() {
  1097. session.Close()
  1098. }()
  1099. err := session.Begin()
  1100. svc.GetEntities(&certentitys, "InFlag!='3'")
  1101. currenttime := time.Now()
  1102. //.Format("2006-01-02")
  1103. for i := 0; i < len(certentitys); i++ {
  1104. if currenttime.After(certentitys[i].ApplyTime) && !currenttime.After(certentitys[i].ApplyTime.AddDate(1,0,0)) && certentitys[i].InFlag != "2" {
  1105. var certentity suppliercert.OilSupplierCert
  1106. certentity.InFlag = "2"
  1107. cols := []string{"InFlag"}
  1108. _,err = svc.UpdateEntityByIdCols(certentitys[i].Id, &certentity, cols)
  1109. if err != nil {
  1110. session.Rollback()
  1111. }
  1112. }
  1113. if currenttime.After(certentitys[i].ApplyTime.AddDate(1, 0, 0)) {
  1114. fmt.Println(time.Now().Format("2006-01-02"), certentitys[i].ApplyTime.AddDate(1, 0, 0).Format("2006-01-02"))
  1115. var certentity suppliercert.OilSupplierCert
  1116. certentity.InFlag = "3"
  1117. cols := []string{"InFlag"}
  1118. _,err = svc.UpdateEntityByIdCols(certentitys[i].Id, &certentity, cols)
  1119. if err != nil {
  1120. session.Rollback()
  1121. }
  1122. }
  1123. }
  1124. err = session.Commit()
  1125. fmt.Println(err)
  1126. elapsed := time.Since(t)
  1127. fmt.Println(elapsed, "更新准入标识")
  1128. }
  1129. // @Title 保存准入编码
  1130. // @Description 保存准入编码
  1131. // @Success 200 {object} controllers.Request
  1132. // @router /saveaccesscardno/:Id [get]
  1133. func (this *OilSupplierCertController) SaveAccessCardNo() {
  1134. id := this.Ctx.Input.Param(":Id")
  1135. certId := this.GetString(("SupplierCertId"))
  1136. typeCode := this.GetString("typeCode")
  1137. accessCardNo := this.GetString("AccessCardNo")
  1138. var model []suppliercert.OilSupplierCert
  1139. var supplier supplier.OilSupplier
  1140. svc := suppliercert.GetOilSupplierCertService(utils.DBE)
  1141. where := "AccessCardNo='" + accessCardNo + "'"
  1142. svc.GetEntities(&model, where)
  1143. supcols := []string{}
  1144. if model == nil || len(model) == 0 {
  1145. if (typeCode == "01") { // 物质
  1146. supplier.WZAccessCardNo = accessCardNo
  1147. supcols = []string{"WZAccessCardNo"}
  1148. } else if typeCode == "03" { //技术服务
  1149. supplier.JFAccessCardNo = accessCardNo
  1150. supcols = []string{"JFAccessCardNo"}
  1151. } else if typeCode == "02" { // 基建
  1152. supplier.JSAccessCardNo = accessCardNo
  1153. supcols = []string{"JSAccessCardNo"}
  1154. }
  1155. svc.UpdateEntityByIdCols(id, &supplier, supcols)
  1156. var cert suppliercert.OilSupplierCert
  1157. certcols := []string{"AccessCardNo"}
  1158. cert.AccessCardNo = accessCardNo
  1159. svc.UpdateEntityByIdCols(certId, &cert, certcols)
  1160. var errinfo ErrorDataInfo
  1161. errinfo.Message = "保存成功!"
  1162. errinfo.Code = 0
  1163. this.Data["json"] = &errinfo
  1164. this.ServeJSON()
  1165. } else {
  1166. var errinfo ErrorDataInfo
  1167. errinfo.Message = "准入编码已经存在!"
  1168. errinfo.Code = -1
  1169. this.Data["json"] = &errinfo
  1170. this.ServeJSON()
  1171. }
  1172. }
  1173. // @Title 快到期短信通知
  1174. // @Description 修改准入标识
  1175. // @Success 200 {object} controllers.Request
  1176. // @router /sendingSMS/ [get]
  1177. func (this *OilSupplierCertController) SendingSMS() {
  1178. t := time.Now()
  1179. svcsupp := supplier.GetOilSupplierService(utils.DBE)
  1180. var list []supplier.OilSupplierView
  1181. where := "b.InFlag = '1'"
  1182. svcsupp.GetMyPagingEntitiesWithOrderBytbl(OilSupplierName, OilSupplierCertName, 0, 0, "Id", true, &list, where)
  1183. currenttime := time.Now()
  1184. for _,item := range list {
  1185. if currenttime.AddDate(0,3,0).Format("2006-01-02") == (item.ApplyTime.Format("2006-01-02")) {
  1186. toMobile := "15288965998,15863081686,15563862958"//item.Mobile
  1187. msg:= "您的" + item.SupplierTypeName + "准入还有3个月到期"
  1188. msgService := msg2.GetMsgService(utils.DBE)
  1189. msgService.HandleMsg(toMobile,msg,"1-1",item.CreateBy,item.ContactName,strconv.Itoa(item.CreateUserId))
  1190. }
  1191. if currenttime.AddDate(0,2,0).Format("2006-01-02") == (item.ApplyTime.Format("2006-01-02")) {
  1192. toMobile := "15288965998,15863081686,15563862958"//item.Mobile
  1193. msg:= "您的" + item.SupplierTypeName + "准入还有2个月到期"
  1194. msgService := msg2.GetMsgService(utils.DBE)
  1195. msgService.HandleMsg(toMobile,msg,"1-1",item.CreateBy,item.ContactName,strconv.Itoa(item.CreateUserId))
  1196. }
  1197. if currenttime.AddDate(0,1,0).Format("2006-01-02") == (item.ApplyTime.Format("2006-01-02")) {
  1198. toMobile := ",15863081686,15863081686,15563862958"//item.Mobile
  1199. msg:= "您的" + item.SupplierTypeName + "准入还有1个月到期"
  1200. msgService := msg2.GetMsgService(utils.DBE)
  1201. msgService.HandleMsg(toMobile,msg,"1-1",item.CreateBy,item.ContactName,strconv.Itoa(item.CreateUserId))
  1202. }
  1203. }
  1204. elapsed := time.Since(t)
  1205. fmt.Println(elapsed, "快到期提醒")
  1206. }