package controllers import ( "Medical_ERP/common/actions" "Medical_ERP/common/global" _ "Medical_ERP/common/response" "Medical_ERP/dto" "Medical_ERP/models" "Medical_ERP/services" "errors" "gogs.baozhida.cn/zoie/OAuth-core/pkg/jwtauth/beegouser" ) type MedicineTemplateController struct { BaseController } // Initialize 初始化 // @Summary 初始化 // @Description 创建系统初始化的药品字段和药品表 // @Tags 药品信息模板 // @Param body body dto.MedicineTemplateInitializeReq true "body" // @Success 200 {object} response.Page{list=[]models.Product} "{"code": 200, "data": [...]}" // @Router /medicine-template/list [post] // @Security Bearer func (c MedicineTemplateController) Initialize() { s := services.MedicineTemplate{} reqData := dto.MedicineTemplateInitializeReq{} if err := c.ParseAndValidate(&c.Ctx.Input.RequestBody, &reqData); err != nil { err = errors.New("解析表单数据异常") c.Error(global.ParseFormErr, err, err.Error()) return } userId := beegouser.GetUserId(c.Ctx) err := s.InitMedicineTemplate(reqData.DeptId, userId) if err != nil { c.Error(global.BadRequest, err, "初始化失败") return } c.OK(nil, "初始化成功") } // List 获取品名列表 // @Summary 获取品名列表 // @Description 获取品名列表 // @Tags 药品信息模板 // @Success 200 {object} response.Page{list=[]models.MedicineTemplate} "{"code": 200, "data": [...]}" // @Router /medicine-template/list [post] // @Security Bearer func (c MedicineTemplateController) List() { s := services.MedicineTemplate{} list := make([]models.MedicineTemplate, 0) var count int64 //数据权限检查 p := actions.GetPermissionFromContext(c.Ctx) err := s.GetPage(&list, &count, p) if err != nil { c.Error(global.BadRequest, err, err.Error()) return } c.PageOK(list, int(count), 0, 0, "查询成功") } // Add 添加模版字段 // @Summary 添加模版字段 // @Description 添加模版字段 // @Tags 药品信息模板 // @Param data body dto.MedicineTemplateInsertReq true "data" // @Success 200 {object} response.Response "{"code": 200, "data": [...]}" // @Router /medicine-template/add [post] // @Security Bearer func (c MedicineTemplateController) Add() { s := services.MedicineTemplate{} reqData := dto.MedicineTemplateInsertReq{} if err := c.ParseAndValidate(&c.Ctx.Input.RequestBody, &reqData); err != nil { err = errors.New("解析表单数据异常") c.Error(global.ParseFormErr, err, err.Error()) return } reqData.SetCreateBy(beegouser.GetUserId(c.Ctx)) reqData.SetDeptId(beegouser.GetDeptId(c.Ctx)) //if !utils.IsChineseOnly(reqData.Name) { // err := errors.New("标签名称不能包含非中文字符") // c.Error(500, err, err.Error()) // return //} err := s.Insert(&reqData) if err != nil { c.Error(500, err, err.Error()) return } c.OK(reqData.GetId(), "创建成功") } // Edit 修改模版字段 // @Summary 修改模版字段 // @Description 修改模版字段 // @Tags 药品信息模板 // @Param data body dto.MedicineTemplateUpdateReq true "body" // @Success 200 {object} response.Response "{"code": 200, "data": [...]}" // @Router /medicine-template/edit [post] // @Security Bearer func (c MedicineTemplateController) Edit() { s := services.MedicineTemplate{} reqData := dto.MedicineTemplateUpdateReq{} if err := c.ParseAndValidate(&c.Ctx.Input.RequestBody, &reqData); err != nil { err = errors.New("解析表单数据异常") c.Error(global.ParseFormErr, err, err.Error()) return } reqData.SetUpdateBy(beegouser.GetUserId(c.Ctx)) err := s.Update(&reqData) if err != nil { c.Error(500, err, err.Error()) return } c.OK(reqData.GetId(), "更新成功") } // Delete 删除模版字段 // @Summary 删除模版字段 // @Description 删除模版字段 // @Tags 药品信息模板 // @Accept application/json // @Unit application/json // @Param data body dto.MedicineTemplateDeleteReq true "body" // @Success 200 {object} response.Response "{"code": 200, "data": [...]}" // @Router /medicine-template/delete [post] // @Security Bearer func (c MedicineTemplateController) Delete() { s := services.MedicineTemplate{} reqData := dto.MedicineTemplateDeleteReq{} if err := c.ParseAndValidate(&c.Ctx.Input.RequestBody, &reqData); err != nil { err = errors.New("解析表单数据异常") c.Error(global.ParseFormErr, err, err.Error()) return } reqData.SetUpdateBy(beegouser.GetUserId(c.Ctx)) err := s.Remove(&reqData) if err != nil { c.Error(500, err, err.Error()) return } c.OK(reqData.GetId(), "删除成功") } // Columns 获取药品列名 // @Summary 获取品名列表 // @Description 获取品名列表 // @Tags 药品信息模板 // @Success 200 {object} response.Page{list=[]models.MedicineTemplate} "{"code": 200, "data": [...]}" // @Router /medicine-template/columns [post] // @Security Bearer func (c MedicineTemplateController) Columns() { s := services.MedicineTemplate{} list := make([]dto.MedicineColumnsRes, 0) //数据权限检查 p := actions.GetPermissionFromContext(c.Ctx) err := s.GetColumns(&list, p) if err != nil { c.Error(global.BadRequest, err, err.Error()) return } c.PageOK(list, 0, 0, 0, "查询成功") } // ListForStockIn 获取入库列表 // @Summary 获取入库列表 // @Description 获取入库列表 // @Tags 药品信息模板 // @Success 200 {object} response.Page{list=[]models.MedicineTemplate} "{"code": 200, "data": [...]}" // @Router /medicine-template/list-for-stock [post] // @Security Bearer func (c MedicineTemplateController) ListForStock() { s := services.MedicineTemplate{} list := make([]dto.MedicineTemplateForStockRes, 0) var count int64 //数据权限检查 p := actions.GetPermissionFromContext(c.Ctx) err := s.ListForStock(&list, &count, p) if err != nil { c.Error(global.BadRequest, err, err.Error()) return } c.PageOK(list, int(count), 0, 0, "查询成功") } // ListForStockOut 获取出库品名、生产企业、规格 // @Summary 获取出库品名、生产企业、规格 // @Description 获取出库品名、生产企业、规格 // @Tags 药品信息模板 // @Success 200 {object} response.Page{list=[]models.MedicineTemplate} "{"code": 200, "data": [...]}" // @Router /medicine-template/list-for-stock [post] // @Security Bearer func (c MedicineTemplateController) ListForStockOut() { s := services.MedicineTemplate{} list := make([]dto.MedicineTemplateForStockRes, 0) var count int64 //数据权限检查 p := actions.GetPermissionFromContext(c.Ctx) err := s.ListForStockOut(&list, &count, p) if err != nil { c.Error(global.BadRequest, err, err.Error()) return } c.PageOK(list, int(count), 0, 0, "查询成功") } // ListForStockInScanCode 获取扫码入库表单列表 // @Summary 获取扫码入库表单列表 // @Description 获取扫码入库表单列表 // @Tags 药品信息模板 // @Success 200 {object} response.Page{list=[]models.MedicineTemplate} "{"code": 200, "data": [...]}" // @Router /medicine-template/list-for-stock [post] // @Security Bearer func (c MedicineTemplateController) ListForStockInScanCode() { s := services.MedicineTemplate{} list := make([]dto.MedicineTemplateForStockRes, 0) var count int64 //数据权限检查 p := actions.GetPermissionFromContext(c.Ctx) err := s.ListForStockInScanCode(&list, &count, p) if err != nil { c.Error(global.BadRequest, err, err.Error()) return } c.PageOK(list, int(count), 0, 0, "查询成功") } // ListForStockOutScanCode 获取扫码出库表单列表 // @Summary 获取扫码出库表单列表 // @Description 获取扫码出库表单列表 // @Tags 药品信息模板 // @Success 200 {object} response.Page{list=[]models.MedicineTemplate} "{"code": 200, "data": [...]}" // @Router /medicine-template/list-for-stock [post] // @Security Bearer func (c MedicineTemplateController) ListForStockOutScanCode() { s := services.MedicineTemplate{} list := make([]dto.MedicineTemplateForStockRes, 0) var count int64 //数据权限检查 p := actions.GetPermissionFromContext(c.Ctx) err := s.ListForStockOutScanCode(&list, &count, p) if err != nil { c.Error(global.BadRequest, err, err.Error()) return } c.PageOK(list, int(count), 0, 0, "查询成功") }