annualaudit.go 37 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146
  1. package oilsupplier
  2. import (
  3. "dashoo.cn/backend/api/business/audithistory"
  4. "dashoo.cn/backend/api/business/baseUser"
  5. msg2 "dashoo.cn/backend/api/business/msg"
  6. "dashoo.cn/backend/api/business/oilsupplier/infochange"
  7. "dashoo.cn/backend/api/business/oilsupplier/oilcostmanage"
  8. "dashoo.cn/backend/api/business/oilsupplier/suppliercert"
  9. "dashoo.cn/backend/api/business/organize"
  10. "dashoo.cn/backend/api/business/paymentinfo"
  11. "dashoo.cn/backend/api/business/register"
  12. "dashoo.cn/business2/areajson"
  13. "dashoo.cn/business2/items"
  14. "dashoo.cn/business2/permission"
  15. "encoding/json"
  16. "fmt"
  17. "strconv"
  18. "strings"
  19. "time"
  20. "dashoo.cn/backend/api/business/auditsetting"
  21. "dashoo.cn/backend/api/business/oilsupplier/annualaudit"
  22. "dashoo.cn/backend/api/business/oilsupplier/supplier"
  23. "dashoo.cn/backend/api/business/workflow"
  24. "dashoo.cn/business2/userRole"
  25. . "dashoo.cn/backend/api/controllers"
  26. "dashoo.cn/utils"
  27. )
  28. type AnnualAuditController struct {
  29. BaseController
  30. }
  31. type ShenHeModel struct {
  32. AnnualId int
  33. SuccessStatus int
  34. AuditorRemark string
  35. }
  36. type ComShenHeModel struct {
  37. SupplierId int
  38. SupplierTypeName string
  39. Remark string
  40. }
  41. // @Title 获取列表
  42. // @Description get user by token
  43. // @Success 200 {object} []annualaudit.OilAnnualAudit
  44. // @router /list [get]
  45. func (this *AnnualAuditController) GetEntityList() {
  46. //获取分页信息
  47. page := this.GetPageInfoForm()
  48. where := " b.Id is not null "
  49. orderby := "b.Id"
  50. asc := false
  51. Order := this.GetString("Order")
  52. Prop := this.GetString("Prop")
  53. if Order != "" && Prop != "" {
  54. orderby = Prop
  55. if Order == "asc" {
  56. asc = true
  57. }
  58. }
  59. SupplierTypeName := this.GetString("SupplierTypeName")
  60. RecUnitId := this.GetString("RecUnitId")
  61. AccessCardNo := this.GetString("AccessCardNo")
  62. SupplierName := this.GetString("SupplierName")
  63. CreateOn := this.GetString("CreateOn")
  64. if SupplierTypeName != "" {
  65. where = where + " and b.SupplierTypeName like '%" + SupplierTypeName + "%'"
  66. }
  67. if RecUnitId != "" {
  68. where = where + " and b.RecUnitId like '%" + RecUnitId + "%'"
  69. }
  70. if AccessCardNo != "" {
  71. where = where + " and b.AccessCardNo like '%" + AccessCardNo + "%'"
  72. }
  73. if SupplierName != "" {
  74. where = where + " and b.SupplierName like '%" + SupplierName + "%'"
  75. }
  76. if CreateOn != "" {
  77. dates := strings.Split(CreateOn, ",")
  78. if len(dates) == 2 {
  79. minDate := dates[0]
  80. maxDate := dates[1]
  81. where = where + " and b.CreateOn>='" + minDate + "' and b.CreateOn<='" + maxDate + "'"
  82. }
  83. }
  84. svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
  85. var registerUser register.OilCorporateInfo
  86. sql := " UserName='" + this.User.Username + "'"
  87. svc.GetEntity(&registerUser,sql)
  88. //企业用户必须加创建人条件
  89. if this.User.IsCompanyUser == 1 {
  90. where = where + " and (b.CreateUserId = '" + this.User.Id + "' or a.CommercialNo='"+registerUser.CommercialNo+"')"
  91. } else {
  92. //超级管理员和有查看所有数据权限的用户不加条件
  93. svcPerm := permission.GetPermissionService(utils.DBE)
  94. isauth := svcPerm.IsAuthorized(this.User.Id, "oil_supplier.annual.AllRecord")
  95. if !svcPerm.IsAdmin(this.User.Id) && !isauth {
  96. where = where + " and (b.CreateUserId = '" + this.User.Id + "' or a.CommercialNo='"+registerUser.CommercialNo+"')"
  97. }
  98. }
  99. var list []annualaudit.OilAnnualAudit
  100. //total := svc.GetPagingEntitiesWithOrderBytbl("", page.CurrentPage, page.Size, orderby, asc, &list, where)
  101. total := svc.GetMyPagingEntitiesWithOrderBytbl(OilSupplierName, OilAnnualAuditName, page.CurrentPage, page.Size, orderby, asc, &list, where)
  102. var datainfo DataInfo
  103. datainfo.Items = list
  104. datainfo.CurrentItemCount = total
  105. datainfo.PageIndex = page.CurrentPage
  106. datainfo.ItemsPerPage = page.Size
  107. this.Data["json"] = &datainfo
  108. this.ServeJSON()
  109. }
  110. // @Title 获取审批列表
  111. // @Description get user by token
  112. // @Success 200 {object} []annualaudit.OilAnnualAudit
  113. // @router /mytasks [get]
  114. func (this *AnnualAuditController) GetMyTaskEntityList() {
  115. //获取分页信息
  116. page := this.GetPageInfoForm()
  117. where := " 1=1 "
  118. orderby := "Id"
  119. asc := false
  120. Order := this.GetString("Order")
  121. Prop := this.GetString("Prop")
  122. if Order != "" && Prop != "" {
  123. orderby = Prop
  124. if Order == "asc" {
  125. asc = true
  126. }
  127. }
  128. SupplierTypeName := this.GetString("SupplierTypeName")
  129. RecUnitId := this.GetString("RecUnitId")
  130. AccessCardNo := this.GetString("AccessCardNo")
  131. SupplierName := this.GetString("SupplierName")
  132. CreateOn := this.GetString("CreateOn")
  133. if SupplierTypeName != "" {
  134. where = where + " and SupplierTypeName like '%" + SupplierTypeName + "%'"
  135. }
  136. if RecUnitId != "" {
  137. where = where + " and RecUnitId like '%" + RecUnitId + "%'"
  138. }
  139. if AccessCardNo != "" {
  140. where = where + " and AccessCardNo like '%" + AccessCardNo + "%'"
  141. }
  142. if SupplierName != "" {
  143. where = where + " and SupplierName like '%" + SupplierName + "%'"
  144. }
  145. if CreateOn != "" {
  146. dates := strings.Split(CreateOn, ",")
  147. if len(dates) == 2 {
  148. minDate := dates[0]
  149. maxDate := dates[1]
  150. where = where + " and CreateOn>='" + minDate + "' and CreateOn<='" + maxDate + "'"
  151. }
  152. }
  153. svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
  154. var list []annualaudit.OilAnnualAudit
  155. //找出待办任务
  156. actisvc := workflow.GetActivitiService(utils.DBE)
  157. certIdList := actisvc.GetMyTasks(workflow.OIL_AUDIT_APPLY, this.User.Id)
  158. annuIdarr := strings.Split(certIdList, ",")
  159. for i, item := range annuIdarr {
  160. idx := strings.Index(item, "-")
  161. if idx >= 0 {
  162. annuIdarr[i] = strings.Split(item, "-")[0]
  163. }
  164. }
  165. certIdList = strings.Join(annuIdarr, ",")
  166. var total int64 = 0
  167. if certIdList != "" {
  168. where += " and Id in (" + certIdList + ")"
  169. //根据部门查询待办任务
  170. where += " and Status > 0 "
  171. total = svc.GetPagingEntitiesWithOrderBytbl("", page.CurrentPage, page.Size, orderby, asc, &list, where)
  172. //total := svc.GetMyPagingEntitiesWithOrderBytbl(OilSupplierName, OilSupplierCertName, page.CurrentPage, page.Size, orderby, asc, &list, where)
  173. }
  174. var datainfo DataInfo
  175. datainfo.Items = list
  176. datainfo.CurrentItemCount = total
  177. datainfo.PageIndex = page.CurrentPage
  178. datainfo.ItemsPerPage = page.Size
  179. this.Data["json"] = &datainfo
  180. this.ServeJSON()
  181. }
  182. // @Title 获取年审企业名称
  183. // @Description 获取实体
  184. // @Success 200 {object} annualaudit.OilAnnualAudit
  185. // @router /supplierlist [get]
  186. func (this *AnnualAuditController) GetSupplierList() {
  187. code := this.GetString("code")
  188. svc := infochange.GetInfoChangeService(utils.DBE)
  189. var supplierlist []annualaudit.Suppliername
  190. where := "1=1"
  191. //企业用户必须加创建人条件
  192. if this.User.IsCompanyUser == 1 {
  193. where = where + " and a.CreateUserId = '" + this.User.Id + "'"
  194. } else {
  195. //超级管理员和有查看所有数据权限的用户不加条件
  196. svcPerm := permission.GetPermissionService(utils.DBE)
  197. isauth := svcPerm.IsAuthorized(this.User.Id, "oil_supplier.marketAccess.AllRecord")
  198. if !svcPerm.IsAdmin(this.User.Id) && !isauth {
  199. where = where + " and a.CreateUserId = '" + this.User.Id + "'"
  200. }
  201. }
  202. where = where + " and b.SupplierTypeCode='" + code + "' and b.Status='8'"
  203. supplierlist = svc.GetSupplierList(""+OilSupplierName, where)
  204. var datainfo DataInfo
  205. datainfo.Items = supplierlist
  206. this.Data["json"] = &datainfo
  207. this.ServeJSON()
  208. }
  209. // @Title 获取字典列表
  210. // @Description get user by token
  211. // @Success 200 {object} map[string]interface{}
  212. // @router /dictlist [get]
  213. func (this *AnnualAuditController) GetDictList() {
  214. dictList := make(map[string]interface{})
  215. dictSvc := items.GetItemsService(utils.DBE)
  216. userSvc := baseUser.GetBaseUserService(utils.DBE)
  217. areaJsonSvc := areajson.GetAreaJsonService(utils.DBE)
  218. //customerSvc := svccustomer.GetCustomerService(utils.DBE)
  219. dictList["UnitRelation"] = dictSvc.GetKeyValueItems("UnitRelation")
  220. dictList["CompanyType"] = dictSvc.GetKeyValueItems("CompanyType")
  221. var userEntity userRole.Base_User
  222. userSvc.GetEntityById(this.User.Id, &userEntity)
  223. dictList["Supervisers"] = userSvc.GetUserListByDepartmentId(this.User.AccCode, userEntity.Departmentid)
  224. dictList["GaodeMapChinaAreas"] = areaJsonSvc.GetGaodeMapChinaAreas()
  225. //获取我创建的所有公司
  226. var list []supplier.OilSupplier
  227. if this.User.IsCompanyUser == 1 {
  228. svcSupplier := supplier.GetOilSupplierService(utils.DBE)
  229. supplierWhere := " CreateUserId = '" + this.User.Id + "'"
  230. svcSupplier.GetEntitysByWhere(OilSupplierName, supplierWhere, &list)
  231. dictList["CompanyNames"] = list
  232. } else { //二级单位不用获取
  233. dictList["CompanyNames"] = list
  234. }
  235. // 部门
  236. orgsvc := organize.GetOrganizeService(utils.DBE)
  237. dictList["Organizes"] = orgsvc.GetCollectionDetailviewlist("'" + this.User.AccCode + "'")
  238. //获得有专业审核接收权限的人员
  239. var users1 []userRole.Base_RoleList
  240. var auditWorkflow1 auditsetting.Base_OilAuditSetting
  241. rsvc := auditsetting.GetOilAuditSettingService(utils.DBE)
  242. rsvc.GetAuditStepRoleEntity(OilAuditSettingName, "100000172", workflow.PROF_RECE, &auditWorkflow1)
  243. users1 = rsvc.GetUserByRole(strconv.Itoa(auditWorkflow1.RoleId), "")
  244. dictList["Receive"] = users1
  245. //获得有专业审核权限的人员
  246. var users []userRole.Base_RoleList
  247. var auditWorkflow auditsetting.Base_OilAuditSetting
  248. rsvc.GetAuditStepRoleEntity(OilAuditSettingName, "100000172", workflow.PROF_AUDIT, &auditWorkflow)
  249. users = rsvc.GetUserByRole(strconv.Itoa(auditWorkflow.RoleId), "")
  250. dictList["ProfAudit"] = users
  251. var datainfo DataInfo
  252. datainfo.Items = dictList
  253. this.Data["json"] = &datainfo
  254. this.ServeJSON()
  255. }
  256. // @Title 获取实体
  257. // @Description 获取实体
  258. // @Success 200 {object} annualaudit.OilAnnualAudit
  259. // @router /get/:id [get]
  260. func (this *AnnualAuditController) GetEntity() {
  261. Id := this.Ctx.Input.Param(":id")
  262. var model annualaudit.OilAnnualAudit
  263. svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
  264. svc.GetEntityByIdBytbl(""+OilAnnualAuditName, Id, &model)
  265. this.Data["json"] = &model
  266. this.ServeJSON()
  267. }
  268. // @Title 获取公司信息
  269. // @Description 根据创建用户Id和增项类别号获取公司信息
  270. // @Success 200 {object}
  271. // @router /getsupplier [get]
  272. func (this *AnnualAuditController) GetSupplier() {
  273. SuppTypeCode := this.GetString("SuppTypeCode")
  274. svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
  275. where := "1=1 "
  276. if SuppTypeCode != "" {
  277. where = " WHERE b.Id is NOT NULL AND a.SupplierTypeCode = '" + SuppTypeCode + "' and (a.InFlag='1' or a.InFlag='2')"
  278. }else {
  279. where = " WHERE b.Id is NOT NULL AND (a.InFlag='1' or a.InFlag='2')"
  280. }
  281. var registerUser register.OilCorporateInfo
  282. sql := " UserName='" + this.User.Username + "'"
  283. svc.GetEntity(&registerUser,sql)
  284. //企业用户必须加创建人条件
  285. if this.User.IsCompanyUser == 1 {
  286. where = where + " and (b.CreateUserId = '" + this.User.Id + "' or b.CommercialNo='"+registerUser.CommercialNo+"')"
  287. //if this.User.IsCompanyUser == 1 {
  288. // where = where + " and b.CreateUserId = '" + this.User.Id + "'"
  289. }
  290. sqlStr := "SELECT b.Id AS SupplierId, a.Id AS SupplierCertId, b.SupplierName AS SupplierName FROM OilSupplierCert a LEFT JOIN OilSupplier b ON a.SupplierId = b.Id "
  291. sqlStr = sqlStr + where
  292. model, _ := svc.DBE.QueryString(sqlStr)
  293. this.Data["json"] = &model
  294. this.ServeJSON()
  295. }
  296. // @Title 添加
  297. // @Description 直接新增年审
  298. // @Success 200 {object} controllers.Request
  299. // @router /adddirect [post]
  300. func (this *AnnualAuditController) AddEntityDirect() {
  301. var model annualaudit.OilAnnualAudit
  302. var errinfo ErrorDataInfo
  303. var jsonBlob = this.Ctx.Input.RequestBody
  304. svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
  305. firstAudit := this.GetString("firstAudit")
  306. json.Unmarshal(jsonBlob, &model)
  307. supwhere := "a.Id = " + utils.ToStr(model.SupplierId) + " and b.SupplierTypeCode = '" + model.SupplierTypeName+ "' and b.Status = '8' "
  308. supsvc := supplier.GetOilSupplierService(utils.DBE)
  309. var list []supplier.OilSupplierView
  310. supsvc.GetMyPagingEntitiesWithOrderBytbl(OilSupplierName, OilSupplierCertName, 1, 1, "a.Id", true, &list, supwhere)
  311. var suppliermodel supplier.OilSupplierView
  312. suppliermodel = list[0]
  313. model.AccessCardNo = suppliermodel.AccessCardNo
  314. model.RecUnitId = suppliermodel.RecUnitId
  315. model.CerId, _ = strconv.Atoi(suppliermodel.CertId)
  316. model.ApplyTime = suppliermodel.ApplyTime
  317. model.Status = "0"
  318. model.Step = 1
  319. model.BackReason = suppliermodel.BackReason
  320. model.CreateOn = time.Now()
  321. model.CreateBy = this.User.Realname
  322. model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  323. //添加一条年审记录
  324. _, err := svc.InsertEntityBytbl(""+OilAnnualAuditName, &model)
  325. annualId := model.Id
  326. svcActiviti := workflow.GetActivitiService(utils.DBE)
  327. //启动工作流
  328. businessKey := utils.ToStr(annualId) + "-" + strconv.Itoa(model.AuditIndex)
  329. processInstanceId := svcActiviti.StartProcess(workflow.OIL_AUDIT_APPLY, businessKey, this.User.Id)
  330. var auditmodel annualaudit.OilAnnualAudit
  331. auditmodel.WorkflowId = processInstanceId
  332. auditmodel.FirstAudit, _ = strconv.Atoi(firstAudit)
  333. auditmodel.AuditIndex = model.AuditIndex
  334. auditmodel.BusinessKey = businessKey
  335. cols := []string{
  336. "Id",
  337. "WorkflowId",
  338. "FirstAudit",
  339. "AuditIndex",
  340. "BusinessKey",
  341. }
  342. _, err = svc.UpdateEntityByIdCols(annualId, auditmodel, cols)
  343. if err == nil {
  344. //新增
  345. errinfo.Message = "添加成功!"
  346. errinfo.Code = 0
  347. errinfo.Item = model.Id
  348. this.Data["json"] = &errinfo
  349. this.ServeJSON()
  350. } else {
  351. errinfo.Message = "添加失败!" + utils.AlertProcess(err.Error())
  352. errinfo.Code = -1
  353. this.Data["json"] = &errinfo
  354. this.ServeJSON()
  355. }
  356. }
  357. // @Title 修改实体
  358. // @Description 修改实体
  359. // @Success 200 {object} controllers.Request
  360. // @router /suppupdate/:id/:type/:instyle [post]
  361. func (this *AnnualAuditController) UpdateSuppEntity() {
  362. id := this.Ctx.Input.Param(":id")
  363. typeCode := this.Ctx.Input.Param(":type")
  364. instyle := this.Ctx.Input.Param(":instyle")
  365. var errinfo ErrorInfo
  366. if id == "" {
  367. errinfo.Message = "操作失败!请求信息不完整"
  368. errinfo.Code = -2
  369. this.Data["json"] = &errinfo
  370. this.ServeJSON()
  371. return
  372. }
  373. var model supplier.OilSupplier
  374. var jsonBlob = this.Ctx.Input.RequestBody
  375. json.Unmarshal(jsonBlob, &model)
  376. var list []supplier.OilSupplierView
  377. service := supplier.GetOilSupplierService(utils.DBE)
  378. service.CheckUpdateRepeatApplyInfo(OilSupplierName, OilSupplierCertName, typeCode, strconv.Itoa(model.Id), model.SupplierName, model.CommercialNo, model.OrganCode, model.BankAccount, model.CompanyUrl, &list)
  379. if len(list) > 0 {
  380. errinfo.Message = "修改失败! 已存在相关企业的信息,或与其他企业信息重复"
  381. errinfo.Code = -1
  382. this.Data["json"] = &errinfo
  383. this.ServeJSON()
  384. return
  385. }
  386. svc := supplier.GetOilSupplierService(utils.DBE)
  387. model.ModifiedOn = time.Now()
  388. model.ModifiedBy = this.User.Realname
  389. model.ModifiedUserId, _ = utils.StrTo(this.User.Id).Int()
  390. //判断基本信息是否可修改
  391. //updateCols := svc.GetUpdateCols(OilSupplierCertName, typeCode, model.Id)
  392. updateCols := []string{
  393. "SupplierName",
  394. "OilCertificateNo",
  395. "Grade",
  396. "MgrUnit",
  397. "OperType",
  398. "Country",
  399. "MaunAgent",
  400. "ConstructTeam",
  401. "CommercialNo",
  402. "OrganCode",
  403. "CountryTaxNo",
  404. "LocalTaxNo",
  405. "Address",
  406. "Province",
  407. "City",
  408. "Street",
  409. "HouseNo",
  410. "ZipCode",
  411. "QualitySystemCert",
  412. "ProductQualityCert",
  413. "MaunLicense",
  414. "QualifCert",
  415. "QualifCertLevel",
  416. "SafetyLicense",
  417. "TechServiceLic",
  418. "TJInNotify",
  419. "SpecIndustryCert",
  420. "LegalPerson",
  421. "CategoryCode",
  422. "CategoryName",
  423. "RegCapital",
  424. "Currency",
  425. "ContactName",
  426. "CompanyType",
  427. "SetupTime",
  428. "DepositBank",
  429. "BankAccount",
  430. "EMail",
  431. "BusinessScope",
  432. "BankCreditRating",
  433. "Mobile",
  434. "Telphone",
  435. "Fax",
  436. "CompanyTel",
  437. "QQ",
  438. "CompanyUrl",
  439. "SpecSupplier",
  440. "SpecTypeCode",
  441. "SpecTypeName",
  442. /*"WorkerTotal",
  443. "ContractNum ",
  444. "UniversityNum",
  445. "TechnicalNum",
  446. "AboveProfNum",
  447. "MiddleProfNum",
  448. "NationalRegNum",
  449. "NationalCertTotal",
  450. "DesignerTotal",
  451. "SkillerTotal",*/
  452. "Remark",
  453. "IsDelete",
  454. "CreateOn",
  455. "CreateUserId",
  456. "CreateBy",
  457. "ModifiedOn",
  458. "ModifiedUserId",
  459. "ModifiedBy",
  460. "LinkAddress",
  461. "LinkProvince",
  462. "LinkCity",
  463. "LinkStreet",
  464. "LinkHouseNo",
  465. "LinkZipCode",
  466. "HseTraining",
  467. "CredentialFlag",
  468. "SupplierCertificate",
  469. "PACNumber",
  470. }
  471. err := svc.UpdateEntityBytbl(OilSupplierName, id, &model, updateCols)
  472. if err == nil {
  473. svc.DBE.Exec("update OilSupplierCert set Instyle="+instyle+" where SupplierId="+id+" and SupplierTypeCode="+typeCode+"")
  474. errinfo.Message = "修改成功!"
  475. errinfo.Code = 0
  476. this.Data["json"] = &errinfo
  477. this.ServeJSON()
  478. } else {
  479. errinfo.Message = "修改失败!" + utils.AlertProcess(err.Error())
  480. errinfo.Code = -1
  481. this.Data["json"] = &errinfo
  482. this.ServeJSON()
  483. }
  484. }
  485. // @Title 添加
  486. // @Description 新增年审
  487. // @Success 200 {object} controllers.Request
  488. // @router /add [post]
  489. func (this *AnnualAuditController) AddEntity() {
  490. var model annualaudit.OilAnnualAudit
  491. var errinfo ErrorDataInfo
  492. var jsonBlob = this.Ctx.Input.RequestBody
  493. svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
  494. firstAudit := this.GetString("firstAudit")
  495. json.Unmarshal(jsonBlob, &model)
  496. where := "SupplierId = " + utils.ToStr(model.SupplierId) + " and SupplierTypeName = " + model.SupplierTypeName + " and Status < 5"
  497. var auditentity []annualaudit.OilAnnualAudit
  498. svc.GetEntitysByWhere(""+OilAnnualAuditName, where, &auditentity)
  499. if len(auditentity) >= 1 {
  500. errinfo.Message = "今年已提交年审,请勿重复提交!"
  501. errinfo.Code = -1
  502. this.Data["json"] = &errinfo
  503. this.ServeJSON()
  504. return
  505. }
  506. supwhere := "a.Id = " + utils.ToStr(model.SupplierId) + " and b.SupplierTypeCode = '" + model.SupplierTypeName+ "' and b.Status = '8' "
  507. supsvc := supplier.GetOilSupplierService(utils.DBE)
  508. var list []supplier.OilSupplierView
  509. total := supsvc.GetMyPagingEntitiesWithOrderBytbl(OilSupplierName, OilSupplierCertName, 1, 1, "a.Id", true, &list, supwhere)
  510. if total == 0 {
  511. //errinfo.Message = "请先提交准入申请再提交年审!"
  512. errinfo.Message = "请先提交准入,准入申请通过后,才可申请年审!"
  513. errinfo.Code = -1
  514. this.Data["json"] = &errinfo
  515. this.ServeJSON()
  516. return
  517. }
  518. var suppliermodel supplier.OilSupplierView
  519. suppliermodel = list[0]
  520. if suppliermodel.InFlag == "3" {
  521. errinfo.Message = "超过两年未年审,您已无法提交!"
  522. errinfo.Code = -1
  523. this.Data["json"] = &errinfo
  524. this.ServeJSON()
  525. return
  526. }
  527. aplytime := suppliermodel.ApplyTime
  528. subtime := this.getTimeSub(aplytime, time.Now())
  529. lefttime := subtime - 3
  530. if subtime > 3 {
  531. errinfo.Message = "还不到年审时间!请" + utils.ToStr(lefttime) + "个月后再来申请"
  532. errinfo.Code = -3
  533. this.Data["json"] = &errinfo
  534. this.ServeJSON()
  535. return
  536. }
  537. model.AccessCardNo = suppliermodel.AccessCardNo
  538. model.RecUnitId = suppliermodel.RecUnitId
  539. model.CerId, _ = strconv.Atoi(suppliermodel.CertId)
  540. model.ApplyTime = suppliermodel.ApplyTime
  541. model.Status = "0"
  542. model.Step = 1
  543. model.BackReason = suppliermodel.BackReason
  544. model.CreateOn = time.Now()
  545. model.CreateBy = this.User.Realname
  546. model.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  547. //添加一条年审记录
  548. _, err := svc.InsertEntityBytbl(""+OilAnnualAuditName, &model)
  549. annualId := model.Id
  550. svcActiviti := workflow.GetActivitiService(utils.DBE)
  551. //启动工作流
  552. businessKey := utils.ToStr(annualId) + "-" + strconv.Itoa(model.AuditIndex)
  553. result := strconv.Itoa(this.User.IsCompanyUser)
  554. processInstanceId := svcActiviti.StartProcess2(workflow.OIL_AUDIT_APPLY, businessKey, this.User.Id, result)
  555. //var ActiComplete workflow.ActiCompleteVM
  556. //ActiComplete.ProcessKey = workflow.OIL_AUDIT_APPLY
  557. //ActiComplete.BusinessKey = businessKey
  558. //ActiComplete.UserNames = firstAudit
  559. //ActiComplete.UserId = this.User.Id
  560. //ActiComplete.Result = "1"
  561. //ActiComplete.Remarks = model.Remark
  562. //ActiComplete.CallbackUrl = ""
  563. //提交给二级单位初审
  564. //receiveVal := svcActiviti.TaskComplete(ActiComplete)
  565. var auditmodel annualaudit.OilAnnualAudit
  566. auditmodel.WorkflowId = processInstanceId
  567. auditmodel.FirstAudit, _ = strconv.Atoi(firstAudit)
  568. auditmodel.AuditIndex = model.AuditIndex
  569. auditmodel.BusinessKey = businessKey
  570. cols := []string{
  571. "Id",
  572. "WorkflowId",
  573. "FirstAudit",
  574. "AuditIndex",
  575. "BusinessKey",
  576. }
  577. //if receiveVal == "true" {
  578. _, err = svc.UpdateEntityByIdCols(annualId, auditmodel, cols)
  579. if err == nil {
  580. //新增
  581. errinfo.Message = "添加成功!"
  582. errinfo.Code = 0
  583. errinfo.Item = model.Id
  584. this.Data["json"] = &errinfo
  585. this.ServeJSON()
  586. } else {
  587. errinfo.Message = "添加失败!" + utils.AlertProcess(err.Error())
  588. errinfo.Code = -1
  589. this.Data["json"] = &errinfo
  590. this.ServeJSON()
  591. }
  592. //} else {
  593. // errinfo.Message = "工作流异常,请联系管理员!"
  594. // errinfo.Code = -1
  595. // this.Data["json"] = &errinfo
  596. // this.ServeJSON()
  597. //}
  598. }
  599. func (this *AnnualAuditController) getTimeSub(t1, t2 time.Time) int {
  600. t1 = time.Date(t1.Year(), t1.Month(), t1.Day(), 0, 0, 0, 0, time.Local)
  601. t2 = time.Date(t2.Year(), t2.Month(), t2.Day(), 0, 0, 0, 0, time.Local)
  602. return int(t1.Sub(t2).Hours() / 24 / 30)
  603. }
  604. // @Title 提交审批
  605. // @Description 提交审批
  606. // @Success 200 {object} controllers.Request
  607. // @router /addauditcomm [post]
  608. func (this *AnnualAuditController) AddAuditEntity() {
  609. var model ComShenHeModel
  610. var errinfo ErrorDataInfo
  611. var jsonBlob = this.Ctx.Input.RequestBody
  612. svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
  613. annualId := this.GetString("AnnualId")
  614. firstAudit := this.GetString("FirstAuditName")
  615. secondAudit := this.GetString("SecondAudit")
  616. thirdAudit := this.GetString("ThirdAudit")
  617. json.Unmarshal(jsonBlob, &model)
  618. //where := "CerId = " + utils.ToStr(model.SupplierId) + " and SupplierTypeName = " + model.SupplierTypeName
  619. var auditentity annualaudit.OilAnnualAudit
  620. svc.GetEntityById(annualId, &auditentity)
  621. historworkflowid := auditentity.WorkflowId
  622. svcActiviti := workflow.GetActivitiService(utils.DBE)
  623. statusint, _ := strconv.Atoi(auditentity.Status)
  624. var ActiComplete workflow.ActiCompleteVM
  625. var auditmodel annualaudit.OilAnnualAudit
  626. result := strconv.Itoa(this.User.IsCompanyUser)
  627. //重新工作流
  628. if statusint < 0 {
  629. businessKey := utils.ToStr(annualId) + "-" + strconv.Itoa(auditentity.AuditIndex)
  630. processInstanceId := svcActiviti.StartProcess2(workflow.OIL_AUDIT_APPLY, businessKey, this.User.Id, result)
  631. ActiComplete.BusinessKey = businessKey
  632. auditmodel.WorkflowId = processInstanceId
  633. auditmodel.BusinessKey = businessKey
  634. } else {
  635. auditmodel.WorkflowId = auditentity.WorkflowId
  636. ActiComplete.BusinessKey = auditentity.BusinessKey
  637. auditmodel.BusinessKey = auditentity.BusinessKey
  638. }
  639. ActiComplete.ProcessKey = workflow.OIL_AUDIT_APPLY
  640. ActiComplete.UserNames = firstAudit
  641. ActiComplete.UserId = this.User.Id
  642. ActiComplete.Result = result
  643. ActiComplete.Remarks = model.Remark
  644. ActiComplete.CallbackUrl = ""
  645. //提交给二级单位初审
  646. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  647. if statusint < 0 {
  648. // 存储审批历史
  649. var audithistoryentity audithistory.Base_AuditHistory
  650. audithistoryentity.EntityId, _ = strconv.Atoi(annualId)
  651. audithistoryentity.WorkflowId = historworkflowid
  652. audithistoryentity.Process = workflow.OIL_AUDIT_APPLY
  653. audithistoryentity.BusinessKey = auditentity.BusinessKey
  654. audithistoryentity.Type = model.SupplierTypeName
  655. audithistoryentity.BackStep = utils.ToStr(auditentity.Status)
  656. audithistoryentity.Index = auditentity.AuditIndex
  657. audithistoryentity.CreateOn = time.Now()
  658. audithistoryentity.CreateBy = this.User.Realname
  659. audithistoryentity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  660. svc.InsertEntity(audithistoryentity)
  661. }
  662. if this.User.IsCompanyUser == 1 {
  663. auditmodel.Status = suppliercert.FEN_TRIAL_STATUS //二级单位分办
  664. } else {
  665. auditmodel.Status = suppliercert.FIRST_TRIAL_STATUS
  666. }
  667. auditmodel.FenbanAudit,_ = strconv.Atoi(firstAudit)
  668. auditmodel.FirstAudit,_ = strconv.Atoi(firstAudit)
  669. auditmodel.SecondAudit,_ = strconv.Atoi(secondAudit)
  670. auditmodel.ThirdAudit,_ = strconv.Atoi(thirdAudit)
  671. cols := []string{
  672. "Id",
  673. "WorkflowId",
  674. "FenbanAudit",
  675. "FirstAudit",
  676. "SecondAudit",
  677. "ThirdAudit",
  678. "Status",
  679. "BusinessKey",
  680. }
  681. if receiveVal == "true" {
  682. _, err := svc.UpdateEntityByIdCols(annualId, auditmodel, cols)
  683. if err == nil {
  684. //新增
  685. errinfo.Message = "提交成功!"
  686. errinfo.Code = 0
  687. errinfo.Item = auditmodel.Status
  688. this.Data["json"] = &errinfo
  689. this.ServeJSON()
  690. } else {
  691. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  692. errinfo.Code = -1
  693. this.Data["json"] = &errinfo
  694. this.ServeJSON()
  695. }
  696. } else {
  697. errinfo.Message = "工作流异常,请联系管理员!"
  698. errinfo.Code = -1
  699. this.Data["json"] = &errinfo
  700. this.ServeJSON()
  701. }
  702. }
  703. // @Title 提交审批-分办
  704. // @Description 提交审批
  705. // @Success 200 {object} controllers.Request
  706. // @router /addauditcommfen [post]
  707. func (this *AnnualAuditController) AddAuditEntityFen() {
  708. var model ComShenHeModel
  709. var errinfo ErrorDataInfo
  710. var jsonBlob = this.Ctx.Input.RequestBody
  711. svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
  712. annualId := this.GetString("AnnualId")
  713. firstAudit := this.GetString("FirstAuditName")
  714. secondAudit := this.GetString("SecondAudit")
  715. thirdAudit := this.GetString("ThirdAudit")
  716. json.Unmarshal(jsonBlob, &model)
  717. //where := "CerId = " + utils.ToStr(model.SupplierId) + " and SupplierTypeName = " + model.SupplierTypeName
  718. var auditentity annualaudit.OilAnnualAudit
  719. svc.GetEntityById(annualId, &auditentity)
  720. historworkflowid := auditentity.WorkflowId
  721. svcActiviti := workflow.GetActivitiService(utils.DBE)
  722. statusint, _ := strconv.Atoi(auditentity.Status)
  723. var ActiComplete workflow.ActiCompleteVM
  724. var auditmodel annualaudit.OilAnnualAudit
  725. //重新工作流
  726. if statusint < 0 {
  727. businessKey := utils.ToStr(annualId) + "-" + strconv.Itoa(auditentity.AuditIndex)
  728. processInstanceId := svcActiviti.StartProcess(workflow.OIL_AUDIT_APPLY, businessKey, this.User.Id)
  729. ActiComplete.BusinessKey = businessKey
  730. auditmodel.WorkflowId = processInstanceId
  731. auditmodel.BusinessKey = businessKey
  732. } else {
  733. auditmodel.WorkflowId = auditentity.WorkflowId
  734. ActiComplete.BusinessKey = auditentity.BusinessKey
  735. auditmodel.BusinessKey = auditentity.BusinessKey
  736. }
  737. ActiComplete.ProcessKey = workflow.OIL_AUDIT_APPLY
  738. ActiComplete.UserNames = firstAudit
  739. ActiComplete.UserId = this.User.Id
  740. ActiComplete.Result = "1"
  741. ActiComplete.Remarks = model.Remark
  742. ActiComplete.CallbackUrl = ""
  743. //提交给二级单位初审
  744. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  745. if statusint < 0 {
  746. // 存储审批历史
  747. var audithistoryentity audithistory.Base_AuditHistory
  748. audithistoryentity.EntityId, _ = strconv.Atoi(annualId)
  749. audithistoryentity.WorkflowId = historworkflowid
  750. audithistoryentity.Process = workflow.OIL_AUDIT_APPLY
  751. audithistoryentity.BusinessKey = auditentity.BusinessKey
  752. audithistoryentity.Type = model.SupplierTypeName
  753. audithistoryentity.BackStep = utils.ToStr(auditentity.Status)
  754. audithistoryentity.Index = auditentity.AuditIndex
  755. audithistoryentity.CreateOn = time.Now()
  756. audithistoryentity.CreateBy = this.User.Realname
  757. audithistoryentity.CreateUserId, _ = utils.StrTo(this.User.Id).Int()
  758. svc.InsertEntity(audithistoryentity)
  759. }
  760. auditmodel.Status = suppliercert.FIRST_TRIAL_STATUS //二级单位初审
  761. auditmodel.FirstAudit, _ = strconv.Atoi(firstAudit)
  762. auditmodel.SecondAudit, _ = strconv.Atoi(secondAudit)
  763. auditmodel.ThirdAudit, _ = strconv.Atoi(thirdAudit)
  764. cols := []string{
  765. "Id",
  766. "WorkflowId",
  767. "Status",
  768. "FirstAudit",
  769. "BusinessKey",
  770. "SecondAudit",
  771. "ThirdAudit",
  772. }
  773. if receiveVal == "true" {
  774. _, err := svc.UpdateEntityByIdCols(annualId, auditmodel, cols)
  775. if err == nil {
  776. //新增
  777. errinfo.Message = "提交成功!"
  778. errinfo.Code = 0
  779. errinfo.Item = auditmodel.Status
  780. this.Data["json"] = &errinfo
  781. this.ServeJSON()
  782. } else {
  783. errinfo.Message = "提交失败!" + utils.AlertProcess(err.Error())
  784. errinfo.Code = -1
  785. this.Data["json"] = &errinfo
  786. this.ServeJSON()
  787. }
  788. } else {
  789. errinfo.Message = "工作流异常,请联系管理员!"
  790. errinfo.Code = -1
  791. this.Data["json"] = &errinfo
  792. this.ServeJSON()
  793. }
  794. }
  795. // @Title 删除单条信息
  796. // @Description
  797. // @Success 200 {object} ErrorInfo
  798. // @Failure 403 :id 为空
  799. // @router /delete/:Id [delete]
  800. func (this *AnnualAuditController) DeleteEntity() {
  801. Id := this.Ctx.Input.Param(":Id")
  802. var errinfo ErrorInfo
  803. if Id == "" {
  804. errinfo.Message = "操作失败!请求信息不完整"
  805. errinfo.Code = -2
  806. this.Data["json"] = &errinfo
  807. this.ServeJSON()
  808. return
  809. }
  810. var model annualaudit.OilAnnualAudit
  811. var entityempty annualaudit.OilAnnualAudit
  812. svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
  813. opdesc := "删除-" + Id
  814. err := svc.DeleteOperationAndWriteLogBytbl(""+OilAnnualAuditName, BaseOperationLogName, Id, &model, &entityempty, utils.ToStr(this.User.Id), this.User.Username, opdesc, "", "钻井日报")
  815. if err == nil {
  816. errinfo.Message = "删除成功"
  817. errinfo.Code = 0
  818. this.Data["json"] = &errinfo
  819. this.ServeJSON()
  820. } else {
  821. errinfo.Message = "删除失败!" + utils.AlertProcess(err.Error())
  822. errinfo.Code = -1
  823. this.Data["json"] = &errinfo
  824. this.ServeJSON()
  825. }
  826. }
  827. // @Title 审核
  828. // @Description 审核
  829. // @Success 200 {object} controllers.Request
  830. // @router /auditcallback [get]
  831. func (this *AnnualAuditController) AuditCallback() {
  832. result := this.GetString("ret")
  833. bussinsid := this.GetString("busid")
  834. status := this.GetString("status")
  835. annualId := this.GetString("annualId")
  836. svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
  837. var entityempty annualaudit.OilAnnualAudit
  838. var err error
  839. var errinfo ErrorInfo
  840. var cols []string = []string{"Status"}
  841. entityempty.Status = status
  842. err = svc.UpdateEntityBytbl(OilAnnualAuditName, annualId, &entityempty, cols)
  843. if err != nil {
  844. errinfo.Message = "审核错误!"
  845. errinfo.Code = -1
  846. this.Data["json"] = &errinfo
  847. this.ServeJSON()
  848. }
  849. fmt.Println(result, status, annualId, bussinsid)
  850. }
  851. // @Title 审核
  852. // @Description 审核
  853. // @Success 200 {object} controllers.Request
  854. // @router /auditfirst [put]
  855. func (this *AnnualAuditController) AnnualAudit() {
  856. svc := annualaudit.GetOilAnnualAuditService(utils.DBE)
  857. var jsonblob = this.Ctx.Input.RequestBody
  858. var dataother ShenHeModel
  859. var errinfo ErrorInfo
  860. json.Unmarshal(jsonblob, &dataother)
  861. ProfAudit := this.GetString("ProfAudit")
  862. firstAudit := this.GetString("FirstAudit")
  863. secondAudit := this.GetString("SecondAudit")
  864. thirdAudit := this.GetString("ThirdAudit")
  865. var list annualaudit.OilAnnualAudit
  866. where := " Id = '" + strconv.Itoa(dataother.AnnualId) + "'"
  867. svc.GetEntityByWhere(""+OilAnnualAuditName, where, &list)
  868. var supplierEntity supplier.OilSupplier
  869. wheresup := "Id=" + strconv.Itoa(list.SupplierId)
  870. svc.GetEntity(&supplierEntity, wheresup)
  871. svcActiviti := workflow.GetActivitiService(utils.DBE)
  872. //审核状态判断进行的操作
  873. step := 2
  874. status := ""
  875. backstatus := "0"
  876. var userIds string
  877. if list.Status == suppliercert.FEN_TRIAL_STATUS {
  878. userIds = firstAudit
  879. status = suppliercert.FIRST_TRIAL_STATUS
  880. step = 2
  881. backstatus = suppliercert.NOPASS_STATUS
  882. list.FirstAudit,_ = strconv.Atoi(firstAudit)
  883. list.SecondAudit,_ = strconv.Atoi(secondAudit)
  884. list.ThirdAudit,_ = strconv.Atoi(thirdAudit)
  885. cols := []string{
  886. "FirstAudit",
  887. "SecondAudit",
  888. "ThirdAudit",
  889. }
  890. svc.UpdateEntityByIdCols(dataother.AnnualId, list, cols)
  891. }
  892. if list.Status == suppliercert.FIRST_TRIAL_STATUS {
  893. userIds = utils.ToStr(list.SecondAudit)
  894. status = suppliercert.SECOND_TRIAL_STATUS
  895. step = 2
  896. backstatus = suppliercert.NOPASS_STATUS
  897. } else if list.Status == suppliercert.SECOND_TRIAL_STATUS {
  898. status = suppliercert.THIRD_TRIAL_STATUS
  899. step = 2
  900. backstatus = suppliercert.NO_SECOND_TRIAL_STATUS
  901. svc := organize.GetOrganizeService(utils.DBE)
  902. //var users []userRole.Base_RoleList
  903. //supsvc.GetAuditUser(strconv.Itoa(list.ThirdAudit), workflow.PROF_RECE, &users)
  904. //paramSvc := baseparameter.GetBaseparameterService(utils.DBE)
  905. //topid := paramSvc.GetBaseparameterMessage("", "paramset", "CENT_AUDIT")
  906. unitId := svc.GetMyUnitDepartmentId(strconv.Itoa(list.ThirdAudit))
  907. var userlist []userRole.Base_User
  908. var setting auditsetting.Base_OilAuditSetting
  909. usvc := userRole.GetUserService(utils.DBE)
  910. where := "AuditStepCode='" + workflow.PROF_RECE + "'"
  911. svc.GetEntity(&setting, where)
  912. ids := usvc.GetUserIdsByRoleId(strconv.Itoa(setting.RoleId))
  913. tempstr := strings.Join(ids, ",")
  914. uids := strings.Replace(tempstr, "uid_", "", -1)
  915. uids = strings.Trim(uids, ",")
  916. if uids != "" {
  917. where := "Id in (" + uids + ")" + " and UnitId=" + unitId
  918. svc.GetEntities(&userlist, where)
  919. }
  920. for _, tmpUser := range userlist {
  921. userIds += strconv.Itoa(tmpUser.Id) + ","//strconv.FormatInt(tmpUser.Id, 10) + ","
  922. }
  923. userIds = strings.Trim(userIds, ",")
  924. } else if list.Status == suppliercert.THIRD_TRIAL_STATUS {
  925. userIds = ProfAudit
  926. status = suppliercert.PROF_AUDIT_STATUS
  927. step = 2
  928. backstatus = suppliercert.NO_THIRD_TRIAL_STATUS
  929. } else if list.Status == suppliercert.PROF_AUDIT_STATUS {
  930. status = suppliercert.PAYING_AUDIT_STATUS
  931. step = 3
  932. backstatus = suppliercert.NO_PROF_AUDIT_STATUS
  933. }
  934. var ActiComplete workflow.ActiCompleteVM
  935. ActiComplete.ProcessKey = workflow.OIL_AUDIT_APPLY
  936. ActiComplete.BusinessKey = list.BusinessKey
  937. ActiComplete.UserNames = userIds
  938. ActiComplete.UserId = this.User.Id
  939. ActiComplete.Remarks = dataother.AuditorRemark
  940. ActiComplete.CallbackUrl = ""
  941. if dataother.SuccessStatus == 1 {
  942. ActiComplete.Result = "1"
  943. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  944. var auditmodel annualaudit.OilAnnualAudit
  945. auditmodel.Status = status
  946. oldaplydate := list.ApplyTime
  947. if list.Status == suppliercert.PROF_AUDIT_STATUS {
  948. //aplydatechange := oldaplydate.Format("2006-01-02")
  949. //local, _ := time.LoadLocation("Local")
  950. //oldtimeaply, _ := time.ParseInLocation("2006-01-02", aplydatechange, local)
  951. //auditmodel.ApplyTime = oldaplydate.AddDate(1, 0, 0)
  952. var certmodel suppliercert.OilSupplierCert
  953. //certmodel.ApplyTime = oldaplydate.AddDate(1, 0, 0)
  954. certmodel.AuditDate = time.Now()
  955. certcols := []string{
  956. "Id",
  957. //"ApplyTime",
  958. "AuditDate",
  959. }
  960. svc.UpdateEntityByIdCols(list.CerId, certmodel, certcols)
  961. paysvc := paymentinfo.GetPaymentService(utils.DBE)
  962. var Amount float64
  963. asvc := oilcostmanage.GetOilCostManageService(utils.DBE)
  964. Amount = asvc.GetAmount("APPEND",list.SupplierTypeName)
  965. //if list.SupplierTypeName == "01" {
  966. // Amount = 6000
  967. //} else if list.SupplierTypeName == "02" {
  968. // Amount = 7000
  969. //} else if list.SupplierTypeName == "03" {
  970. // Amount = 8000
  971. //}
  972. var payinfo paymentinfo.OilPaymentInfo
  973. payinfo.SupplierId = list.SupplierId
  974. payinfo.SrcId = list.Id
  975. payinfo.SupplierCertId = list.CerId
  976. payinfo.USCCode = supplierEntity.CommercialNo
  977. payinfo.SupplierName = supplierEntity.SupplierName
  978. payinfo.PayType = "2"
  979. payinfo.IsPay = "0"
  980. payinfo.Amount = strconv.FormatFloat(Amount,'E',-1,64)
  981. payinfo.CreateUserId = list.CreateUserId
  982. payinfo.CreateBy = list.CreateBy
  983. payinfo.CreateOn = time.Now()
  984. paysvc.InsertEntity(&payinfo)
  985. //发短信
  986. toMobile := supplierEntity.Mobile
  987. bFlag:=""
  988. if list.SupplierTypeName == "01"{
  989. bFlag="物资类"
  990. }else if list.SupplierTypeName == "02"{
  991. bFlag="基建类"
  992. }else{
  993. bFlag="技术服务类"
  994. }
  995. msg:= "您的"+ bFlag + "年审审核通过,请及时确认缴费信息!"
  996. msgService := msg2.GetMsgService(utils.DBE)
  997. msgService.HandleMsg(toMobile,msg,"4-1",list.CreateBy,supplierEntity.ContactName,strconv.Itoa(list.CreateUserId))
  998. }else {
  999. auditmodel.ApplyTime = oldaplydate
  1000. }
  1001. auditmodel.Step = step
  1002. if receiveVal == "true" {
  1003. cols := []string{
  1004. "Id",
  1005. "Status",
  1006. "Step",
  1007. //"ApplyTime",
  1008. }
  1009. svc.UpdateEntityByIdCols(dataother.AnnualId, auditmodel, cols)
  1010. //paysvc.AddPaymentinfo(list.SupplierId, list.Id, Amount, "2")
  1011. errinfo.Message = "提交成功!"
  1012. errinfo.Code = 0
  1013. this.Data["json"] = &errinfo
  1014. this.ServeJSON()
  1015. } else {
  1016. errinfo.Message = "工作流异常,请联系管理员!"
  1017. errinfo.Code = -1
  1018. this.Data["json"] = &errinfo
  1019. this.ServeJSON()
  1020. return
  1021. }
  1022. } else {
  1023. ActiComplete.Result = "0"
  1024. receiveVal := svcActiviti.TaskComplete(ActiComplete)
  1025. if receiveVal == "true" {
  1026. if list.Status == suppliercert.PROF_AUDIT_STATUS {
  1027. list.Status = suppliercert.NO_CENT_AUDIT_STATUS
  1028. list.AuditIndex = list.AuditIndex + 1
  1029. } else {
  1030. list.Status = backstatus
  1031. list.AuditIndex = list.AuditIndex + 1
  1032. }
  1033. list.Step = 1
  1034. cols := []string{
  1035. "Status",
  1036. "Step",
  1037. "AuditIndex",
  1038. }
  1039. _, err := svc.UpdateEntityByIdCols(dataother.AnnualId, list, cols)
  1040. toMobile := supplierEntity.Mobile
  1041. bFlag:=""
  1042. if list.SupplierTypeName == "01"{
  1043. bFlag="物资类"
  1044. }else if list.SupplierTypeName == "02"{
  1045. bFlag="基建类"
  1046. }else{
  1047. bFlag="技术服务类"
  1048. }
  1049. msg:= "您的"+ bFlag + "年审审核未通过,请及时查看!"
  1050. msgService := msg2.GetMsgService(utils.DBE)
  1051. msgService.HandleMsg(toMobile,msg,"4-1",list.CreateBy,supplierEntity.ContactName,strconv.Itoa(list.CreateUserId))
  1052. if err == nil {
  1053. errinfo.Message = "提交成功!"
  1054. errinfo.Code = 0
  1055. this.Data["json"] = &errinfo
  1056. this.ServeJSON()
  1057. } else {
  1058. errinfo.Message = "提交失败!"
  1059. errinfo.Code = -1
  1060. this.Data["json"] = &errinfo
  1061. this.ServeJSON()
  1062. }
  1063. } else {
  1064. errinfo.Message = "工作流异常,请联系管理员!"
  1065. errinfo.Code = -1
  1066. this.Data["json"] = &errinfo
  1067. this.ServeJSON()
  1068. return
  1069. }
  1070. }
  1071. }