approval.go 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580
  1. package controllers
  2. import (
  3. "encoding/json"
  4. approval2 "hongze/hongze_mobile_admin/models/request/approval"
  5. "hongze/hongze_mobile_admin/models/response/approval"
  6. "hongze/hongze_mobile_admin/models/tables/admin"
  7. "hongze/hongze_mobile_admin/models/tables/company_approval"
  8. "hongze/hongze_mobile_admin/models/tables/company_contract"
  9. "hongze/hongze_mobile_admin/models/tables/company_delay_permission"
  10. "hongze/hongze_mobile_admin/models/tables/company_product"
  11. "hongze/hongze_mobile_admin/models/tables/company_product_log"
  12. "hongze/hongze_mobile_admin/models/tables/company_report_permission"
  13. "hongze/hongze_mobile_admin/services"
  14. "hongze/hongze_mobile_admin/utils"
  15. "rdluck_tools/paging"
  16. "strconv"
  17. "time"
  18. )
  19. type ApprovalCommon struct {
  20. BaseAuth
  21. }
  22. // @Title 获取审批列表接口
  23. // @Description 获取审批列表接口
  24. // @Param PageSize query int true "每页数据条数"
  25. // @Param CurrentIndex query int true "当前页页码,从1开始"
  26. // @Param Status query string true "状态:'全部','待审批','已审批','驳回','已撤回'"
  27. // @Param KeyWord query string true "搜索关键词"
  28. // @Success 200 {object} approval.CompanyApprovalListResp
  29. // @router /list [get]
  30. func (this *ApprovalCommon) List() {
  31. sysUser := this.AdminWx
  32. roleTypeCode := sysUser.RoleTypeCode
  33. pageSize, _ := this.GetInt("PageSize")
  34. currentIndex, _ := this.GetInt("CurrentIndex")
  35. status := this.GetString("Status")
  36. keyWord := this.GetString("KeyWord")
  37. var startSize int
  38. if pageSize <= 0 {
  39. pageSize = utils.PageSize20
  40. }
  41. if currentIndex <= 0 {
  42. currentIndex = 1
  43. }
  44. startSize = paging.StartIndex(currentIndex, pageSize)
  45. var condition string
  46. var pars []interface{}
  47. if status != "" {
  48. if status == "已审批" {
  49. condition += ` AND c.approve_status IN('已审批','驳回','已撤回') `
  50. } else {
  51. condition += ` AND c.approve_status=? `
  52. pars = append(pars, status)
  53. }
  54. }
  55. if roleTypeCode == utils.ROLE_TYPE_CODE_FICC_ADMIN || roleTypeCode == utils.ROLE_TYPE_CODE_RAI_ADMIN { //审批
  56. condition += ` AND c.approve_role_type_code=? `
  57. pars = append(pars, roleTypeCode)
  58. } else if roleTypeCode == utils.ROLE_TYPE_CODE_FICC_SELLER || roleTypeCode == utils.ROLE_TYPE_CODE_RAI_SELLER { //销售
  59. condition += ` AND c.apply_user_id=? `
  60. pars = append(pars, sysUser.AdminId)
  61. }
  62. if keyWord != "" {
  63. condition += ` AND (a.company_name LIKE '%` + keyWord + `%' OR a.credit_code LIKE '%` + keyWord + `%') `
  64. }
  65. total, err := company_approval.GetApprovalCount(condition, pars)
  66. if err != nil {
  67. this.FailWithMessage("获取失败", "获取数据总数失败,Err:"+err.Error())
  68. return
  69. }
  70. list, err := company_approval.GetApprovalList(condition, pars, startSize, pageSize)
  71. if err != nil {
  72. this.FailWithMessage("获取失败", "获取数据失败,Err:"+err.Error())
  73. return
  74. }
  75. listLen := len(list)
  76. for i := 0; i < listLen; i++ {
  77. item := list[i]
  78. if item.FreezeStartDate != "" && item.FreezeEndDate != "" && item.Status == utils.COMPANY_STATUS_FREEZE {
  79. freezeEndDate, _ := time.Parse(utils.FormatDate, item.FreezeEndDate)
  80. if time.Now().Before(freezeEndDate) {
  81. expireDays := freezeEndDate.Sub(time.Now()).Hours() / 24
  82. list[i].FreezeExpireDays = int(expireDays)
  83. }
  84. }
  85. if item.StartDate != "" && item.EndDate != "" {
  86. endDate, _ := time.Parse(utils.FormatDate, item.EndDate)
  87. if time.Now().Before(endDate) {
  88. expireDays := endDate.Sub(time.Now()).Hours() / 24
  89. list[i].ExpireDay = int(expireDays)
  90. }
  91. }
  92. approvalCount, err := company_approval.GetCompanyApprovalCount(item.CompanyId, item.ProductId)
  93. if err != nil && err.Error() != utils.ErrNoRow() {
  94. this.FailWithMessage("获取失败", "获取延期审批次数失败,Err:"+err.Error())
  95. return
  96. }
  97. list[i].ApprovalCount = approvalCount
  98. if item.ApplyMethod == 3 {
  99. delayPermission, err := company_delay_permission.GetApplyDelayPermission(item.CompanyApprovalId)
  100. if err != nil && err.Error() != utils.ErrNoRow() {
  101. this.FailWithMessage("获取失败", "获取延期审批权限失败,Err:"+err.Error())
  102. return
  103. }
  104. list[i].DelayPermission = delayPermission
  105. }
  106. }
  107. page := paging.GetPaging(currentIndex, pageSize, total)
  108. resp := approval.CompanyApprovalListResp{
  109. Paging: page,
  110. List: list,
  111. }
  112. this.OkDetailed(resp, "获取成功")
  113. }
  114. // @Title 获取审批单详情接口
  115. // @Description 获取审批单详情接口
  116. // @Param CompanyApprovalId query int true "审批单id"
  117. // @Success 200 {object} approval.CompanyApprovalDetailResp
  118. // @router /detail [get]
  119. func (this *ApprovalCommon) Detail() {
  120. sysUser := this.AdminWx
  121. roleTypeCode := sysUser.RoleTypeCode
  122. companyApprovalId, _ := this.GetInt("CompanyApprovalId")
  123. var condition string
  124. var pars []interface{}
  125. if roleTypeCode == utils.ROLE_TYPE_CODE_FICC_ADMIN || roleTypeCode == utils.ROLE_TYPE_CODE_RAI_ADMIN { //审批
  126. condition += ` AND c.approve_role_type_code=? `
  127. pars = append(pars, roleTypeCode)
  128. } else if roleTypeCode == utils.ROLE_TYPE_CODE_FICC_SELLER || roleTypeCode == utils.ROLE_TYPE_CODE_RAI_SELLER { //销售
  129. condition += ` AND c.apply_user_id=? `
  130. pars = append(pars, sysUser.AdminId)
  131. }
  132. item, err := company_approval.GetApprovalListByApprovalId(condition, pars, companyApprovalId)
  133. if err != nil {
  134. this.FailWithMessage("获取失败", "获取数据失败,Err:"+err.Error())
  135. return
  136. }
  137. if item.FreezeStartDate != "" && item.FreezeEndDate != "" && item.Status == utils.COMPANY_STATUS_FREEZE {
  138. freezeEndDate, _ := time.Parse(utils.FormatDate, item.FreezeEndDate)
  139. if time.Now().Before(freezeEndDate) {
  140. expireDays := freezeEndDate.Sub(time.Now()).Hours() / 24
  141. item.FreezeExpireDays = int(expireDays)
  142. }
  143. }
  144. if item.StartDate != "" && item.EndDate != "" {
  145. endDate, _ := time.Parse(utils.FormatDate, item.EndDate)
  146. if time.Now().Before(endDate) {
  147. expireDays := endDate.Sub(time.Now()).Hours() / 24
  148. item.ExpireDay = int(expireDays)
  149. }
  150. }
  151. approvalCount, err := company_approval.GetCompanyApprovalCount(item.CompanyId, item.ProductId)
  152. if err != nil && err.Error() != utils.ErrNoRow() {
  153. this.FailWithMessage("获取失败", "获取延期审批次数失败,Err:"+err.Error())
  154. return
  155. }
  156. item.ApprovalCount = approvalCount
  157. //if item.ApplyMethod == 3 {
  158. // delayPermission, err := company_delay_permission.GetApplyDelayPermission(item.CompanyApprovalId)
  159. // if err != nil && err.Error() != utils.ErrNoRow() {
  160. // this.FailWithMessage("获取失败", "获取延期审批权限失败,Err:"+err.Error())
  161. // return
  162. // }
  163. // item.DelayPermission = delayPermission
  164. //}
  165. resp := approval.CompanyApprovalDetailResp{
  166. CompanyApprovalDetail: item,
  167. }
  168. //获取权限列表
  169. //子权限切片集合
  170. var permissionClassifyArr []string
  171. if item.ProductId == 1 {
  172. for _, v := range utils.PermissionFiccClassifyArr {
  173. permissionClassifyArr = append(permissionClassifyArr, v)
  174. }
  175. } else {
  176. permissionClassifyArr = append(permissionClassifyArr, "权益")
  177. }
  178. //获取需要审批的权限
  179. delayPermissionList, err := company_delay_permission.GetDelayPermissionItems(item.CompanyId, item.CompanyApprovalId)
  180. if err != nil && err.Error() != utils.ErrNoRow() {
  181. this.FailWithMessage("获取失败", "获取审批权限失败,Err:"+err.Error())
  182. return
  183. }
  184. delayPermissionIdMap := make(map[int]int)
  185. for _, delayPermission := range delayPermissionList {
  186. delayPermissionIdMap[delayPermission.ChartPermissionId] = 0
  187. }
  188. //遍历获取
  189. for _, v := range permissionClassifyArr {
  190. checkList := make([]int, 0)
  191. plist := new(company_report_permission.PermissionLookList)
  192. items, err := company_report_permission.GetPermissionLookItems(item.ProductId, v)
  193. if err != nil {
  194. this.FailWithMessage("获取失败", "获取权限信息失败,Err:"+err.Error())
  195. return
  196. }
  197. for _, n := range items {
  198. if _, ok := delayPermissionIdMap[n.ChartPermissionId]; ok {
  199. checkList = append(checkList, n.ChartPermissionId)
  200. }
  201. }
  202. plist.Items = items
  203. plist.ClassifyName = v
  204. plist.CheckList = checkList
  205. if item.ProductId == 1 {
  206. resp.FiccPermissionList = append(resp.FiccPermissionList, plist)
  207. } else {
  208. resp.PermissionList = append(resp.PermissionList, plist)
  209. }
  210. }
  211. this.OkDetailed(resp, "获取成功")
  212. }
  213. // @Title 获取审批单中的权限列表
  214. // @Description 获取审批单中的权限列表接口
  215. // @Param ApprovalId query int true "审批单id"
  216. // @Success 200 {object} approval.CompanyPermissionResp
  217. // @router /getApprovalPermissionList [get]
  218. func (this *ApprovalCommon) GetApprovalPermissionList() {
  219. //this.FailWithMessage("获取失败", "获取数据总数失败,Err:"+err.Error())
  220. //返回基础参数
  221. resp := new(approval.CompanyPermissionResp)
  222. //获取审批单信息
  223. approvalId, _ := this.GetInt("ApprovalId")
  224. if approvalId <= 0 {
  225. this.FailWithMessage("审批单参数异常", "提交审批单参数异常")
  226. return
  227. }
  228. approvalInfo, err := company_approval.GetCompanyApprovalByApprovalId(approvalId)
  229. if err != nil {
  230. this.FailWithMessage("获取失败", "获取审批单数据失败,Err:"+err.Error())
  231. return
  232. }
  233. //子权限切片集合
  234. var permissionClassifyArr []string
  235. if approvalInfo.ProductId == 1 {
  236. for _, v := range utils.PermissionFiccClassifyArr {
  237. permissionClassifyArr = append(permissionClassifyArr, v)
  238. }
  239. } else {
  240. permissionClassifyArr = append(permissionClassifyArr, "权益")
  241. }
  242. //获取需要审批的权限
  243. delayPermissionList, err := company_delay_permission.GetDelayPermissionItems(approvalInfo.CompanyId, approvalInfo.CompanyApprovalId)
  244. if err != nil && err.Error() != utils.ErrNoRow() {
  245. this.FailWithMessage("获取失败", "获取审批权限失败,Err:"+err.Error())
  246. return
  247. }
  248. delayPermissionIdMap := make(map[int]int)
  249. for _, delayPermission := range delayPermissionList {
  250. delayPermissionIdMap[delayPermission.ChartPermissionId] = 0
  251. }
  252. //遍历获取
  253. for _, v := range permissionClassifyArr {
  254. checkList := make([]int, 0)
  255. plist := new(company_report_permission.PermissionLookList)
  256. items, err := company_report_permission.GetPermissionLookItems(approvalInfo.ProductId, v)
  257. if err != nil {
  258. this.FailWithMessage("获取失败", "获取权限信息失败,Err:"+err.Error())
  259. return
  260. }
  261. for _, n := range items {
  262. if _, ok := delayPermissionIdMap[n.ChartPermissionId]; ok {
  263. checkList = append(checkList, n.ChartPermissionId)
  264. }
  265. }
  266. plist.Items = items
  267. plist.ClassifyName = v
  268. plist.CheckList = checkList
  269. if approvalInfo.ProductId == 1 {
  270. resp.FiccPermissionList = append(resp.FiccPermissionList, plist)
  271. } else {
  272. resp.PermissionList = append(resp.PermissionList, plist)
  273. }
  274. }
  275. this.OkDetailed(resp, "获取成功")
  276. }
  277. // @Title 审批
  278. // @Description 审批接口
  279. // @Param request body approval.CompanyApplyApproveReq true "type json string"
  280. // @Success Ret=200 审批成功
  281. // @router /approval/approve [post]
  282. func (this *ApprovalCommon) ApplyApprove() {
  283. sysUser := this.AdminWx
  284. var req approval2.CompanyApplyApproveReq
  285. err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  286. if err != nil {
  287. this.FailWithMessage("参数解析异常!", "参数解析失败,Err:"+err.Error())
  288. return
  289. }
  290. roleTypeCode := sysUser.RoleTypeCode
  291. productId := services.GetProductId(roleTypeCode)
  292. if productId == 0 {
  293. this.FailWithMessage("参数错误", "参数解析失败,Err:"+"客户类型为:"+roleTypeCode)
  294. return
  295. }
  296. if req.CompanyId <= 0 {
  297. this.FailWithMessage("参数错误", "客户Id小于等于0")
  298. return
  299. }
  300. if req.Status != 1 && req.Status != 2 {
  301. this.FailWithMessage("参数错误", "审批状态Id小于等于0")
  302. return
  303. }
  304. companyProduct, err := company_product.GetCompanyProductByCompanyIdAndProductId(req.CompanyId, productId)
  305. if err != nil {
  306. this.FailWithMessage("获取信息失败", "获取信息失败,Err:"+err.Error())
  307. return
  308. }
  309. if companyProduct == nil {
  310. this.FailWithMessage("获取审批信息失败", "获取信息失败,Err:"+err.Error())
  311. return
  312. }
  313. approvalItem, err := company_approval.GetCompanyApprovalByCompanyId(req.CompanyId, productId)
  314. if err != nil {
  315. if err.Error() == utils.ErrNoRow() {
  316. this.FailWithMessage("订单已审批,请刷新页面查看最新状态", "待审批信息不存在,CompanyId:"+strconv.Itoa(req.CompanyId)+";productId:"+strconv.Itoa(productId))
  317. } else {
  318. this.FailWithMessage("获取信息失败", "获取信息失败,Err:"+err.Error())
  319. }
  320. return
  321. }
  322. if approvalItem == nil {
  323. this.FailWithMessage("订单已审批,请刷新页面查看最新状态", "待审批信息不存在,CompanyId:"+strconv.Itoa(req.CompanyId)+";productId:"+strconv.Itoa(productId))
  324. return
  325. }
  326. if approvalItem.ApproveRoleTypeCode != roleTypeCode {
  327. this.FailWithMessage("您无权审批", "ApproveRoleTypeCode:"+approvalItem.ApproveRoleTypeCode+";roleTypeCode:"+roleTypeCode)
  328. return
  329. }
  330. var approveStatus, approveContent string
  331. if req.Status == 1 { //通过
  332. //申请类型:1:试用->正式,2:冻结—>试用,3:试用延期,4:原销售申请领取流失客户,5:正式客户申请服务更新
  333. if approvalItem.ApplyMethod == 1 { //试用转正式
  334. //获取合同信息
  335. contract, err := company_contract.GetCompanyContractDetail(req.CompanyId, productId, req.CompanyContractId)
  336. if err != nil {
  337. this.FailWithMessage("待审批信息不存在", "待审批信息不存在,CompanyId:"+strconv.Itoa(req.CompanyId)+";productId:"+strconv.Itoa(productId)+";Err:"+err.Error())
  338. return
  339. }
  340. if contract == nil {
  341. this.FailWithMessage("待审批信息不存在", "待审批信息不存在,CompanyId:"+strconv.Itoa(req.CompanyId)+";productId:"+strconv.Itoa(productId))
  342. return
  343. }
  344. err = company_approval.TryOutToFormal(req.CompanyId, productId, sysUser.AdminId, approvalItem.CompanyApprovalId, contract.CompanyContractId, contract.StartDate, contract.EndDate, sysUser.RealName, companyProduct.ProductName)
  345. if err != nil {
  346. this.FailWithMessage("审批失败", "审批失败,Err:"+err.Error())
  347. return
  348. }
  349. } else if approvalItem.ApplyMethod == 2 { //冻结->试用
  350. err = company_approval.FreezeToTryOut(req.CompanyId, productId, sysUser.AdminId, approvalItem.CompanyApprovalId, approvalItem.ApplyUserId, sysUser.RealName, companyProduct.ProductName)
  351. if err != nil {
  352. this.FailWithMessage("审批失败", "审批失败,Err:"+err.Error())
  353. return
  354. }
  355. } else if approvalItem.ApplyMethod == 3 { //试用延期
  356. err = company_approval.TryOutDelay(req.CompanyId, productId, sysUser.AdminId, approvalItem.CompanyApprovalId, sysUser.RealName, companyProduct.EndDate, companyProduct.ProductName)
  357. if err != nil {
  358. this.FailWithMessage("审批失败", "审批失败,Err:"+err.Error())
  359. return
  360. }
  361. } else if approvalItem.ApplyMethod == 4 { //原销售申请领取流失客户
  362. err = company_approval.ApplyReceive(req.CompanyId, productId, sysUser.AdminId, approvalItem.CompanyApprovalId, approvalItem.ApplyUserId, sysUser.RealName, companyProduct.ProductName)
  363. if err != nil {
  364. this.FailWithMessage("审批失败", "审批失败,Err:"+err.Error())
  365. return
  366. }
  367. } else if approvalItem.ApplyMethod == 5 { //正式客户申请服务更新
  368. //获取合同信息
  369. contract, err := company_contract.GetCompanyContractDetail(req.CompanyId, productId, req.CompanyContractId)
  370. if err != nil {
  371. this.FailWithMessage("审批失败", "审批失败,Err:"+err.Error())
  372. return
  373. }
  374. if contract == nil {
  375. this.FailWithMessage("审批失败", "审批失败,Err:"+err.Error())
  376. return
  377. }
  378. err = company_approval.ApplyServiceUpdate(req.CompanyId, productId, sysUser.AdminId, approvalItem.CompanyApprovalId, contract.CompanyContractId, companyProduct.StartDate, contract.EndDate, sysUser.RealName, companyProduct.ProductName)
  379. if err != nil {
  380. this.FailWithMessage("审批失败", "审批失败,Err:"+err.Error())
  381. return
  382. }
  383. } else {
  384. this.FailWithMessage("审批失败", "无效的审批状态,CompanyId:"+strconv.Itoa(req.CompanyId)+";productId:"+
  385. strconv.Itoa(productId)+";ApplyMethod:"+strconv.Itoa(approvalItem.ApplyMethod)+" ApproveStatus;"+approvalItem.ApproveStatus)
  386. return
  387. }
  388. approveContent = "审批通过"
  389. } else { //拒绝
  390. approveStatus = "驳回"
  391. err = company_approval.ApproveRefuse(req.CompanyId, productId, approveStatus, req.Remark)
  392. approveContent = "审批驳回"
  393. if err != nil {
  394. this.FailWithMessage("审批失败", "审批失败,Err:"+err.Error())
  395. return
  396. }
  397. }
  398. //新增客户产品日志
  399. {
  400. productLog := new(company_product_log.CompanyProductLog)
  401. productLog.CompanyProductId = companyProduct.CompanyProductId
  402. productLog.CompanyId = companyProduct.CompanyId
  403. productLog.ProductId = companyProduct.ProductId
  404. productLog.ProductName = companyProduct.ProductName
  405. productLog.CompanyName = companyProduct.CompanyName
  406. productLog.CompanyName = companyProduct.CompanyName
  407. productLog.Source = companyProduct.Source
  408. productLog.Reasons = companyProduct.Reasons
  409. productLog.Status = companyProduct.Status
  410. productLog.IndustryId = companyProduct.IndustryId
  411. productLog.IndustryName = companyProduct.IndustryName
  412. productLog.SellerId = companyProduct.SellerId
  413. productLog.SellerName = companyProduct.SellerName
  414. productLog.GroupId = companyProduct.GroupId
  415. productLog.DepartmentId = companyProduct.DepartmentId
  416. productLog.IsSuspend = companyProduct.IsSuspend
  417. productLog.SuspendTime = companyProduct.SuspendTime
  418. productLog.ApproveStatus = companyProduct.ApproveStatus
  419. productLog.FreezeTime = companyProduct.FreezeTime
  420. productLog.Remark = companyProduct.Remark
  421. productLog.StartDate = companyProduct.StartDate
  422. productLog.EndDate = companyProduct.EndDate
  423. productLog.CreateTime = companyProduct.CreateTime
  424. productLog.ModifyTime = companyProduct.ModifyTime
  425. productLog.LoseReason = companyProduct.LoseReason
  426. productLog.LossTime = companyProduct.LossTime
  427. productLog.LogType = "modify"
  428. productLog.LogCreateTime = time.Now()
  429. productLog.AdminId = this.AdminWx.AdminId
  430. go company_product_log.AddCompanyProductLog(productLog)
  431. }
  432. //新增操作记录
  433. {
  434. remark := "审批"
  435. operation := "approve"
  436. services.AddCompanyOperationRecord(req.CompanyId, companyProduct.SellerId, sysUser.AdminId, productId, sysUser.AdminId, companyProduct.CompanyName,
  437. companyProduct.ProductName, sysUser.RealName, remark, operation, approveContent, sysUser.RealName, req.Remark, companyProduct.Status)
  438. }
  439. //待办通知
  440. {
  441. content := companyProduct.CompanyName + " " + approvalItem.ApproveContent + approveContent
  442. approvalSysUser, _ := admin.GetAdminById(approvalItem.ApplyUserId)
  443. if sysUser != nil {
  444. go services.AddCompanyApprovalMessage(sysUser.AdminId, approvalItem.ApplyUserId, req.CompanyId, approvalItem.CompanyApprovalId, 2, companyProduct.CompanyName, content, content, approvalSysUser.Mobile)
  445. }
  446. }
  447. this.OkWithMessage("审批成功")
  448. }
  449. //// @Title 审批列表删除
  450. //// @Description 审批列表删除接口
  451. //// @Param request body company.CompanyApplyDeleteReq true "type json string"
  452. //// @Success Ret=200 删除成功
  453. //// @router /approval/delete [post]
  454. //func (this *CompanyApprovalController) ApplyDelete() {
  455. // br := new(models.BaseResponse).Init()
  456. // defer func() {
  457. // this.Data["json"] = br
  458. // this.ServeJSON()
  459. // }()
  460. // sysUser := this.SysUser
  461. // if sysUser == nil {
  462. // br.Msg = "请登录"
  463. // br.ErrMsg = "请登录,SysUser Is Empty"
  464. // br.Ret = 408
  465. // return
  466. // }
  467. // var req company.CompanyApplyDeleteReq
  468. // err := json.Unmarshal(this.Ctx.Input.RequestBody, &req)
  469. // if err != nil {
  470. // br.Msg = "参数解析异常!"
  471. // br.ErrMsg = "参数解析失败,Err:" + err.Error()
  472. // return
  473. // }
  474. // roleTypeCode := sysUser.RoleTypeCode
  475. // productId := services.GetProductId(roleTypeCode)
  476. // if productId == 0 {
  477. // br.Msg = "参数错误"
  478. // br.ErrMsg = "客户类型为:" + roleTypeCode
  479. // return
  480. // }
  481. // if req.CompanyId <= 0 {
  482. // br.Msg = "参数错误"
  483. // br.ErrMsg = "客户Id小于等于0:"
  484. // return
  485. // }
  486. // companyProduct, err := company.GetCompanyProductByCompanyIdAndProductId(req.CompanyId, productId)
  487. // if err != nil {
  488. // br.Msg = "获取信息失败"
  489. // br.ErrMsg = "获取信息失败,Err:" + err.Error()
  490. // return
  491. // }
  492. // if companyProduct == nil {
  493. // br.Msg = "获取信息失败"
  494. // br.ErrMsg = "获取审批信息失败,Err:" + err.Error()
  495. // return
  496. // }
  497. // approvalItem, err := company.GetCompanyApprovalByApprovalId(req.CompanyApprovalId)
  498. // if err != nil {
  499. // if err.Error() == utils.ErrNoRow() {
  500. // br.Msg = "待审批信息不存在"
  501. // br.ErrMsg = "待审批信息不存在,CompanyId:" + strconv.Itoa(req.CompanyId) + ";productId:" + strconv.Itoa(productId)
  502. // return
  503. // }
  504. // br.Msg = "获取信息失败"
  505. // br.ErrMsg = "获取信息失败,Err:" + err.Error()
  506. // return
  507. // }
  508. // if approvalItem == nil {
  509. // br.Msg = "待审批信息不存在"
  510. // br.ErrMsg = "待审批信息不存在,CompanyId:" + strconv.Itoa(req.CompanyId) + ";productId:" + strconv.Itoa(productId)
  511. // return
  512. // }
  513. // if approvalItem.ApproveStatus != "待审批" && approvalItem.ApproveStatus != "已撤回" {
  514. // br.Msg = "审批状态为:" + approvalItem.ApproveStatus + ";不可删除"
  515. // br.ErrMsg = "审批状态为:" + approvalItem.ApproveStatus + ";不可删除" + ";CompanyId:" + strconv.Itoa(req.CompanyId) + ";productId:" + strconv.Itoa(productId)
  516. // return
  517. // }
  518. // //删除
  519. // err = company.ApplyDelete(req.CompanyId, req.CompanyApprovalId, approvalItem.ProductId)
  520. // if err != nil {
  521. // br.Msg = "删除失败"
  522. // br.ErrMsg = "删除失败,Err:" + err.Error()
  523. // return
  524. // }
  525. // //新增操作记录
  526. // {
  527. // remark := "删除审批申请"
  528. // operation := "approve_delete"
  529. // services.AddCompanyOperationRecord(req.CompanyId, companyProduct.SellerId, sysUser.AdminId, productId, sysUser.AdminId, companyProduct.CompanyName,
  530. // companyProduct.ProductName, sysUser.RealName, remark, operation, remark, sysUser.RealName, "", companyProduct.Status)
  531. // }
  532. // br.Ret = 200
  533. // br.Success = true
  534. // br.Msg = "删除成功"
  535. //}