diff --git a/dsBaseRpc/RpcService/BasePosition/BasePositionDao/BasePositionDao.go b/dsBaseRpc/RpcService/BasePosition/BasePositionDao/BasePositionDao.go index 366131cd..6fcbbf11 100644 --- a/dsBaseRpc/RpcService/BasePosition/BasePositionDao/BasePositionDao.go +++ b/dsBaseRpc/RpcService/BasePosition/BasePositionDao/BasePositionDao.go @@ -6,6 +6,7 @@ import ( "dsBaseRpc/Utils/DbUtil" "dsBaseRpc/Utils/SqlKit" "dsBaseRpc/models" + "github.com/xormplus/builder" ) var db = DbUtil.Engine @@ -32,9 +33,24 @@ func UpdateBasePosition(model models.TBasePosition, ForceUpdateFields []string) return affected, err } -//获取职务所有的树形结构信息 +//获取职务所有的树形结构信息(不需要参数) func TreeBasePosition() ([]map[string]interface{}, int32, error){ - + var myBuilder = builder.Dialect(builder.MYSQL).Select("*").From("t_base_position") + myBuilder.Where(builder.Eq{"b_use": 1}) + myBuilder.And(builder.Eq{"t1.rxnf": in.Rxnf}) + myBuilder.And(builder.Eq{"t1.stage_id": in.StageId}) + myBuilder.And(builder.Eq{"t1.bureau_id": in.BureauId}) + //排除某个班级,用在将学生进行调整班级时的需求 + if in.RemoveClassId != "" { + myBuilder.And(builder.Neq{"t1.class_id": in.RemoveClassId}) + } + //获取拼接完成的SQL语句 + sql, err := myBuilder.OrderBy("t1.bh asc").Limit(limit, offset).ToBoundSQL() + if err != nil { + return nil, 0, err + } + //调用多查询字段通用方法 + list, err := db.SQL(sql).Query().List() } //根据单位ID获取职务信息 func ListBasePositionByBureauId(in *BasePositionProto.QueryArg)([]map[string]interface{}, int32, error){