|
@@ -126,6 +126,120 @@ func (this *ApprovalCommon) List() {
|
|
|
this.OkDetailed(resp, "获取成功")
|
|
|
}
|
|
|
|
|
|
+// @Title 获取审批单详情接口
|
|
|
+// @Description 获取审批单详情接口
|
|
|
+// @Param CompanyApprovalId query int true "审批单id"
|
|
|
+// @Success 200 {object} approval.CompanyApprovalDetailResp
|
|
|
+// @router /detail [get]
|
|
|
+func (this *ApprovalCommon) Detail() {
|
|
|
+ sysUser := this.AdminWx
|
|
|
+ roleTypeCode := sysUser.RoleTypeCode
|
|
|
+
|
|
|
+ companyApprovalId, _ := this.GetInt("CompanyApprovalId")
|
|
|
+ var condition string
|
|
|
+ var pars []interface{}
|
|
|
+
|
|
|
+ if roleTypeCode == utils.ROLE_TYPE_CODE_FICC_ADMIN || roleTypeCode == utils.ROLE_TYPE_CODE_RAI_ADMIN { //审批
|
|
|
+ condition += ` AND c.approve_role_type_code=? `
|
|
|
+ pars = append(pars, roleTypeCode)
|
|
|
+ } else if roleTypeCode == utils.ROLE_TYPE_CODE_FICC_SELLER || roleTypeCode == utils.ROLE_TYPE_CODE_RAI_SELLER { //销售
|
|
|
+ condition += ` AND c.apply_user_id=? `
|
|
|
+ pars = append(pars, sysUser.AdminId)
|
|
|
+ }
|
|
|
+
|
|
|
+ item, err := company_approval.GetApprovalListByApprovalId(condition, pars, companyApprovalId)
|
|
|
+ if err != nil {
|
|
|
+ this.FailWithMessage("获取失败", "获取数据失败,Err:"+err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if item.FreezeStartDate != "" && item.FreezeEndDate != "" && item.Status == utils.COMPANY_STATUS_FREEZE {
|
|
|
+ freezeEndDate, _ := time.Parse(utils.FormatDate, item.FreezeEndDate)
|
|
|
+ if time.Now().Before(freezeEndDate) {
|
|
|
+ expireDays := freezeEndDate.Sub(time.Now()).Hours() / 24
|
|
|
+ item.FreezeExpireDays = int(expireDays)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if item.StartDate != "" && item.EndDate != "" {
|
|
|
+ endDate, _ := time.Parse(utils.FormatDate, item.EndDate)
|
|
|
+ if time.Now().Before(endDate) {
|
|
|
+ expireDays := endDate.Sub(time.Now()).Hours() / 24
|
|
|
+ item.ExpireDay = int(expireDays)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ approvalCount, err := company_approval.GetCompanyApprovalCount(item.CompanyId, item.ProductId)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ this.FailWithMessage("获取失败", "获取延期审批次数失败,Err:"+err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ item.ApprovalCount = approvalCount
|
|
|
+
|
|
|
+ //if item.ApplyMethod == 3 {
|
|
|
+ // delayPermission, err := company_delay_permission.GetApplyDelayPermission(item.CompanyApprovalId)
|
|
|
+ // if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ // this.FailWithMessage("获取失败", "获取延期审批权限失败,Err:"+err.Error())
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // item.DelayPermission = delayPermission
|
|
|
+ //}
|
|
|
+
|
|
|
+ resp := approval.CompanyApprovalDetailResp{
|
|
|
+ CompanyApprovalDetail: item,
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取权限列表
|
|
|
+
|
|
|
+ //子权限切片集合
|
|
|
+ var permissionClassifyArr []string
|
|
|
+ if item.ProductId == 1 {
|
|
|
+ for _, v := range utils.PermissionFiccClassifyArr {
|
|
|
+ permissionClassifyArr = append(permissionClassifyArr, v)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ permissionClassifyArr = append(permissionClassifyArr, "权益")
|
|
|
+ }
|
|
|
+
|
|
|
+ //获取需要审批的权限
|
|
|
+ delayPermissionList, err := company_delay_permission.GetDelayPermissionItems(item.CompanyId, item.CompanyApprovalId)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ this.FailWithMessage("获取失败", "获取审批权限失败,Err:"+err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ delayPermissionIdMap := make(map[int]int)
|
|
|
+ for _, delayPermission := range delayPermissionList {
|
|
|
+ delayPermissionIdMap[delayPermission.ChartPermissionId] = 0
|
|
|
+ }
|
|
|
+
|
|
|
+ //遍历获取
|
|
|
+ for _, v := range permissionClassifyArr {
|
|
|
+ checkList := make([]int, 0)
|
|
|
+ plist := new(company_report_permission.PermissionLookList)
|
|
|
+ items, err := company_report_permission.GetPermissionLookItems(item.ProductId, v)
|
|
|
+ if err != nil {
|
|
|
+ this.FailWithMessage("获取失败", "获取权限信息失败,Err:"+err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, n := range items {
|
|
|
+ if _, ok := delayPermissionIdMap[n.ChartPermissionId]; ok {
|
|
|
+ checkList = append(checkList, n.ChartPermissionId)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ plist.Items = items
|
|
|
+ plist.ClassifyName = v
|
|
|
+ plist.CheckList = checkList
|
|
|
+
|
|
|
+ if item.ProductId == 1 {
|
|
|
+ resp.FiccPermissionList = append(resp.FiccPermissionList, plist)
|
|
|
+ } else {
|
|
|
+ resp.PermissionList = append(resp.PermissionList, plist)
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ this.OkDetailed(resp, "获取成功")
|
|
|
+}
|
|
|
+
|
|
|
// @Title 获取审批单中的权限列表
|
|
|
// @Description 获取审批单中的权限列表接口
|
|
|
// @Param ApprovalId query int true "审批单id"
|
|
@@ -236,7 +350,7 @@ func (this *ApprovalCommon) ApplyApprove() {
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- approvalItem, err := company_approval.GetCompanyApprovalById(req.CompanyId, productId)
|
|
|
+ approvalItem, err := company_approval.GetCompanyApprovalByCompanyId(req.CompanyId, productId)
|
|
|
if err != nil {
|
|
|
if err.Error() == utils.ErrNoRow() {
|
|
|
this.FailWithMessage("订单已审批,请刷新页面查看最新状态", "待审批信息不存在,CompanyId:"+strconv.Itoa(req.CompanyId)+";productId:"+strconv.Itoa(productId))
|