12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- package workprocessrequire
- import (
- "errors"
- "zhiyuan/models"
- "zhiyuan/pkg/app"
- "zhiyuan/pkg/db"
- "zhiyuan/services/form"
- )
- var WorkProcessRequire models.WorkProcessRequire
- func Add(form form.WorkProcessRequireAdd) (int64, error) {
- if CheckWorkProcessRequireDuplicate(form.ProcessId, form.Name) {
- return 0, errors.New("要点已存在")
- }
- workProcessRequireMap := map[string]interface{}{
- "`process_id`": form.ProcessId,
- "`name`": form.Name,
- "`content`": form.Content,
- "`pictures`": form.Pictures,
- "`state`": form.State,
- }
- workProcessRequireID, err := db.InsertOne(WorkProcessRequire.TableName(), workProcessRequireMap)
- if err != nil {
- return 0, nil
- }
- return workProcessRequireID, nil
- }
- func EditByID(form form.WorkProcessRequireAdd, id int) error {
- info, err := GetInfoByID(id, nil, nil)
- if info == nil {
- return errors.New("invalid id")
- }
- if info.Name != form.Name && CheckWorkProcessRequireDuplicate(form.ProcessId, form.Name) {
- return errors.New("要点已存在")
- }
- workProcessRequireMap := map[string]interface{}{
- "`process_id`": form.ProcessId,
- "`name`": form.Name,
- "`content`": form.Content,
- "`pictures`": form.Pictures,
- "`state`": form.State,
- }
- _, err = db.Update(WorkProcessRequire.TableName(), map[string]interface{}{"id": id}, workProcessRequireMap)
- return err
- }
- func DeleteByID(id int) error {
- info, _ := GetInfoByID(id, nil, nil)
- if info == nil {
- return errors.New("invalid id")
- }
- _, err := db.DeleteSoft(WorkProcessRequire.TableName(), map[string]interface{}{"id": id})
- return err
- }
- func Count(where map[string]interface{}) (int64, error) {
- return db.Count(WorkProcessRequire.TableName(), where)
- }
- func CountRaw(where string, param map[string]interface{}) (int64, error) {
- query := "`zy_work_process_require` WHERE " + where
- return db.CountRaw(query, param)
- }
- func GetList(where map[string]interface{}, fields []string, page app.Page, retVal interface{}) ([]*models.WorkProcessRequire, error) {
- if page.PageNum > 0 && page.PageSize > 0 {
- where["_limit"] = db.GetOffset(uint(page.PageNum), uint(page.PageSize))
- }
- return WorkProcessRequire.GetMulti(where, fields, retVal)
- }
- func GetWorkProcesssRaw(where map[string]string, param map[string]interface{}, retVal interface{}) ([]*models.WorkProcessRequire, error) {
- return WorkProcessRequire.GetMultiRaw(where, param, retVal)
- }
- func GetWorkSiteRequiresRaw(where map[string]string, param map[string]interface{}, retVal interface{}) error {
- 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` 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"
- where["_group_by"] = "`zy_work_process_require`.`id`"
- return db.GetMultiRaw(field, where, param, retVal)
- }
- func GetOne(where map[string]interface{}, fields []string, retVal interface{}) (*models.WorkProcessRequire, error) {
- return WorkProcessRequire.GetOne(where, fields, retVal)
- }
- func GetInfoByID(id int, fields []string, retVal interface{}) (*models.WorkProcessRequire, error) {
- return GetOne(map[string]interface{}{"id": id}, fields, retVal)
- }
- func CheckWorkProcessRequireDuplicate(processId int, name string) bool {
- workProcessRequireInfo, err := GetOne(map[string]interface{}{"process_id": processId, "name": name, "deleted_at": 0}, nil, nil)
- return workProcessRequireInfo != nil && err == nil
- }
|