123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184 |
- package work
- import (
- "zhiyuan/models"
- "zhiyuan/pkg/app"
- "zhiyuan/pkg/db"
- "zhiyuan/pkg/utils"
- "zhiyuan/services/form"
- "zhiyuan/services/work/workprocessrequire"
- "zhiyuan/services/work/worksitenode"
- "github.com/gin-gonic/gin"
- )
- func WorkProcessRequireList(c *gin.Context) {
- page := app.HandlePageNums(c)
- where := map[string]string{
- "where": "`zy_work_process_require`.`id`>0 AND `zy_work_process_require`.`deleted_at`=0",
- "_order_by": "`zy_work_process_require`.`order_at` desc",
- }
- if page.PageSize != 0 {
- where["_page_size"] = utils.ToStr(page.PageSize)
- where["_page_num"] = utils.ToStr(page.PageNum)
- }
- param := make(map[string]interface{})
- name := c.Query("name")
- if name != "" {
- where["where"] = where["where"] + " AND `zy_work_process_require`.`name` LIKE {{name}}"
- param["name"] = "%" + name + "%"
- }
- process_id := utils.ToInt(c.Query("process_id"))
- if process_id != 0 {
- where["where"] = where["where"] + " AND `zy_work_process_require`.`process_id`={{process_id}}"
- param["process_id"] = process_id
- }
- total, err := workprocessrequire.CountRaw(where["where"], param)
- if err != nil {
- app.Error(c, err.Error())
- return
- }
- workProcessRequireList := make([]models.WorkProcessRequire, 0)
- if _, err = workprocessrequire.GetWorkProcesssRaw(where, param, &workProcessRequireList); err != nil {
- app.Error(c, err.Error())
- return
- }
- data := gin.H{
- "list": workProcessRequireList,
- "total": total,
- "limit": page.PageSize,
- }
- app.Success(c, data)
- }
- func WorkProcessRequireAdd(c *gin.Context) {
- var addForm form.WorkProcessRequireAdd
- if app.Bind(c, &addForm) != nil {
- return
- }
- id, err := workprocessrequire.Add(addForm)
- if err != nil {
- app.Error(c, err.Error())
- return
- }
- app.Success(c, gin.H{"id": id})
- }
- func WorkProcessRequireEdit(c *gin.Context) {
- id := utils.ToInt(c.Param("id"))
- if id <= 0 {
- app.ErrorMsg(c, "workprocess id must be a number", nil)
- return
- }
- var addForm form.WorkProcessRequireAdd
- if app.Bind(c, &addForm) != nil {
- return
- }
- err := workprocessrequire.EditByID(addForm, id)
- if err != nil {
- app.ErrorMsg(c, err.Error(), nil)
- return
- }
- app.Success(c, nil)
- }
- func WorkProcessRequireDel(c *gin.Context) {
- id := utils.ToInt(c.Param("id"))
- if id <= 0 {
- app.ErrorMsg(c, "workprocessrequire id must be a number", nil)
- return
- }
- err := workprocessrequire.DeleteByID(id)
- if err != nil {
- app.Error(c, err.Error())
- return
- }
- app.Success(c, nil)
- }
- func WorkSiteProcessRequireList(c *gin.Context) {
- page := app.HandlePageNums(c)
- where := map[string]string{
- "where": "`zy_work_process_require`.`id`>0 AND `zy_work_process_require`.`deleted_at`=0 AND `zy_work_process_require`.`state`=1 ",
- "_order_by": "`zy_work_process_require`.`order_at` desc",
- }
- if page.PageSize != 0 {
- where["_page_size"] = utils.ToStr(page.PageSize)
- where["_page_num"] = utils.ToStr(page.PageNum)
- }
- param := make(map[string]interface{})
- field := "SELECT `zy_work_process_require`.*, `zy_work_site_process_point`.`id` as `point_id`, `zy_work_site_process_point`.`pictures` as `picture_list`, `zy_work_site_process_point`.`mark` as `mark`, `zy_work_site_process_point`.`state` as `point_state`, `zy_work_site_quality_accept_item`.`id` as `site_item_id`, `zy_work_site_quality_accept_item`.`state` as `item_state`, `zy_work_site_quality_accept_item`.`pictures` as `item_pictures`,`zy_work_site_quality_accept_item`.`mark` as `item_mark`, `zy_work_site_quality_accept_item`.`updated_at` as `item_updated` from `zy_work_process_require` left join `zy_work_site_process_point` on `zy_work_site_process_point`.`require_id` = `zy_work_process_require`.`id` AND `zy_work_site_process_point`.`deleted_at`=0 AND `zy_work_site_process_point`.`id` in (select max(`zy_work_site_process_point`.`id`) from `zy_work_site_process_point` where `zy_work_site_process_point`.`deleted_at`=0 group by `zy_work_site_process_point`.`site_node_id`, `zy_work_site_process_point`.`require_id`) "
- fields := " left join `zy_work_site_quality_accept_item` on `zy_work_site_quality_accept_item`.`site_node_id` = `zy_work_site_process_point`.`site_node_id` AND `zy_work_site_quality_accept_item`.`require_id` = `zy_work_process_require`.`id` "
- process_id := utils.ToInt(c.Query("process_id"))
- if process_id != 0 {
- where["where"] = where["where"] + " AND `zy_work_process_require`.`process_id`={{process_id}}"
- param["process_id"] = process_id
- }
- total, err := workprocessrequire.CountRaw(where["where"], param)
- if err != nil {
- app.Error(c, err.Error())
- return
- }
- site_node_id := utils.ToInt(c.Query("site_node_id"))
- if site_node_id != 0 {
- sitenodeInfo, _ := worksitenode.GetInfoByID(site_node_id, nil, nil)
- if sitenodeInfo != nil {
- field = field + " AND `zy_work_site_process_point`.`site_node_id`={{site_node_id}} "
- param["site_node_id"] = site_node_id
- field = field + " left join `zy_work_process` on `zy_work_process`.`id` = `zy_work_process_require`.`process_id` "
- where["where"] = where["where"] + " AND `zy_work_process`.`node_id`={{node_id}}"
- fields = " left join `zy_work_site_quality_accept_item` on `zy_work_site_quality_accept_item`.`site_node_id` = {{site_node_id}} AND `zy_work_site_quality_accept_item`.`require_id` = `zy_work_process_require`.`id` "
- param["node_id"] = sitenodeInfo.NodeId
- }
- }
- type WorkSiteProcessRequireList struct {
- ID int `json:"id"`
- ProcessId int `json:"process_id"`
- Name string `json:"name"`
- Content string `json:"content"`
- Days int `json:"days"`
- State int `json:"state"`
- Quality int `json:"quality"`
- QualityPhoto int `json:"qualityphoto"`
- Photograph string `json:"photograph"`
- QualityDays string `json:"quality_days"`
- SiteItemId int `json:"site_item_id"`
- ItemState int `json:"item_state"`
- ItemPictures string `json:"item_pictures"`
- ItemMark string `json:"item_mark"`
- ItemUpdated int `json:"item_updated"`
- Type int `json:"type"`
- CreatedAt int `json:"created_at"`
- UpdatedAt int `json:"updated_at"`
- PointId int `json:"point_id"`
- PointState int `json:"point_state"`
- PictureList string `json:"picture_list"`
- Mark string `json:"mark"`
- }
- workProcessRequireList := make([]WorkSiteProcessRequireList, 0)
- where["_group_by"] = "`zy_work_process_require`.`id`"
- if err = db.GetMultiRaw(field+fields, where, param, &workProcessRequireList); err != nil {
- app.Error(c, err.Error())
- return
- }
- data := gin.H{
- "list": workProcessRequireList,
- "total": total,
- "limit": page.PageSize,
- }
- app.Success(c, data)
- }
|