12345678910111213141516171819202122232425262728293031323334 |
- package controller
- import (
- "github.com/gin-gonic/gin"
- "lims-extend/common"
- "lims-extend/model"
- "lims-extend/response"
- )
- 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")
- }
|