123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211 |
- package pick
- import (
- "fmt"
- "github.com/gin-gonic/gin"
- "github.com/gogf/gf/v2/util/gconv"
- "zhiyuan/models"
- "zhiyuan/models/final"
- "zhiyuan/pkg/app"
- "zhiyuan/pkg/db"
- "zhiyuan/pkg/param/material"
- "zhiyuan/pkg/utils"
- "zhiyuan/services/form"
- "zhiyuan/services/material/item"
- "zhiyuan/services/material/pick"
- "zhiyuan/services/structs"
- )
- func PickListback(c *gin.Context) {
- pkgID := utils.StrTo(c.Query("site_id")).MustInt()
- if pkgID <= 0 {
- app.Error(c, "工地id有误")
- return
- }
- itemList := make([]*structs.MaterialPickList, 0)
- if _, err := pick.GetPicks(map[string]interface{}{"pkg_id": pkgID}, nil, app.Page{}, &itemList); err != nil {
- app.Error(c, err.Error())
- return
- }
- typeListMap := item.GetTypeMapByCache()
- itemRoomTypeList := make(map[int][]*structs.MaterialPickList, 0)
- for _, v := range itemList {
- v.ItemTypeName = typeListMap[v.ItemType]
- itemRoomTypeList[v.RoomType] = append(itemRoomTypeList[v.RoomType], v)
- }
- type PkgItemList struct {
- RoomType int `json:"room_type"`
- RoomName string `json:"room_name"`
- Items []*structs.MaterialPickList `json:"items"`
- }
- pkgItemListGroup := make([]PkgItemList, 0)
- for _, v := range material.Params.RoomType {
- if itemRoomTypeList[v.ID] == nil {
- itemRoomTypeList[v.ID] = make([]*structs.MaterialPickList, 0)
- }
- pkgItemListGroup = append(pkgItemListGroup, PkgItemList{
- RoomName: v.Name,
- RoomType: v.ID,
- Items: itemRoomTypeList[v.ID],
- })
- }
- pkgItemList := make([]map[string]interface{}, 0)
- for _, v := range pkgItemListGroup {
- pkgItemList = append(pkgItemList, map[string]interface{}{
- "room_type": v.RoomType,
- "room_name": v.RoomName,
- "rowspan": len(v.Items) + 1,
- "colspan": 1,
- })
- for _, sub := range v.Items {
- pkgItemList = append(pkgItemList, map[string]interface{}{
- "id": sub.ID,
- "room_type": sub.RoomType,
- "pick_name": sub.PickName,
- "level": sub.Level,
- "standard": sub.Standard,
- "cycle": sub.Cycle,
- "confirm_type": sub.ConfirmType,
- "rowspan": 0,
- "colspan": 0,
- "item_type": sub.ItemType,
- "item_type_name": sub.ItemTypeName,
- })
- }
- }
- app.Success(c, map[string]interface{}{"sub_list": pkgItemList})
- }
- func PickList(c *gin.Context) {
- siteID := utils.StrTo(c.Query("site_id")).MustInt()
- if siteID <= 0 {
- app.Error(c, "工地id有误")
- return
- }
- var site final.FinalSite
- db.GetModel(map[string]interface{}{
- "id": siteID,
- "deleted_at": 0,
- }, &site)
- if site.ID == 0 {
- app.Error(c, "工地不存在")
- return
- }
- var workList []*final.MatPickWork
- db.GetModel(map[string]interface{}{
- "site_id": site.ID,
- "deleted_at": 0,
- }, &workList)
- itemRoomTypeList := make(map[int][]*final.MatPickWork)
- var oneLevel []int
- for _, v := range workList {
- fmt.Println(v.PickName)
- oneLevel = utils.AppendUniqueInt(oneLevel, gconv.Int(v.RoomType))
- itemRoomTypeList[gconv.Int(v.RoomType)] = append(itemRoomTypeList[gconv.Int(v.RoomType)], v)
- }
- type PkgItemList struct {
- RoomType int `json:"room_type"`
- RoomName string `json:"room_name"`
- Items []*final.MatPickWork `json:"items"`
- }
- pkgItemListGroup := make([]PkgItemList, 0)
- //获取当前工地的一级目录
- var accepts []models.WorkQualityAccept
- db.GetModel(map[string]interface{}{"id in": oneLevel}, &accepts)
- for _, v := range accepts {
- if itemRoomTypeList[gconv.Int(v.ID)] == nil {
- itemRoomTypeList[gconv.Int(v.ID)] = make([]*final.MatPickWork, 0)
- }
- pkgItemListGroup = append(pkgItemListGroup, PkgItemList{
- RoomName: v.Name,
- RoomType: gconv.Int(v.ID),
- Items: itemRoomTypeList[gconv.Int(v.ID)],
- })
- }
- pkgItemList := make([]map[string]interface{}, 0)
- for _, v := range pkgItemListGroup {
- pkgItemList = append(pkgItemList, map[string]interface{}{
- "room_type": v.RoomType,
- "room_name": v.RoomName,
- "rowspan": len(v.Items) + 1,
- "colspan": 1,
- })
- for _, sub := range v.Items {
- pkgItemList = append(pkgItemList, map[string]interface{}{
- "id": sub.ID,
- "room_type": sub.RoomType,
- "pick_name": sub.PickName,
- "photograph": sub.Photograph,
- "cycle": sub.Cycle,
- "worker_id": sub.WorkerId,
- "worker_name": sub.WorkerName,
- "pictures": sub.Pictures,
- "rowspan": 0,
- "colspan": 0,
- //"item_type": sub.ItemType,
- //"item_type_name": sub.ItemTypeName,
- })
- }
- }
- app.Success(c, map[string]interface{}{"sub_list": pkgItemList, "site_info": site})
- }
- func PickAdd(c *gin.Context) {
- var form form.WorkItemAdd
- if app.Bind(c, &form) != nil {
- return
- }
- if id, err := pick.AddPickWork(form); err != nil {
- app.Error(c, err.Error())
- return
- } else {
- app.Success(c, gin.H{"id": id})
- }
- }
- func PickEdit(c *gin.Context) {
- id := utils.StrTo(c.Param("id")).MustInt()
- if id <= 0 {
- app.Error(c, "id有误")
- return
- }
- var form form.WorkItemAdd
- if app.Bind(c, &form) != nil {
- return
- }
- if _, err := pick.EditPickWork(form, id); err != nil {
- app.ErrorMsg(c, err.Error(), nil)
- return
- }
- app.Success(c, nil)
- }
- func PickDel(c *gin.Context) {
- siteId := utils.StrTo(c.Param("site_id")).MustInt()
- if siteId <= 0 {
- app.Error(c, "site_id有误")
- return
- }
- Id := utils.StrTo(c.Param("id")).MustInt()
- if Id <= 0 {
- app.Error(c, "id有误")
- return
- }
- if _, err := pick.DelPickWork(Id, siteId); err != nil {
- app.ErrorMsg(c, err.Error(), nil)
- return
- }
- app.Success(c, nil)
- }
|