123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598 |
- package statistic_report
- import (
- "errors"
- "fmt"
- "github.com/rdlucklib/rdluck_tools/paging"
- "github.com/shopspring/decimal"
- "hongze/hz_crm_api/models/company"
- statisticModels "hongze/hz_crm_api/models/statistic_report"
- "hongze/hz_crm_api/models/system"
- "hongze/hz_crm_api/services"
- "hongze/hz_crm_api/utils"
- "strconv"
- "strings"
- "time"
- )
- func CompanyList(sysUser *system.Admin, req statisticModels.IncrementalCompanyListReq) (resp CompanyListResp, err error, errMsg string) {
- pageSize := req.PageSize
- currentIndex := req.CurrentIndex
- CompanyIds := req.CompanyIds
- //排序参数
- sortParam := req.SortParam
- sortType := req.SortType
- roleTypeCode := sysUser.RoleTypeCode
- var total int
- page := paging.GetPaging(currentIndex, pageSize, total)
- //resp := new(CompanyListResp)
- var startSize int
- if pageSize <= 0 {
- pageSize = utils.PageSize20
- }
- if currentIndex <= 0 {
- currentIndex = 1
- }
- startSize = paging.StartIndex(currentIndex, pageSize)
- var condition string
- var pars []interface{}
- if CompanyIds != "" {
- fmt.Println("CompanyIds:", CompanyIds)
- condition += ` AND b.company_id IN (` + strings.Replace(CompanyIds, "\"", "", -1) + `) `
- }
- productId := services.GetProductId(roleTypeCode)
- {
- //权限控制
- //如果不是超级管理员或者财务
- if roleTypeCode != utils.ROLE_TYPE_CODE_ADMIN && roleTypeCode != utils.ROLE_TYPE_CODE_FINANCE {
- //如果是部门管理员
- condition += ` AND b.product_id=? `
- pars = append(pars, productId)
- }
- }
- total, err = company.GetCompanyListCount(condition, pars)
- if err != nil {
- errMsg = "获取数据总数失败,Err:" + err.Error()
- err = errors.New("获取失败")
- return
- }
- status := `全部`
- sortStr := ``
- if sortParam != "" && sortType != "" {
- if sortParam == "expireDay" {
- if roleTypeCode == utils.ROLE_TYPE_CODE_ADMIN {
- if sortType == "asc" {
- sortStr = " ORDER BY min_end_date"
- } else {
- sortStr = " ORDER BY max_end_date"
- }
- } else {
- sortStr = " ORDER BY b.end_date "
- }
- } else if sortParam == "createTime" {
- sortStr = " ORDER BY a.created_time "
- } else if sortParam == "viewTotal" {
- if roleTypeCode == utils.ROLE_TYPE_CODE_ADMIN {
- sortStr = " ORDER BY all_view_total"
- } else {
- sortStr = " ORDER BY b.view_total"
- }
- } else if sortParam == "viewTime" {
- if roleTypeCode == utils.ROLE_TYPE_CODE_ADMIN {
- if sortType == "asc" {
- sortStr = " ORDER BY min_last_view_time"
- } else {
- sortStr = " ORDER BY max_last_view_time"
- }
- } else {
- sortStr = " ORDER BY b.last_view_time "
- }
- } else if sortParam == "roadShowTotal" {
- sortStr = " ORDER BY b.road_show_total "
- } else if sortParam == "formalTime" {
- sortStr = " ORDER BY b.formal_time "
- } else if sortParam == "freezeTime" {
- sortStr = " ORDER BY b.freeze_time "
- } else if sortParam == "lossTime" {
- sortStr = " ORDER BY b.loss_time "
- } else if sortParam == "deadline" {
- if roleTypeCode == utils.ROLE_TYPE_CODE_ADMIN {
- sortStr = " ORDER BY sort_todo_end_time asc, all_view_total desc, a.created_time desc"
- } else {
- sortStr = " ORDER BY sort_todo_end_time asc, b.view_total desc, a.created_time desc"
- }
- } else if sortParam == "sellerName" {
- sortStr = " ORDER BY CONVERT( b.seller_name USING gbk ) COLLATE gbk_chinese_ci "
- } else if sortParam == "shareSellerName" {
- sortStr = " ORDER BY CONVERT( b.share_seller USING gbk ) COLLATE gbk_chinese_ci "
- } else if sortParam == "status" {
- sortStr = " ORDER BY b.status "
- } else if sortParam == "serviceYears" {
- sortStr = " ORDER BY d.first_date"
- } else if sortParam == "latestServiceRecord" {
- sortStr = " ORDER BY c.latest_service_record "
- }else {
- errMsg = "排序字段传入数据异常:" + sortParam
- err = errors.New("获取失败")
- return
- }
- if sortParam != "deadline" {
- if sortType == "asc" {
- sortStr += " ASC "
- } else if sortType == "desc" {
- sortStr += " DESC "
- } else {
- errMsg = "排序类型传入数据异常:" + sortType
- err = errors.New("获取失败")
- return
- }
- }
- } else {
- //2、客户列表选择“全部”时,支持按照“创建时间”对“全部”分类下所有客户列表进行升降序排列;选择“正式”时按照“转正时间”、选择“冻结”时按照“冻结时间”、选择“流失”时按照“流失时间”、选择“永续”时按照“创建时间”;
- if status == "全部" || status == "永续" {
- sortStr = " ORDER BY c.latest_service_record ASC"
- } else if status == "正式" {
- sortStr = " ORDER BY b.formal_time DESC"
- } else if status == "冻结" {
- sortStr = " ORDER BY b.freeze_time DESC"
- } else if status == "流失" {
- sortStr = " ORDER BY b.loss_time DESC"
- } else if status == "试用" {
- if roleTypeCode == utils.ROLE_TYPE_CODE_ADMIN {
- sortStr = " ORDER BY all_view_total DESC"
- } else {
- sortStr = " ORDER BY b.view_total DESC"
- }
- }
- }
- list, err := company.GetCompanyList(condition, status, sortStr, pars, startSize, pageSize)
- if err != nil {
- errMsg = "获取数据失败,Err:" + err.Error()
- err = errors.New("获取失败")
- return
- }
- //企业用户数组切片
- companyIdSlice := make([]string, 0)
- for _, v := range list {
- companyIdSlice = append(companyIdSlice, strconv.Itoa(v.CompanyId))
- }
- //企业用户产品开通数
- companyIdStr := strings.Join(companyIdSlice, ",")
- companyProductTotalList, _ := company.GetCountProductByCompanyIds(companyIdStr)
- companyProductTotalMap := make(map[int]*company.CompanyProductTotalSlice)
- for _, companyProductTotal := range companyProductTotalList {
- companyProductTotalMap[companyProductTotal.CompanyId] = companyProductTotal
- }
- lenList := len(list)
- // 客户产品详细信息
- companyProductMap := make(map[string]*company.CompanyProduct)
- var companyProductCondition string
- var companyProductPars []interface{}
- if productId != 0 {
- companyProductCondition += ` AND product_id=? `
- companyProductPars = append(companyProductPars, productId)
- }
- companyProductList, err := company.GetCompanyProductsByCompanyIds(companyIdStr, companyProductCondition, companyProductPars)
- if err != nil {
- errMsg = "获取客户产品数据失败,Err:" + err.Error()
- err = errors.New("获取失败")
- return
- }
- for _, companyProduct := range companyProductList {
- key := fmt.Sprint(companyProduct.CompanyId, "_", companyProduct.ProductId)
- companyProductMap[key] = companyProduct
- }
- sysUserProductId := 0
- //获取名下所有的分组
- myChildSysGroupMap := make(map[int]*system.SysGroup)
- switch sysUser.RoleTypeCode {
- case utils.ROLE_TYPE_CODE_FICC_GROUP: //ficc主管
- myChildSysGroupMap, err = services.GetBigGroupByFiccGroupId(sysUser.GroupId)
- sysUserProductId = 1
- case utils.ROLE_TYPE_CODE_FICC_TEAM: //ficc组长
- myChildSysGroupMap, err = services.GetBigGroupAllGroupInfo(sysUser.GroupId)
- sysUserProductId = 1
- case utils.ROLE_TYPE_CODE_RAI_GROUP: //权益组长
- myChildSysGroupMap, err = services.GetBigGroupAllGroupInfo(sysUser.GroupId)
- sysUserProductId = 2
- case utils.ROLE_TYPE_CODE_RAI_SELLER: //权益销售
- myChildSysGroupMap, err = services.GetBigGroupAllGroupInfo(sysUser.GroupId)
- sysUserProductId = 2
- case utils.ROLE_TYPE_CODE_FICC_SELLER: //ficc销售
- myChildSysGroupMap, err = services.GetBigGroupAllGroupInfo(sysUser.GroupId)
- sysUserProductId = 1
- }
- for i := 0; i < lenList; i++ {
- item := list[i]
- //校验该客户是否存在多个产品,如果是,那么代表是共享客户
- if companyProductTotal, ok := companyProductTotalMap[int(item.CompanyId)]; ok {
- if companyProductTotal.Total > 1 {
- list[i].IsShared = true
- }
- }
- var expireDay string
- itemStatus := item.Status
- if itemStatus != "" {
- if !strings.Contains(item.Status, "/") {
- if itemStatus == utils.COMPANY_STATUS_FOREVER { //永续
- expireDay = "-"
- } else if itemStatus == utils.COMPANY_STATUS_TRY_OUT || itemStatus == utils.COMPANY_STATUS_FORMAL { //试用/正式
- if item.StartDate != "" && item.EndDate != "" {
- endDateTime, _ := time.Parse(utils.FormatDate, item.EndDate)
- endDateTime = endDateTime.AddDate(0, 0, 1)
- sub := endDateTime.Sub(time.Now())
- if sub < 0 {
- sub = 0
- }
- expireDay = fmt.Sprintf("%v", int(sub.Hours()/24))
- } else {
- expireDay = "-"
- }
- } else if itemStatus == utils.COMPANY_STATUS_LOSE {
- expireDay = "-"
- } else if itemStatus == utils.COMPANY_STATUS_FREEZE {
- if item.StartDate != "" && item.EndDate != "" {
- endDateTime, _ := time.Parse(utils.FormatDate, item.EndDate)
- endDateTime = endDateTime.AddDate(0, 0, 0)
- sub := endDateTime.Sub(time.Now())
- if sub < 0 {
- sub = 0
- }
- expireDay = fmt.Sprintf("%v", int(sub.Hours()/24))
- } else {
- expireDay = "-"
- }
- } else {
- expireDay = "-"
- }
- } else {
- statusArr := strings.Split(item.Status, "/")
- ficcStatus := statusArr[0]
- raiStatus := statusArr[1]
- var ficcEndDate, tryEndDate string
- var ficcExpireDay, tryExpireDay string
- if item.EndDate != "" {
- endDateArr := strings.Split(item.EndDate, "/")
- if len(endDateArr) == 1 {
- ficcEndDate = endDateArr[0]
- } else if len(endDateArr) > 1 {
- ficcEndDate = endDateArr[0]
- tryEndDate = endDateArr[1]
- }
- if ficcStatus == utils.COMPANY_STATUS_FOREVER { //永续
- ficcExpireDay = "-"
- } else if ficcStatus == utils.COMPANY_STATUS_TRY_OUT || ficcStatus == utils.COMPANY_STATUS_FORMAL { //试用/正式
- if ficcEndDate != "" {
- endDateTime, _ := time.Parse(utils.FormatDate, ficcEndDate)
- endDateTime = endDateTime.AddDate(0, 0, 1)
- sub := endDateTime.Sub(time.Now())
- if sub < 0 {
- sub = 0
- }
- ficcExpireDay = fmt.Sprintf("%v", int(sub.Hours()/24))
- } else {
- ficcExpireDay = "-"
- }
- } else if ficcStatus == utils.COMPANY_STATUS_LOSE { //流失
- ficcExpireDay = "-"
- } else if ficcStatus == utils.COMPANY_STATUS_FREEZE { //冻结
- if item.StartDate != "" && item.EndDate != "" {
- endDateTime, _ := time.Parse(utils.FormatDate, ficcEndDate)
- endDateTime = endDateTime.AddDate(0, 0, 0)
- sub := endDateTime.Sub(time.Now())
- if sub < 0 {
- sub = 0
- }
- ficcExpireDay = fmt.Sprintf("%v", int(sub.Hours()/24))
- } else {
- ficcExpireDay = "-"
- }
- } else {
- ficcExpireDay = "-"
- }
- if raiStatus == utils.COMPANY_STATUS_FOREVER { //永续
- tryExpireDay = "-"
- } else if raiStatus == utils.COMPANY_STATUS_TRY_OUT || raiStatus == utils.COMPANY_STATUS_FORMAL { //试用/正式
- if tryEndDate != "" {
- endDateTime, _ := time.Parse(utils.FormatDate, tryEndDate)
- endDateTime = endDateTime.AddDate(0, 0, 1)
- sub := endDateTime.Sub(time.Now())
- if sub < 0 {
- sub = 0
- }
- tryExpireDay = fmt.Sprintf("%v", int(sub.Hours()/24))
- } else {
- tryExpireDay = "-"
- }
- } else if raiStatus == utils.COMPANY_STATUS_LOSE { //流失
- tryExpireDay = "-"
- } else if raiStatus == utils.COMPANY_STATUS_FREEZE { //冻结
- if item.StartDate != "" && item.EndDate != "" {
- endDateTime, _ := time.Parse(utils.FormatDate, tryEndDate)
- endDateTime = endDateTime.AddDate(0, 0, 0)
- sub := endDateTime.Sub(time.Now())
- if sub < 0 {
- sub = 0
- }
- tryExpireDay = fmt.Sprintf("%v", int(sub.Hours()/24))
- } else {
- tryExpireDay = "-"
- }
- } else {
- tryExpireDay = "-"
- }
- }
- expireDay = ficcExpireDay + "/" + tryExpireDay
- }
- }
- list[i].ExpireDay = expireDay
- ficcKey := fmt.Sprint(item.CompanyId, "_", 1)
- //ficc
- if tmpCompanyProduct, ok := companyProductMap[ficcKey]; ok && (productId == 0 || productId == 1) {
- //套餐类型
- item.FiccPackageType = tmpCompanyProduct.PackageType
- //总阅读次数
- item.FiccView = tmpCompanyProduct.ViewTotal
- if !tmpCompanyProduct.LastViewTime.IsZero() {
- //最近一次阅读时间
- item.FiccLastViewTime = tmpCompanyProduct.LastViewTime.Format(utils.FormatDateTime)
- }
- item.FiccTryOutDay = tmpCompanyProduct.TryOutDayTotal
- }
- //权益
- raiKey := fmt.Sprint(item.CompanyId, "_", 2)
- if tmpCompanyProduct, ok := companyProductMap[raiKey]; ok && (productId == 0 || productId == 2) {
- //总阅读次数
- item.RaiView = tmpCompanyProduct.ViewTotal
- if !tmpCompanyProduct.LastViewTime.IsZero() {
- //最近一次阅读时间
- item.RaiLastViewTime = tmpCompanyProduct.LastViewTime.Format(utils.FormatDateTime)
- }
- item.RaiTryOutDay = tmpCompanyProduct.TryOutDayTotal
- }
- }
- companyLists := make([]*CompanyListItem, 0)
- //查询阅读次数
- if list == nil {
- companyLists = make([]*CompanyListItem, 0)
- } else {
- for _, v := range list {
- //viewTotal:=GetviewTotal(v.CompanyId)
- //活跃(客户状态)
- tmpStatus := v.Status
- //productIdSlice := strings.Split(v.ProductIds, "/")
- //statusSlice := strings.Split(v.Status, "/")
- // 试用客户子标签
- tryStageSlice := make([]company.TryStageSliceItem, 0)
- for _, vProductId := range []int{1, 2} {
- ficcKey := fmt.Sprint(v.CompanyId, "_", vProductId)
- //ficc
- if tmpCompanyProduct, ok := companyProductMap[ficcKey]; ok {
- if tmpCompanyProduct.Status == utils.COMPANY_STATUS_TRY_OUT {
- key := fmt.Sprint(v.CompanyId, "_", vProductId)
- if pro, ok := companyProductMap[key]; ok {
- tryItem := company.TryStageSliceItem{
- ProductId: vProductId,
- TryStage: pro.TryStage,
- }
- if pro.SellerId == sysUser.AdminId { //产品销售ID和登录ID相等
- tryItem.HasPermission = true
- }
- tryStageSlice = append(tryStageSlice, tryItem)
- }
- }
- }
- }
- // 是否存在进行中的任务
- var todoStatus bool
- //是否支持确认完成待办任务
- var canConfirm bool
- var hiddenConfirm bool //是否隐藏确定完成按钮
- var hiddenCreate bool //是否隐藏新增/编辑按钮
- hiddenConfirm = true
- hiddenCreate = true
- todoButtonColor := `green`
- //'无任务','未完成','已完成'
- if strings.Contains(v.TodoStatuss, "未完成") {
- todoButtonColor = "red"
- todoStatus = true
- } else if strings.Contains(v.TodoStatuss, "已完成") {
- todoButtonColor = "green"
- } else if strings.Contains(v.TodoStatuss, "无任务") {
- todoButtonColor = "gray"
- }
- for _, vProductId := range []int{1, 2} {
- ficcKey := fmt.Sprint(v.CompanyId, "_", vProductId)
- //ficc
- if tmpCompanyProduct, ok := companyProductMap[ficcKey]; ok {
- if tmpCompanyProduct.Status != utils.COMPANY_STATUS_LOSE && tmpCompanyProduct.Status != utils.COMPANY_STATUS_CLOSE { //非流失
- hiddenCreate = false
- switch sysUser.RoleTypeCode {
- case utils.ROLE_TYPE_CODE_FICC_ADMIN, utils.ROLE_TYPE_CODE_RAI_ADMIN, utils.ROLE_TYPE_CODE_FICC_GROUP, utils.ROLE_TYPE_CODE_RAI_GROUP:
- //部门管理员、ficc主管、权益组长
- hiddenConfirm = false //不展示
- if todoStatus { //有任务,需要展示
- canConfirm = true
- }
- case utils.ROLE_TYPE_CODE_FICC_TEAM: //ficc组长
- if todoStatus { //有任务,需要展示
- canConfirm = true
- }
- if v.SellerId != sysUser.AdminId { //不是自己的客户
- hiddenConfirm = false //展示
- }
- case utils.ROLE_TYPE_CODE_RAI_SELLER: //权益销售
- if v.SellerId == sysUser.AdminId { //是自己的客户
- has := services.CheckRaiApprovePermission(sysUser.AdminId) //这些个权益销售是有权限的
- if has {
- if todoStatus { //有任务,需要展示
- canConfirm = true
- }
- hiddenConfirm = false //展示
- }
- }
- }
- }
- }
- }
- // To-Do任务状态为未完成的对应任务的截止日期-当前日期;
- tmpDeadline := v.Deadline
- if strings.Contains(v.TodoStatuss, "未完成") {
- if strings.Contains(v.TodoEndTimeStr, "/") {
- edtSlice := strings.Split(v.TodoEndTimeStr, "/")
- v.TodoEndTime, _ = time.ParseInLocation(utils.FormatDateTime, edtSlice[0], time.Local)
- } else {
- v.TodoEndTime, _ = time.ParseInLocation(utils.FormatDateTime, v.TodoEndTimeStr, time.Local)
- }
- tmpEndTime := v.TodoEndTime.Format(utils.FormatDate)
- if tmpEndTime == "0001-01-01" {
- tmpEndTime = ""
- }
- if tmpEndTime != "" {
- dlTime1 := time.Date(time.Now().Year(), time.Now().Month(), time.Now().Day(), 0, 0, 0, 0, time.Local)
- dlTime2 := time.Date(v.TodoEndTime.Year(), v.TodoEndTime.Month(), v.TodoEndTime.Day(), 0, 0, 0, 0, time.Local)
- dldays := int(dlTime2.Sub(dlTime1).Hours() / 24)
- tmpDeadline = strconv.Itoa(dldays)
- }
- }
- var isShow bool //是否可见
- {
- switch sysUser.RoleTypeCode {
- case utils.ROLE_TYPE_CODE_ADMIN, utils.ROLE_TYPE_CODE_FICC_ADMIN, utils.ROLE_TYPE_CODE_RAI_ADMIN:
- //超管、部门管理员
- isShow = true
- case utils.ROLE_TYPE_CODE_FICC_GROUP, utils.ROLE_TYPE_CODE_RAI_GROUP, utils.ROLE_TYPE_CODE_FICC_TEAM: //ficc主管、权益主管、ficc组长
- ficcKey := fmt.Sprint(v.CompanyId, "_", sysUserProductId)
- if _, ok := companyProductMap[ficcKey]; ok {
- if _, ok2 := myChildSysGroupMap[v.GroupId]; ok2 {
- isShow = true
- }
- }
- case utils.ROLE_TYPE_CODE_RAI_SELLER, utils.ROLE_TYPE_CODE_FICC_SELLER: //权益销售、ficc销售
- ficcKey := fmt.Sprint(v.CompanyId, "_", sysUserProductId)
- if tmpCompanyProduct, ok := companyProductMap[ficcKey]; ok {
- if tmpCompanyProduct.SellerId == sysUser.AdminId { //是自己的客户
- isShow = true
- }
- }
- }
- }
- // 计算合同开始日期和结束日期之间的小时差
- duration := time.Since(v.FirstDate).Hours()
- hoursDiff := decimal.NewFromFloat(duration)
- // 计算总小时数
- const hoursPerYear = 24 * 365
- totalHours := decimal.NewFromInt(hoursPerYear)
- // 计算相差的年数,保留一位小数
- numYearDecimal := hoursDiff.Div(totalHours).Round(1)
- companyList := &CompanyListItem{
- CompanyId: v.CompanyId,
- CompanyName: v.CompanyName,
- CreditCode: v.CreditCode,
- CompanyCode: v.CompanyCode,
- StartDate: v.StartDate,
- EndDate: v.EndDate,
- LoseReason: v.LoseReason,
- RenewalReason: v.RenewalReason,
- FreezeReason: v.FreezeReason,
- LossTime: v.LossTime,
- Status: tmpStatus,
- CompanyType: v.CompanyType,
- ApproveStatus: v.ApproveStatus,
- SellerName: v.SellerName,
- SellerId: v.SellerId,
- SellerIds: v.SellerIds,
- ExpireDay: v.ExpireDay,
- FreezeTime: v.FreezeTime,
- GroupId: v.GroupId,
- GroupIds: v.GroupIds,
- DepartmentId: v.DepartmentId,
- IndustryName: v.IndustryName,
- IsSuspend: v.IsSuspend,
- CreatedTime: v.CreatedTime,
- Source: v.Source,
- Province: v.Province,
- City: v.City,
- Address: v.Address,
- Reasons: v.Reasons,
- FreezeStartDate: v.FreezeStartDate,
- FreezeEndDate: v.FreezeEndDate,
- FreezeExpireDays: v.FreezeExpireDays,
- ProductId: v.ProductId,
- FormalTime: v.FormalTime,
- IsShared: v.IsShared,
- RegionType: v.RegionType,
- FiccPackageType: v.FiccPackageType,
- FiccLastViewTime: v.FiccLastViewTime,
- RaiLastViewTime: v.RaiLastViewTime,
- FiccView: v.FiccView,
- RaiView: v.RaiView,
- RoadShowTotal: v.RoadShowTotal,
- FiccTryOutDay: v.FiccTryOutDay,
- RaiTryOutDay: v.RaiTryOutDay,
- TodoStatus: todoStatus,
- CanConfirm: canConfirm,
- HiddenConfirm: hiddenConfirm,
- HiddenCreate: hiddenCreate,
- TodoButtonColor: todoButtonColor,
- AllViewTotal: v.AllViewTotal,
- Deadline: tmpDeadline,
- IsShow: isShow,
- TryStageSlice: tryStageSlice,
- ShareSeller: v.ShareSeller,
- ShareSellerId: v.ShareSellerId,
- LatestServiceRecord: v.LatestServiceRecord.Format(utils.FormatDate2),
- ServiceYears: numYearDecimal.String(),
- }
- if strings.Contains(companyList.ApproveStatus, "已审批") {
- companyList.ApproveStatus = ""
- }
- companyLists = append(companyLists, companyList)
- }
- }
- if companyLists == nil {
- companyLists = make([]*CompanyListItem, 0)
- }
- page = paging.GetPaging(currentIndex, pageSize, total)
- resp.List = companyLists
- resp.Paging = page
- return
- }
|