You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
136 lines
3.9 KiB
136 lines
3.9 KiB
package postweb
|
|
|
|
import (
|
|
"key_performance_indicators/middleware/wechatapp/wechatcallback"
|
|
"key_performance_indicators/models/modelskpi"
|
|
"key_performance_indicators/overall"
|
|
"key_performance_indicators/overall/publicmethod"
|
|
"strconv"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
// 岗位审批记录
|
|
func (a *ApiMethod) GetPostFlowLog(c *gin.Context) {
|
|
var receivedValue postFlowLog
|
|
c.ShouldBindJSON(&receivedValue)
|
|
if receivedValue.Page == 0 {
|
|
receivedValue.Page = 1
|
|
}
|
|
if receivedValue.PageSize == 0 {
|
|
receivedValue.PageSize = 20
|
|
}
|
|
//获取登录人信息
|
|
context, _ := publicmethod.LoginMyCont(c)
|
|
|
|
gormDb := overall.CONSTANT_DB_KPI.Model(&modelskpi.AppNewFlowLog{})
|
|
|
|
switch context.IsAdmin {
|
|
case 2:
|
|
case 3:
|
|
case 4:
|
|
default:
|
|
gormDb = gormDb.Where("FIND_IN_SET(?,`participants`)", context.Key)
|
|
gormDb = gormDb.Where("`department_id` = ?", context.MainDeparment)
|
|
}
|
|
|
|
var flowLogList []modelskpi.AppNewFlowLog
|
|
|
|
if receivedValue.Title != "" {
|
|
gormDb = gormDb.Where("`pt_title` LIKE ? OR `pst_title` LIKE ? OR `ptd_title` LIKE ?", "%"+receivedValue.Title+"%", "%"+receivedValue.Title+"%", "%"+receivedValue.Title+"%")
|
|
}
|
|
if receivedValue.OrgId != "" {
|
|
gormDb = gormDb.Where("`org_id` = ?", receivedValue.OrgId)
|
|
}
|
|
if receivedValue.PostId != "" {
|
|
gormDb = gormDb.Where("`post_id` = ?", receivedValue.PostId)
|
|
}
|
|
if receivedValue.DayTime != "" {
|
|
startTime, endTime := publicmethod.GetAppointMonthStarAndEndTime(receivedValue.DayTime)
|
|
gormDb = gormDb.Where("`start_time` BETWEEN ? AND ?", startTime, endTime)
|
|
}
|
|
if receivedValue.State != 0 {
|
|
gormDb = gormDb.Where("`state` = ?", receivedValue.State)
|
|
} else {
|
|
gormDb = gormDb.Where("`state` BETWEEN ? AND ?", 1, 5)
|
|
}
|
|
if receivedValue.ApprovalState == 1 {
|
|
gormDb = gormDb.Where("NOT FIND_IN_SET(?,`next_executor`)", context.Key)
|
|
}
|
|
if receivedValue.ApprovalState == 2 {
|
|
gormDb = gormDb.Where("FIND_IN_SET(?,`next_executor`)", context.Key)
|
|
}
|
|
|
|
err := gormDb.Order("`id` DESC").Find(&flowLogList).Error
|
|
var total int64
|
|
totalErr := gormDb.Count(&total).Error
|
|
if totalErr != nil {
|
|
total = 0
|
|
}
|
|
if err != nil || len(flowLogList) < 1 {
|
|
publicmethod.Result(107, err, c)
|
|
return
|
|
}
|
|
var sendData []SendPostFlowLog
|
|
for _, v := range flowLogList {
|
|
var sendCont SendPostFlowLog
|
|
sendCont.OrderId = strconv.FormatInt(v.OrderId, 10) //订单Key
|
|
titleStr := v.PtTitle
|
|
if v.PstTitle != "" {
|
|
titleStr = v.PstTitle
|
|
}
|
|
if v.PtdTitle != "" {
|
|
titleStr = v.PtdTitle
|
|
}
|
|
sendCont.Title = titleStr //标题
|
|
switch v.State {
|
|
case 1:
|
|
sendCont.Result = "起草" //审批结果
|
|
sendCont.Statetype = 1 //审批状态
|
|
case 2:
|
|
sendCont.Result = "驳回"
|
|
sendCont.Statetype = 4
|
|
case 3:
|
|
sendCont.Result = "审批中"
|
|
sendCont.Statetype = 0
|
|
case 4:
|
|
sendCont.Result = "归档"
|
|
sendCont.Statetype = 1
|
|
case 5:
|
|
sendCont.Result = "废弃"
|
|
sendCont.Statetype = 1
|
|
case 6:
|
|
sendCont.Result = "删除"
|
|
sendCont.Statetype = 1
|
|
default:
|
|
sendCont.Result = "审批中"
|
|
sendCont.Statetype = 0
|
|
}
|
|
cyclesVal := v.PtCycle
|
|
cycleAttresVal := v.PtCycleattr
|
|
|
|
if v.PtdCycles != 0 {
|
|
cyclesVal = v.PtdCycles
|
|
}
|
|
if v.PtdCycleAttres != 0 {
|
|
cycleAttresVal = v.PtdCycleAttres
|
|
}
|
|
sendCont.Cycles = cyclesVal //1:班;2:天;3:周;4:月;5:季度;6:年"`
|
|
sendCont.CycleAttres = cycleAttresVal //辅助计数"`
|
|
sendCont.Year = v.Year //年分"`
|
|
sendCont.Quarter = v.Quarter //季度"`
|
|
sendCont.Month = v.Month //月"`
|
|
sendCont.Week = v.Week //周"`
|
|
if v.NextStep == 0 {
|
|
sendCont.Node = "归档"
|
|
} else {
|
|
//获取流程节点
|
|
_, flowCont, _ := wechatcallback.GetOneNodeCont(v.WorkFlow, v.Step)
|
|
sendCont.Node = flowCont.NodeName //当前节点
|
|
}
|
|
|
|
sendCont.MonthDays = publicmethod.UnixTimeToDay(v.StartTime, 22) //提报日期
|
|
sendData = append(sendData, sendCont)
|
|
}
|
|
publicmethod.ResultList(0, receivedValue.Page, receivedValue.PageSize, total, int64(len(sendData)), sendData, c)
|
|
}
|
|
|