123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- package controller
- import (
- "github.com/gin-gonic/gin"
- "lims-extend/common"
- "lims-extend/model"
- "lims-extend/response"
- "net/http"
- )
- func ShowRelatedSoftwares(c *gin.Context) {
- db := common.GetDB()
- userId := c.Params.ByName("userId")
- var softwares []model.Software
- db.Raw("SELECT DISTINCT software.`id`,software.`name`,software.`type`,software.`report_file`, software.`company_id`,"+
- "software.`create_time`,software.`update_time`,software.`delete`,software.`creator_id` FROM task,plan,software"+
- " WHERE task.plan_id = plan.id and plan.software_id = software.id and "+
- "task.executor_id = ? and task.`delete` <> 1 and software.`delete` <> 1 order by software.`create_time` desc", userId).Find(&softwares)
- type result struct {
- model.Software
- CompanyName string `json:"company_name"`
- }
- res := make([]result, len(softwares))
- for i, v := range softwares {
- var company model.Company
- if v.CompanyId != 0 {
- db.Model(model.Company{}).Where("id = ?", v.CompanyId).First(&company)
- }
- res[i].Software = v
- res[i].CompanyName = company.Name
- }
- response.Success(c, gin.H{"softwares": res}, "success")
- }
- func GetReportDownloadLink(c *gin.Context) {
- httpHead := "http://61.132.52.98:18003/static/case-file/"
- db := common.GetDB()
- softwareId := c.Params.ByName("softwareId")
- var software model.Software
- db.Model(&model.Software{}).Where("id = ?", softwareId).First(&software)
- var plan model.Plan
- db.Model(&model.Plan{}).Where("software_id = ? and plan.delete <> 1", software.ID).First(&plan)
- var task model.Task
- db.Model(&model.Task{}).Where("plan_id = ? and task.delete <> 1 and state = 2", plan.Id).First(&task)
- var file model.File
- db.Model(&model.File{}).Where("id = ?", task.CaseFile).First(&file)
- c.Redirect(http.StatusMovedPermanently, httpHead+file.Path)
- }
|