GAAS 广汽安道拓GFrame金属件MOM项目
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.
 

242 lines
6.5 KiB

package controllers
import (
"encoding/json"
"github.com/kataras/iris/v12"
"leit.com/LAPP_GAAS_GFrame/utils"
"leit.com/LAPP_GAAS_GFrame/web/middleware/jwts"
"leit.com/LAPP_GAAS_GFrame/web/models"
"leit.com/LAPP_GAAS_GFrame/web/supports"
"time"
)
func GetScripttabList(ctx iris.Context) {
user, ok := jwts.ParseToken(ctx)
utils.TrimStruct(user, *user)
if !ok {
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
return
}
//日志
log := new(models.LeitServerLog)
log.File = "/controllers/scripttab_controller.go"
log.Level = "info"
log.Function = "GetScripttabList"
log.Message = "查询导入表"
log.Operator = user.Userid
log.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss")
log.InsertRecord()
var data models.Scripttab
var err error
var pageSize = 10
var pageIndex = 1
if size := ctx.URLParam("pageSize"); size != "" {
pageSize = utils.ValueToInt(size, 0)
}
if index := ctx.URLParam("pageIndex"); index != "" {
pageIndex = utils.ValueToInt(index, 0)
}
data.Finr = user.Pid
data.Script = ctx.URLParam("script")
data.Scripttype = ctx.URLParam("scripttype")
result, count, err := data.GetPage(pageSize, pageIndex)
if err != nil {
supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil)
return
}
res := make(map[string]interface{})
res["data"] = result
res["count"] = count
res["pageIndex"] = pageIndex
res["pageSize"] = pageSize
supports.Ok(ctx, supports.OptionSuccess, res)
}
func GetScripttab(ctx iris.Context) {
user, ok := jwts.ParseToken(ctx)
utils.TrimStruct(user, *user)
if !ok {
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
return
}
var me models.Scripttab
me.Finr = user.Pid
me.Script = ctx.URLParam("script")
result, err := me.SelectOne()
if err != nil {
supports.Error(ctx, iris.StatusBadRequest, "抱歉未找到相关信息", nil)
return
}
supports.Ok(ctx, supports.OptionSuccess, result)
}
func InsertScripttab(ctx iris.Context) {
user, ok := jwts.ParseToken(ctx)
utils.TrimStruct(user, *user)
if !ok {
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
return
}
//日志
log := new(models.LeitServerLog)
log.File = "/controllers/scripttab_controller.go"
log.Level = "info"
log.Function = "InsertScripttab"
log.Message = "添加导入表"
log.Operator = user.Userid
log.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss")
log.InsertRecord()
data := new(models.Scripttab)
if err := ctx.ReadJSON(data); err != nil {
supports.Error(ctx, iris.StatusBadRequest, "json解析错误", nil)
return
}
data.Finr = user.Pid
data.Lastuser = user.Userid
data.Credatuz = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss")
data.Lastmodif = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss")
err := data.Add()
if err != nil {
supports.Error(ctx, iris.StatusBadRequest, "数据已经存在!", nil)
return
}
supports.Ok(ctx, supports.OptionSuccess, data)
}
func UpdateScripttab(ctx iris.Context) {
user, ok := jwts.ParseToken(ctx)
utils.TrimStruct(user, *user)
if !ok {
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
return
}
//日志
log := new(models.LeitServerLog)
log.File = "/controllers/scripttab_controller.go"
log.Level = "info"
log.Function = "UpdateScripttab"
log.Message = "更新导入表"
log.Operator = user.Userid
log.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss")
log.InsertRecord()
data := new(models.Scripttab)
if err := ctx.ReadJSON(data); err != nil {
supports.Error(ctx, iris.StatusBadRequest, "json解析失败", nil)
return
}
data.Lastuser = user.Userid
res := data.Update()
if !res {
supports.Error(ctx, iris.StatusBadRequest, "更新失败", nil)
return
}
supports.Ok(ctx, "修改成功", "")
}
func DeleteScripttab(ctx iris.Context) {
user, ok := jwts.ParseToken(ctx)
utils.TrimStruct(user, *user)
if !ok {
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
return
}
//日志
log := new(models.LeitServerLog)
log.File = "/controllers/scripttab_controller.go"
log.Level = "info"
log.Function = "DeleteScripttab"
log.Message = "删除导入表"
log.Operator = user.Userid
log.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss")
log.InsertRecord()
me := new(models.Scripttab)
me.Finr = user.Pid
me.Script = ctx.URLParam("script")
res := me.Del()
if !res {
supports.Error(ctx, iris.StatusBadRequest, "删除失败", nil)
return
}
supports.Ok(ctx, "删除成功", "")
}
//上传excel
func UpExcelScripttab(ctx iris.Context) {
user, ok := jwts.ParseToken(ctx)
utils.TrimStruct(user, *user)
if !ok {
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
return
}
//日志
log := new(models.LeitServerLog)
log.File = "/controllers/scripttab_controller.go"
log.Level = "info"
log.Function = "UpExcelScripttab"
log.Message = "上传excel表格"
log.Operator = user.Userid
log.TimeStamp = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss")
log.InsertRecord()
var tab models.Scripttab
data := ctx.FormValue("data")
err := json.Unmarshal([]byte(data), &tab)
if err != nil {
supports.Error(ctx, iris.StatusBadRequest, "json解析错误", nil)
return
}
//获取通过iris.WithPostMaxMemory获取的最大上传值大小。
maxSize := ctx.Application().ConfigurationReadOnly().GetPostMaxMemory()
err = ctx.Request().ParseMultipartForm(maxSize)
if err != nil {
ctx.StatusCode(iris.StatusInternalServerError)
ctx.WriteString(err.Error())
return
}
form := ctx.Request().MultipartForm
files := form.File["upload[]"]
guid := utils.MakeOrderSn("test")
savePath := "web/public/uploadxlsx/" + guid + ".xlsx"
for _, file := range files {
// 上传文件至指定目录
err := utils.SaveUploadedFile(file, savePath)
if err != nil {
return
}
}
tab.Finr = user.Pid
tab.Lastuser = user.Userid
tab.Lastmodif = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss")
tab.Credatuz = utils.TimeFormat(time.Now(), "yyyyMMddHHmmss")
res := tab.ReadXlsx(savePath)
if res {
supports.Ok(ctx, supports.OptionSuccess, "")
return
}
supports.Error(ctx, iris.StatusBadRequest, "上传失败", nil)
return
}
//查询新增数据
func SelectArrScripttab(ctx iris.Context) {
user, ok := jwts.ParseToken(ctx)
utils.TrimStruct(user, *user)
if !ok {
supports.Error(ctx, iris.StatusBadRequest, supports.ParseParamsFailur, nil)
return
}
me := new(models.Scripttab)
me.Scripttable = ctx.URLParam("scripttable")
res, err := me.SelectArr()
if err != nil {
supports.Error(ctx, iris.StatusBadRequest, "查询失败", nil)
return
}
supports.Ok(ctx, "成功", res)
}