| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555 |
- package handlers
- import (
- "net/http"
- "easydo-echo_win7/models"
- "easydo-echo_win7/services"
- "easydo-echo_win7/utils"
- "easydo-echo_win7/middleware"
- "github.com/labstack/echo-contrib/session"
- "github.com/labstack/echo/v4"
- )
- func Add_product_pre_plan_to_routes(e *echo.Echo) {
- group := e.Group("/productPrePlan")
- group.Use(middleware.AuthMiddleware)
- group.POST("/getPage", productPrePlanGetPage)
- group.POST("/save", productPrePlanSave)
- }
- func productPrePlanGetPage(c echo.Context) error {
- var paramMap map[string]interface{}
- if err := c.Bind(¶mMap); err != nil {
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("参数解析失败", err.Error()))
- }
- result, err := services.JdbcClient.GetJdbcPage(paramMap, models.SaleOrder{})
- if err != nil {
- utils.PrintSqlErr(err)
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", err.Error()))
- }
- list := utils.ConvertInterface[[]models.SaleOrder](result.Records)
- if len(list) == 0 {
- list = []models.SaleOrder{}
- }
- for i := range list {
- model := list[i]
- minioList, err := services.JdbcClient.GetMinioFile(model)
- if err != nil {
- utils.PrintSearchFileErr(err)
- }
- model.FileList = &minioList
- detailParam := new(models.SaleOrderDetail)
- detailParam.OrderId = model.ID
- result, err := services.JdbcClient.GetJdbcListByObject(detailParam)
- if err != nil {
- utils.PrintSqlErr(err)
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", err.Error()))
- }
- detail_list := utils.ConvertInterface[[]models.SaleOrderDetail](result)
- for j := range detail_list {
- detail := detail_list[j]
- material := new(models.ProductMaterial)
- material.Code = detail.MaterialCode
- material.TenantId = model.TenantId
- err = services.JdbcClient.GetJdbcModel(material)
- if err != nil {
- utils.PrintSqlErr(err)
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", err.Error()))
- }
- detail.Material = material
- bom := new(models.ProductBom)
- parentId := models.Common_Value_Zero_String
- bom.ParentId = &parentId
- bom.MaterialCode = material.Code
- bom.TenantId = model.TenantId
- status := models.Status_Enable
- bom.Status = &status
- err = services.JdbcClient.GetJdbcModel(bom)
- if err != nil {
- utils.PrintSqlErr(err)
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", err.Error()))
- }
- if bom.ID != nil && len(*bom.ID) > 0 {
- //对于有bom的物料,查询出bom下所有组成(bom_list)和库存
- bomParam := new(models.ProductBom)
- bomParam.BomCode = bom.BomCode
- bomParam.TenantId = model.TenantId
- result, err := services.JdbcClient.GetJdbcListByObject(bomParam)
- if err != nil {
- utils.PrintSqlErr(err)
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", err.Error()))
- }
- bom_list := utils.ConvertInterface[[]models.ProductBom](result)
- for k := range bom_list {
- bom_model := bom_list[k]
- material := new(models.ProductMaterial)
- material.Code = bom_model.MaterialCode
- material.TenantId = model.TenantId
- err = services.JdbcClient.GetJdbcModel(material)
- if err != nil {
- utils.PrintSqlErr(err)
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", err.Error()))
- }
- bom_model.Material = material
- warehouseMaterial := new(models.WarehouseMaterial)
- warehouseMaterial.MaterialCode = material.Code
- warehouseMaterial.TenantId = model.TenantId
- warehouse_material_status := models.Status_Enable
- warehouseMaterial.Status = &warehouse_material_status
- warehouse_material_result, err := services.JdbcClient.GetJdbcListByObject(warehouseMaterial)
- if err != nil {
- utils.PrintSqlErr(err)
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", err.Error()))
- }
- warehouse_material_list := utils.ConvertInterface[[]models.WarehouseMaterial](warehouse_material_result)
- if warehouse_material_list != nil {
- for l := range warehouse_material_list {
- warehouse_material_model := warehouse_material_list[l]
- warehouse := new(models.Warehouse)
- warehouse.ID = warehouse_material_model.WarehouseId
- err = services.JdbcClient.GetJdbcModelById(warehouse)
- if err != nil {
- utils.PrintSqlErr(err)
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", err.Error()))
- }
- warehouse_material_model.Warehouse = warehouse
- warehouse_material_list[l] = warehouse_material_model
- }
- bom_model.WarehouseMaterialList = &warehouse_material_list
- }
- bom_list[k] = bom_model
- }
- detail.BomList = &bom_list
- } else {
- //对于没有bom的物料,只需要查询出库存
- warehouseMaterial := new(models.WarehouseMaterial)
- warehouseMaterial.MaterialCode = material.Code
- warehouseMaterial.TenantId = model.TenantId
- warehouse_material_status := models.Status_Enable
- warehouseMaterial.Status = &warehouse_material_status
- warehouse_material_result, err := services.JdbcClient.GetJdbcListByObject(warehouseMaterial)
- if err != nil {
- utils.PrintSqlErr(err)
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", err.Error()))
- }
- warehouse_material_list := utils.ConvertInterface[[]models.WarehouseMaterial](warehouse_material_result)
- if warehouse_material_list != nil {
- for k := range warehouse_material_list {
- warehouse_material_model := warehouse_material_list[k]
- warehouse := new(models.Warehouse)
- warehouse.ID = warehouse_material_model.WarehouseId
- err = services.JdbcClient.GetJdbcModelById(warehouse)
- if err != nil {
- utils.PrintSqlErr(err)
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", err.Error()))
- }
- warehouse_material_model.Warehouse = warehouse
- warehouse_material_list[k] = warehouse_material_model
- }
- detail.WarehouseMaterialList = &warehouse_material_list
- }
- }
- detail_list[j] = detail
- }
- model.ChildrenList = &detail_list
- if model.ManagerId != nil && *model.ManagerId != 0 {
- manager := new(models.SysUser)
- manager.ID = model.ManagerId
- err = services.JdbcClient.GetJdbcModelById(manager)
- if err != nil {
- utils.PrintSqlErr(err)
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", err.Error()))
- }
- model.ManagerName = manager.NickName
- }
- if model.CustomerId != nil && *model.CustomerId != "" {
- customer := new(models.Customer)
- customer.ID = model.CustomerId
- err = services.JdbcClient.GetJdbcModelById(customer)
- if err != nil {
- utils.PrintSqlErr(err)
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", err.Error()))
- }
- model.CustomerName = customer.Name
- }
- list[i] = model
- }
- result.Records = list
- return c.JSON(http.StatusOK, result)
- }
- func productPrePlanSave(c echo.Context) error {
- tx, _ := services.MYSQL_DB.Beginx()
- sess, _ := session.Get("auth_session", c)
- user_id, ok := sess.Values["user_id"].(int64)
- if !ok {
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("用户请先登录", ""))
- }
- planVo := new(models.ProductPrePlanVo)
- if err := c.Bind(planVo); err != nil {
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("参数解析失败", err.Error()))
- }
- sale_order := new(models.SaleOrder)
- sale_order.ID = planVo.SaleOrderId
- err := services.JdbcClient.GetJdbcModelById(sale_order, tx)
- if err != nil {
- utils.PrintSqlErr(err)
- tx.Rollback()
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
- }
- saleOrderStatus := models.Sale_Order_Status_Processing
- sale_order.Status = &saleOrderStatus
- err = services.JdbcClient.JdbcUpdateById(sale_order, tx)
- if err != nil {
- utils.PrintSqlErr(err)
- tx.Rollback()
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
- }
- product_plan_vo_list := *planVo.ProductPlanVoList
- if len(product_plan_vo_list) > 0 {
- plan_filter_list := utils.Filter(product_plan_vo_list, func(item models.ProductPlanVo) bool {
- return *item.PlanProductNumber > 0
- })
- plan_warehouse_filter_list := utils.Filter(product_plan_vo_list, func(item models.ProductPlanVo) bool {
- return len(*item.WarehouseMaterialVoList) > 0
- })
- product_plan := new(models.ProductPlan)
- if len(plan_filter_list) > 0 {
- product_plan.TenantId = sale_order.TenantId
- product_plan.SaleOrderId = sale_order.ID
- err_msg := productPlan_generateCode(product_plan, tx)
- if err_msg != "" {
- tx.Rollback()
- return c.JSON(http.StatusBadRequest, utils.ErrorResponse(err_msg, ""))
- }
- if planVo.ProductPlanName != nil && len(*planVo.ProductPlanName) > 0 {
- product_plan.Name = planVo.ProductPlanName
- } else {
- product_plan.Name = product_plan.Code
- }
- status := models.Product_Plan_Status_Pending
- product_plan.Status = &status
- product_plan.CreateId = &user_id
- product_plan.BeginDate = planVo.PlanBeginDate
- product_plan.EndDate = planVo.PlanEndDate
- err = services.JdbcClient.JdbcInsert(product_plan, tx)
- if err != nil {
- utils.PrintSqlErr(err)
- tx.Rollback()
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
- }
- }
- for _, detail := range plan_filter_list {
- product_plan_bom := new(models.ProductPlanBom)
- product_plan_bom.BomId = detail.BomId
- product_plan_bom.PlanId = product_plan.ID
- product_plan_bom.Number = detail.PlanProductNumber
- bom := new(models.ProductBom)
- bom.ID = detail.BomId
- err = services.JdbcClient.GetJdbcModelById(bom, tx)
- if err != nil {
- utils.PrintSqlErr(err)
- tx.Rollback()
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
- }
- product_plan_bom.RouteId = bom.RouteId
- route := new(models.ProcessRoute)
- route.ID = bom.RouteId
- err = services.JdbcClient.GetJdbcModelById(route, tx)
- if err != nil {
- utils.PrintSqlErr(err)
- tx.Rollback()
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
- }
- product_plan_bom.InspectProgramId = route.InspectProgramId
- err := services.JdbcClient.JdbcInsert(product_plan_bom, tx)
- if err != nil {
- utils.PrintSqlErr(err)
- tx.Rollback()
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
- }
- }
- for _, detail := range plan_warehouse_filter_list {
- warehouseMaterialVoList := *detail.WarehouseMaterialVoList
- for _, warehouseMaterial := range warehouseMaterialVoList {
- warehouse_record_model := new(models.WarehouseRecord)
- recordType := models.Warehouse_Record_Type_Lock
- warehouse_record_model.Type = &recordType
- warehouse_record_model.MaterialCode = detail.MaterialCode
- warehouse_record_model.Number = warehouseMaterial.LockedNumber
- warehouse_record_model.FromWarehouseId = warehouseMaterial.WarehouseId
- warehouse_record_model.TenantId = sale_order.TenantId
- warehouse_record_model.CreateId = &user_id
- recordRefType := models.Warehouse_Record_Ref_Type_Product
- warehouse_record_model.RefType = &recordRefType
- warehouse_record_model.RefId = product_plan.ID
- warehouse_record_model.SaleOrderId = sale_order.ID
- err := services.JdbcClient.JdbcInsert(warehouse_record_model, tx)
- if err != nil {
- utils.PrintSqlErr(err)
- tx.Rollback()
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
- }
- warehouse_material_model := new(models.WarehouseMaterial)
- warehouse_material_model.WarehouseId = warehouseMaterial.WarehouseId
- warehouse_material_model.MaterialCode = detail.MaterialCode
- err = services.JdbcClient.GetJdbcModel(warehouse_material_model, tx)
- if err != nil {
- utils.PrintSqlErr(err)
- tx.Rollback()
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
- }
- warehouseMaterialNumber := *warehouse_material_model.Number - *warehouseMaterial.LockedNumber
- warehouse_material_model.Number = &warehouseMaterialNumber
- warehouseMaterialLockedNumber := *warehouse_material_model.LockedNumber + *warehouseMaterial.LockedNumber
- warehouse_material_model.LockedNumber = &warehouseMaterialLockedNumber
- warehouse_material_model.UpdateId = &user_id
- err = services.JdbcClient.JdbcUpdateById(warehouse_material_model, tx)
- if err != nil {
- utils.PrintSqlErr(err)
- tx.Rollback()
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
- }
- }
- }
- }
- purchase_plan_vo_list := *planVo.PurchasePlanVoList
- if len(purchase_plan_vo_list) > 0 {
- plan_filter_list := utils.Filter(purchase_plan_vo_list, func(item models.PurchasePlanVo) bool {
- return *item.PlanPurchaseNumber > 0
- })
- warehouse_filter_list := utils.Filter(purchase_plan_vo_list, func(item models.PurchasePlanVo) bool {
- return len(*item.WarehouseMaterialVoList) > 0
- })
- purchase_plan := new(models.PurchasePlan)
- if len(plan_filter_list) > 0 {
- purchase_plan.TenantId = sale_order.TenantId
- err_msg := purchasePlan_generateCode(purchase_plan, tx)
- if err_msg != "" {
- tx.Rollback()
- return c.JSON(http.StatusBadRequest, utils.ErrorResponse(err_msg, ""))
- }
- if planVo.PurchasePlanName != nil && len(*planVo.PurchasePlanName) > 0 {
- purchase_plan.Name = planVo.PurchasePlanName
- } else {
- purchase_plan.Name = purchase_plan.Code
- }
- purchase_plan.SaleOrderId = planVo.SaleOrderId
- purchasePlanStatus := models.Purchase_Plan_Status_Pending
- purchase_plan.Status = &purchasePlanStatus
- purchase_plan.TenantId = sale_order.TenantId
- purchase_plan.BeginDate = planVo.PlanBeginDate
- purchase_plan.EndDate = planVo.PlanEndDate
- purchase_plan.CreateId = &user_id
- err := services.JdbcClient.JdbcInsert(purchase_plan, tx)
- if err != nil {
- utils.PrintSqlErr(err)
- tx.Rollback()
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
- }
- }
- for _, detail := range plan_filter_list {
- purchase_plan_detail := new(models.PurchasePlanDetail)
- purchase_plan_detail.MaterialCode = detail.MaterialCode
- purchase_plan_detail.PlanId = purchase_plan.ID
- purchase_plan_detail.Number = detail.PlanPurchaseNumber
- err := services.JdbcClient.JdbcInsert(purchase_plan_detail, tx)
- if err != nil {
- utils.PrintSqlErr(err)
- tx.Rollback()
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
- }
- }
- for _, detail := range warehouse_filter_list {
- warehouseMaterialVoList := *detail.WarehouseMaterialVoList
- for _, warehouseMaterial := range warehouseMaterialVoList {
- warehouse_record_model := new(models.WarehouseRecord)
- recordType := models.Warehouse_Record_Type_Lock
- warehouse_record_model.Type = &recordType
- warehouse_record_model.MaterialCode = detail.MaterialCode
- warehouse_record_model.Number = warehouseMaterial.LockedNumber
- warehouse_record_model.FromWarehouseId = warehouseMaterial.WarehouseId
- warehouse_record_model.TenantId = sale_order.TenantId
- warehouse_record_model.CreateId = &user_id
- recordRefType := models.Warehouse_Record_Ref_Type_Purchase
- warehouse_record_model.RefType = &recordRefType
- warehouse_record_model.RefId = purchase_plan.ID
- warehouse_record_model.SaleOrderId = sale_order.ID
- err := services.JdbcClient.JdbcInsert(warehouse_record_model, tx)
- if err != nil {
- utils.PrintSqlErr(err)
- tx.Rollback()
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
- }
- warehouse_material_model := new(models.WarehouseMaterial)
- warehouse_material_model.WarehouseId = warehouseMaterial.WarehouseId
- warehouse_material_model.MaterialCode = detail.MaterialCode
- err = services.JdbcClient.GetJdbcModel(warehouse_material_model, tx)
- if err != nil {
- utils.PrintSqlErr(err)
- tx.Rollback()
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
- }
- warehouseMaterialNumber := *warehouse_material_model.Number - *warehouseMaterial.LockedNumber
- warehouse_material_model.Number = &warehouseMaterialNumber
- warehouseMaterialLockedNumber := *warehouse_material_model.LockedNumber + *warehouseMaterial.LockedNumber
- warehouse_material_model.LockedNumber = &warehouseMaterialLockedNumber
- warehouse_material_model.UpdateId = &user_id
- err = services.JdbcClient.JdbcUpdateById(warehouse_material_model, tx)
- if err != nil {
- utils.PrintSqlErr(err)
- tx.Rollback()
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
- }
- }
- }
- }
- outsourcing_plan_vo_list := *planVo.OutsourcingPlanVoList
- if len(outsourcing_plan_vo_list) > 0 {
- plan_filter_list := utils.Filter(outsourcing_plan_vo_list, func(item models.OutsourcingPlanVo) bool {
- return *item.PlanOutsourcingNumber > 0
- })
- warehouse_filter_list := utils.Filter(outsourcing_plan_vo_list, func(item models.OutsourcingPlanVo) bool {
- return len(*item.WarehouseMaterialVoList) > 0
- })
- outsourcing_plan := new(models.OutsourcingPlan)
- if len(plan_filter_list) > 0 {
- outsourcing_plan.TenantId = sale_order.TenantId
- err_msg := outsourcingPlan_generateCode(outsourcing_plan, tx)
- if err_msg != "" {
- tx.Rollback()
- return c.JSON(http.StatusBadRequest, utils.ErrorResponse(err_msg, ""))
- }
- if planVo.OutsourcingPlanName != nil && len(*planVo.OutsourcingPlanName) > 0 {
- outsourcing_plan.Name = planVo.OutsourcingPlanName
- } else {
- outsourcing_plan.Name = outsourcing_plan.Code
- }
- outsourcing_plan.SaleOrderId = planVo.SaleOrderId
- purchasePlanStatus := models.Outsourcing_Plan_Status_Pending
- outsourcing_plan.Status = &purchasePlanStatus
- outsourcing_plan.TenantId = sale_order.TenantId
- outsourcing_plan.BeginDate = planVo.PlanBeginDate
- outsourcing_plan.EndDate = planVo.PlanEndDate
- outsourcing_plan.CreateId = &user_id
- err := services.JdbcClient.JdbcInsert(outsourcing_plan, tx)
- if err != nil {
- utils.PrintSqlErr(err)
- tx.Rollback()
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
- }
- }
-
- for _, detail := range plan_filter_list {
- outsourcing_plan_detail := new(models.OutsourcingPlanDetail)
- outsourcing_plan_detail.MaterialCode = detail.MaterialCode
- outsourcing_plan_detail.PlanId = outsourcing_plan.ID
- outsourcing_plan_detail.Number = detail.PlanOutsourcingNumber
- err := services.JdbcClient.JdbcInsert(outsourcing_plan_detail, tx)
- if err != nil {
- utils.PrintSqlErr(err)
- tx.Rollback()
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
- }
- }
- for _, detail := range warehouse_filter_list {
- warehouseMaterialVoList := *detail.WarehouseMaterialVoList
- for _, warehouseMaterial := range warehouseMaterialVoList {
- warehouse_record_model := new(models.WarehouseRecord)
- recordType := models.Warehouse_Record_Type_Lock
- warehouse_record_model.Type = &recordType
- warehouse_record_model.MaterialCode = detail.MaterialCode
- warehouse_record_model.Number = warehouseMaterial.LockedNumber
- warehouse_record_model.FromWarehouseId = warehouseMaterial.WarehouseId
- warehouse_record_model.TenantId = sale_order.TenantId
- warehouse_record_model.CreateId = &user_id
- recordRefType := models.Warehouse_Record_Ref_Type_Outsourcing
- warehouse_record_model.RefType = &recordRefType
- warehouse_record_model.RefId = outsourcing_plan.ID
- warehouse_record_model.SaleOrderId = sale_order.ID
- err := services.JdbcClient.JdbcInsert(warehouse_record_model, tx)
- if err != nil {
- utils.PrintSqlErr(err)
- tx.Rollback()
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
- }
- warehouse_material_model := new(models.WarehouseMaterial)
- warehouse_material_model.WarehouseId = warehouseMaterial.WarehouseId
- warehouse_material_model.MaterialCode = detail.MaterialCode
- err = services.JdbcClient.GetJdbcModel(warehouse_material_model, tx)
- if err != nil {
- utils.PrintSqlErr(err)
- tx.Rollback()
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
- }
- warehouseMaterialNumber := *warehouse_material_model.Number - *warehouseMaterial.LockedNumber
- warehouse_material_model.Number = &warehouseMaterialNumber
- warehouseMaterialLockedNumber := *warehouse_material_model.LockedNumber + *warehouseMaterial.LockedNumber
- warehouse_material_model.LockedNumber = &warehouseMaterialLockedNumber
- warehouse_material_model.UpdateId = &user_id
- err = services.JdbcClient.JdbcUpdateById(warehouse_material_model, tx)
- if err != nil {
- utils.PrintSqlErr(err)
- tx.Rollback()
- return c.JSON(http.StatusInternalServerError, utils.ErrorResponse("系统错误", ""))
- }
- }
- }
- }
- tx.Commit()
- return c.JSON(http.StatusOK, planVo)
- }
|