提交
This commit is contained in:
1 parent
6ca85a1b15
commit
7d4bfaecb3
45 files changed
+7015
-1762
No files matched your search
+24
@@ -19,6 +19,8 @@ import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.xg.domain.vo.XgClassMsgVo;
|
||||
import org.dromara.xg.domain.bo.XgClassMsgBo;
|
||||
import org.dromara.xg.domain.bo.XgClassStatusBo;
|
||||
import org.dromara.xg.domain.bo.XgClassStatusBatchBo;
|
||||
import org.dromara.xg.service.IXgClassMsgService;
|
||||
import org.dromara.common.mybatis.core.page.TableDataInfo;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
@@ -90,6 +92,28 @@ public class XgClassMsgController extends BaseController {
|
||||
return toAjax(xgClassMsgService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新班级状态(仅更新 classStatus)
|
||||
*/
|
||||
@SaCheckPermission("classMsg:classMsg:edit")
|
||||
@Log(title = "班级信息-新版", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping("/status")
|
||||
public R<Void> updateStatus(@Validated @RequestBody XgClassStatusBo bo) {
|
||||
return toAjax(xgClassMsgService.updateClassStatus(bo.getId(), bo.getClassStatus()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量更新班级状态(仅更新 classStatus)
|
||||
*/
|
||||
@SaCheckPermission("classMsg:classMsg:edit")
|
||||
@Log(title = "班级信息-新版", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping("/status/batch")
|
||||
public R<Void> updateStatusBatch(@Validated @RequestBody XgClassStatusBatchBo bo) {
|
||||
return toAjax(xgClassMsgService.updateClassStatusBatch(bo.getIds(), bo.getClassStatus()));
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除班级信息-新版
|
||||
*
|
||||
|
||||
+44
-28
@@ -57,6 +57,50 @@ public class XgStudentManagerController extends BaseController {
|
||||
ExcelUtil.exportExcel(list, "宿舍管理员信息", XgStudentManagerVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取可用的教职工信息列表
|
||||
*
|
||||
* @param managerType 管理员类型(1 全校管理员 2 自定义管理员 3 班主任)
|
||||
*/
|
||||
@SaCheckPermission("xgStudentManager:studentManager:list")
|
||||
@GetMapping("/listAvailableTeachers")
|
||||
public R<List<XgStudentManagerVo>> listAvailableTeachers(@RequestParam("managerType") String managerType) {
|
||||
List<XgStudentManagerVo> teachers = xgStudentManagerService.queryAvailableTeachers(managerType);
|
||||
return R.ok(teachers);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前正在教学的班主任信息
|
||||
*
|
||||
* @param phone 手机号码(可选,模糊查询)
|
||||
* @param name 姓名(可选,模糊查询)
|
||||
* @return 班主任信息列表
|
||||
*/
|
||||
@SaCheckPermission("xgStudentManager:studentManager:list")
|
||||
@GetMapping("/listActiveClassTeachers")
|
||||
public R<List<ClassTeacherInfoVo>> listActiveClassTeachers(
|
||||
@RequestParam(value = "phone", required = false) String phone,
|
||||
@RequestParam(value = "name", required = false) String name) {
|
||||
List<ClassTeacherInfoVo> teachers = xgStudentManagerService.queryActiveClassTeachers(phone, name);
|
||||
return R.ok(teachers);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取全部班主任信息(按班级状态排序)
|
||||
*
|
||||
* @param phone 手机号码(可选,模糊查询)
|
||||
* @param name 姓名(可选,模糊查询)
|
||||
* @return 班主任信息列表
|
||||
*/
|
||||
@SaCheckPermission("xgStudentManager:studentManager:list")
|
||||
@GetMapping("/listAllClassTeachers")
|
||||
public R<List<ClassTeacherInfoVo>> listAllClassTeachers(
|
||||
@RequestParam(value = "phone", required = false) String phone,
|
||||
@RequestParam(value = "name", required = false) String name) {
|
||||
List<ClassTeacherInfoVo> teachers = xgStudentManagerService.queryAllClassTeachers(phone, name);
|
||||
return R.ok(teachers);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取宿舍管理员信息详细信息
|
||||
*
|
||||
@@ -101,32 +145,4 @@ public class XgStudentManagerController extends BaseController {
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空") @PathVariable Long[] ids) {
|
||||
return toAjax(xgStudentManagerService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取可用的教职工信息列表
|
||||
*
|
||||
* @param managerType 管理员类型(1 全校管理员 2 自定义管理员 3 班主任)
|
||||
*/
|
||||
@SaCheckPermission("xgStudentManager:studentManager:list")
|
||||
@GetMapping("/listAvailableTeachers")
|
||||
public R<List<XgStudentManagerVo>> listAvailableTeachers(@RequestParam("managerType") String managerType) {
|
||||
List<XgStudentManagerVo> teachers = xgStudentManagerService.queryAvailableTeachers(managerType);
|
||||
return R.ok(teachers);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前正在教学的班主任信息
|
||||
*
|
||||
* @param phone 手机号码(可选,模糊查询)
|
||||
* @param name 姓名(可选,模糊查询)
|
||||
* @return 班主任信息列表
|
||||
*/
|
||||
@SaCheckPermission("xgStudentManager:studentManager:list")
|
||||
@GetMapping("/listActiveClassTeachers")
|
||||
public R<List<ClassTeacherInfoVo>> listActiveClassTeachers(
|
||||
@RequestParam(value = "phone", required = false) String phone,
|
||||
@RequestParam(value = "name", required = false) String name) {
|
||||
List<ClassTeacherInfoVo> teachers = xgStudentManagerService.queryActiveClassTeachers(phone, name);
|
||||
return R.ok(teachers);
|
||||
}
|
||||
}
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
package org.dromara.xg.domain.bo;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 班级状态批量更新业务对象(仅用于状态变更)
|
||||
*/
|
||||
@Data
|
||||
public class XgClassStatusBatchBo {
|
||||
/** 主键ID集合(雪花ID) */
|
||||
@NotEmpty(message = "主键ID集合不能为空")
|
||||
private List<Long> ids;
|
||||
|
||||
/** 班级状态:1-正常 2-暂停 3-毕业 4-解散 */
|
||||
@NotBlank(message = "班级状态不能为空")
|
||||
private String classStatus;
|
||||
}
|
||||
|
||||
|
||||
+21
@@ -0,0 +1,21 @@
|
||||
package org.dromara.xg.domain.bo;
|
||||
|
||||
import jakarta.validation.constraints.NotBlank;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 班级状态更新业务对象(仅用于状态变更)
|
||||
*/
|
||||
@Data
|
||||
public class XgClassStatusBo {
|
||||
/** 主键ID(雪花ID) */
|
||||
@NotNull(message = "主键ID不能为空")
|
||||
private Long id;
|
||||
|
||||
/** 班级状态:1-正常 2-暂停 3-毕业 4-解散 */
|
||||
@NotBlank(message = "班级状态不能为空")
|
||||
private String classStatus;
|
||||
}
|
||||
|
||||
|
||||
+1
@@ -12,4 +12,5 @@ public class ClassTeacherInfoVo implements Serializable {
|
||||
private String phone;
|
||||
private String sex;
|
||||
private String className;
|
||||
private String classStatus;
|
||||
}
|
||||
+81
-81
@@ -19,95 +19,95 @@ import java.util.Map;
|
||||
*/
|
||||
public interface XgStudentMsgMapper extends BaseMapperPlus<XgStudentMsg, XgStudentMsgVo> {
|
||||
|
||||
/**
|
||||
* 根据组织ID列表分页查询学生信息 用于导出
|
||||
*
|
||||
* @param page 分页参数
|
||||
* @param queryWrapper 查询条件
|
||||
* @param deptIds 组织ID列表
|
||||
* @return 学生信息分页结果
|
||||
*/
|
||||
List<XgStudentMsgExportVo> queryPageListExportByDeptId(
|
||||
@Param("ew") LambdaQueryWrapper<XgStudentMsg> queryWrapper,
|
||||
@Param("deptIds") List<Long> deptIds);
|
||||
/**
|
||||
* 根据组织ID列表分页查询学生信息 用于导出
|
||||
*
|
||||
* @param page 分页参数
|
||||
* @param queryWrapper 查询条件
|
||||
* @param deptIds 组织ID列表
|
||||
* @return 学生信息分页结果
|
||||
*/
|
||||
List<XgStudentMsgExportVo> queryPageListExportByDeptId(
|
||||
@Param("ew") LambdaQueryWrapper<XgStudentMsg> queryWrapper,
|
||||
@Param("deptIds") List<String> deptIds);
|
||||
|
||||
/**
|
||||
* 根据组织ID列表分页查询学生信息
|
||||
*
|
||||
* @param page 分页参数
|
||||
* @param queryWrapper 查询条件
|
||||
* @param deptIds 组织ID列表
|
||||
* @return 学生信息分页结果
|
||||
*/
|
||||
Page<XgStudentMsgVo> selectPageByDeptIds(@Param("page") Page<XgStudentMsgVo> page,
|
||||
@Param("ew") LambdaQueryWrapper<XgStudentMsg> queryWrapper,
|
||||
@Param("deptIds") List<Long> deptIds);
|
||||
/**
|
||||
* 根据组织ID列表分页查询学生信息
|
||||
*
|
||||
* @param page 分页参数
|
||||
* @param queryWrapper 查询条件
|
||||
* @param deptIds 组织ID列表
|
||||
* @return 学生信息分页结果
|
||||
*/
|
||||
Page<XgStudentMsgVo> selectPageByDeptIds(@Param("page") Page<XgStudentMsgVo> page,
|
||||
@Param("ew") LambdaQueryWrapper<XgStudentMsg> queryWrapper,
|
||||
@Param("deptIds") List<String> deptIds);
|
||||
|
||||
/**
|
||||
* 根据班级ID和姓名查询学生信息列表
|
||||
*
|
||||
* @param classId 班级ID
|
||||
* @param name 学生姓名(模糊查询)
|
||||
* @return 学生信息列表
|
||||
*/
|
||||
List<XgStudentMsgVo> selectStudentsByClassId(@Param("classId") String classId, @Param("name") String name);
|
||||
/**
|
||||
* 根据班级ID和姓名查询学生信息列表
|
||||
*
|
||||
* @param classId 班级ID
|
||||
* @param name 学生姓名(模糊查询)
|
||||
* @return 学生信息列表
|
||||
*/
|
||||
List<XgStudentMsgVo> selectStudentsByClassId(@Param("classId") String classId, @Param("name") String name);
|
||||
|
||||
/**
|
||||
* 根据学生ID查询班主任ID
|
||||
*
|
||||
* @param studentId 学生ID
|
||||
* @return 班主任ID
|
||||
*/
|
||||
Long selectClassTeacherIdByStudentId(@Param("studentId") Long studentId);
|
||||
/**
|
||||
* 根据学生ID查询班主任ID
|
||||
*
|
||||
* @param studentId 学生ID
|
||||
* @return 班主任ID
|
||||
*/
|
||||
Long selectClassTeacherIdByStudentId(@Param("studentId") Long studentId);
|
||||
|
||||
/**
|
||||
* 根据学生ID查询学院ID
|
||||
*
|
||||
* @param studentId 学生ID
|
||||
* @return 学院ID
|
||||
*/
|
||||
Long selectCollegeIdByStudentId(@Param("studentId") Long studentId);
|
||||
/**
|
||||
* 根据学生ID查询学院ID
|
||||
*
|
||||
* @param studentId 学生ID
|
||||
* @return 学院ID
|
||||
*/
|
||||
Long selectCollegeIdByStudentId(@Param("studentId") Long studentId);
|
||||
|
||||
/**
|
||||
* 根据学院ID和角色Key查询具备该角色的用户列表
|
||||
*
|
||||
* @param collegeId 学院ID
|
||||
* @param roleKey 角色Key
|
||||
* @return 用户ID列表
|
||||
*/
|
||||
List<Long> selectUserIdsByCollegeIdAndRoleKey(@Param("collegeId") Long collegeId,
|
||||
@Param("roleKey") String roleKey);
|
||||
/**
|
||||
* 根据学院ID和角色Key查询具备该角色的用户列表
|
||||
*
|
||||
* @param collegeId 学院ID
|
||||
* @param roleKey 角色Key
|
||||
* @return 用户ID列表
|
||||
*/
|
||||
List<Long> selectUserIdsByCollegeIdAndRoleKey(@Param("collegeId") Long collegeId,
|
||||
@Param("roleKey") String roleKey);
|
||||
|
||||
/**
|
||||
* 根据学院ID查询二级学院分管领导ID列表
|
||||
*
|
||||
* @param collegeId 学院ID
|
||||
* @return 分管领导ID列表
|
||||
*/
|
||||
List<Long> selectCollegeLeaderIdsByCollegeId(@Param("collegeId") Long collegeId);
|
||||
/**
|
||||
* 根据学院ID查询二级学院分管领导ID列表
|
||||
*
|
||||
* @param collegeId 学院ID
|
||||
* @return 分管领导ID列表
|
||||
*/
|
||||
List<Long> selectCollegeLeaderIdsByCollegeId(@Param("collegeId") Long collegeId);
|
||||
|
||||
/**
|
||||
* 查询二级学院下的学院、专业、班级学生统计信息
|
||||
*
|
||||
* @param secondaryCollegeId 二级学院ID
|
||||
* @return 学生统计信息列表
|
||||
*/
|
||||
List<Map<String, Object>> getCollegeStudentStats(@Param("secondaryCollegeId") Long secondaryCollegeId);
|
||||
/**
|
||||
* 查询二级学院下的学院、专业、班级学生统计信息
|
||||
*
|
||||
* @param secondaryCollegeId 二级学院ID
|
||||
* @return 学生统计信息列表
|
||||
*/
|
||||
List<Map<String, Object>> getCollegeStudentStats(@Param("secondaryCollegeId") Long secondaryCollegeId);
|
||||
|
||||
/**
|
||||
* 查询二级学院下的学院、专业、班级学生统计信息(按床位分配统计)
|
||||
*
|
||||
* @param secondaryCollegeId 二级学院ID
|
||||
* @return 学生统计信息列表
|
||||
*/
|
||||
List<Map<String, Object>> getCollegeStudentStatsByClass(@Param("secondaryCollegeId") Long secondaryCollegeId);
|
||||
/**
|
||||
* 查询二级学院下的学院、专业、班级学生统计信息(按床位分配统计)
|
||||
*
|
||||
* @param secondaryCollegeId 二级学院ID
|
||||
* @return 学生统计信息列表
|
||||
*/
|
||||
List<Map<String, Object>> getCollegeStudentStatsByClass(@Param("secondaryCollegeId") Long secondaryCollegeId);
|
||||
|
||||
/**
|
||||
* 查询二级学院下的学院床位分配统计信息(基于college_id统计)
|
||||
*
|
||||
* @param secondaryCollegeId 二级学院ID
|
||||
* @return 学院床位分配统计信息列表
|
||||
*/
|
||||
List<Map<String, Object>> getCollegeBedAssignmentStats(@Param("secondaryCollegeId") Long secondaryCollegeId);
|
||||
/**
|
||||
* 查询二级学院下的学院床位分配统计信息(基于college_id统计)
|
||||
*
|
||||
* @param secondaryCollegeId 二级学院ID
|
||||
* @return 学院床位分配统计信息列表
|
||||
*/
|
||||
List<Map<String, Object>> getCollegeBedAssignmentStats(@Param("secondaryCollegeId") Long secondaryCollegeId);
|
||||
|
||||
}
|
||||
+18
@@ -65,4 +65,22 @@ public interface IXgClassMsgService {
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
|
||||
/**
|
||||
* 更新班级状态(仅更新 classStatus 字段)
|
||||
*
|
||||
* @param id 班级ID
|
||||
* @param classStatus 班级状态:1-正常 2-暂停 3-毕业 4-解散
|
||||
* @return 是否更新成功
|
||||
*/
|
||||
Boolean updateClassStatus(Long id, String classStatus);
|
||||
|
||||
/**
|
||||
* 批量更新班级状态(仅更新 classStatus 字段)
|
||||
*
|
||||
* @param ids 班级ID集合
|
||||
* @param classStatus 班级状态:1-正常 2-暂停 3-毕业 4-解散
|
||||
* @return 是否更新成功
|
||||
*/
|
||||
Boolean updateClassStatusBatch(Collection<Long> ids, String classStatus);
|
||||
}
|
||||
+9
@@ -83,4 +83,13 @@ public interface IXgStudentManagerService {
|
||||
* @return 班主任信息列表
|
||||
*/
|
||||
List<ClassTeacherInfoVo> queryActiveClassTeachers(String phone, String name);
|
||||
|
||||
/**
|
||||
* 获取所有班主任信息(按班级状态排序)
|
||||
*
|
||||
* @param phone 手机号
|
||||
* @param name 姓名
|
||||
* @return 班主任信息列表
|
||||
*/
|
||||
List<ClassTeacherInfoVo> queryAllClassTeachers(String phone, String name);
|
||||
}
|
||||
+27
-2
@@ -79,8 +79,10 @@ public class XgClassMsgServiceImpl implements IXgClassMsgService {
|
||||
private LambdaQueryWrapper<XgClassMsg> buildQueryWrapper(XgClassMsgBo bo) {
|
||||
Map<String, Object> params = bo.getParams();
|
||||
LambdaQueryWrapper<XgClassMsg> lqw = Wrappers.lambdaQuery();
|
||||
// lqw.orderByAsc(XgClassMsg::getId);
|
||||
lqw.orderByDesc(XgClassMsg::getCreateTime);
|
||||
lqw.orderByDesc(XgClassMsg::getGrade)
|
||||
.orderByAsc(XgClassMsg::getCollegeName)
|
||||
.orderByAsc(XgClassMsg::getMajorName)
|
||||
.orderByAsc(XgClassMsg::getClassStatus);
|
||||
lqw.eq(bo.getId() != null, XgClassMsg::getId, bo.getId());
|
||||
lqw.eq(bo.getCollegeId() != null, XgClassMsg::getCollegeId, bo.getCollegeId());
|
||||
lqw.eq(bo.getMajorId() != null, XgClassMsg::getMajorId, bo.getMajorId());
|
||||
@@ -272,4 +274,27 @@ public class XgClassMsgServiceImpl implements IXgClassMsgService {
|
||||
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 仅更新班级状态
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateClassStatus(Long id, String classStatus) {
|
||||
LambdaUpdateWrapper<XgClassMsg> uw = Wrappers.lambdaUpdate();
|
||||
uw.eq(XgClassMsg::getId, id).set(XgClassMsg::getClassStatus, classStatus);
|
||||
return baseMapper.update(null, uw) > 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量仅更新班级状态
|
||||
*/
|
||||
@Override
|
||||
public Boolean updateClassStatusBatch(Collection<Long> ids, String classStatus) {
|
||||
if (ids == null || ids.isEmpty()) {
|
||||
return false;
|
||||
}
|
||||
LambdaUpdateWrapper<XgClassMsg> uw = Wrappers.lambdaUpdate();
|
||||
uw.in(XgClassMsg::getId, ids).set(XgClassMsg::getClassStatus, classStatus);
|
||||
return baseMapper.update(null, uw) > 0;
|
||||
}
|
||||
}
|
||||
+32
-1
@@ -157,7 +157,7 @@ public class XgStudentManagerServiceImpl implements IXgStudentManagerService {
|
||||
@Override
|
||||
public List<ClassTeacherInfoVo> queryActiveClassTeachers(String phone, String name) {
|
||||
StringBuilder sql = new StringBuilder(
|
||||
"SELECT s.nick_name as name, s.phonenumber as phone, s.sex as sex, c.class_name as className " +
|
||||
"SELECT s.nick_name as name, s.phonenumber as phone, s.sex as sex, c.class_name as className, c.class_status as classStatus " +
|
||||
"FROM xg_class_msg c, sys_user s " +
|
||||
"WHERE c.deleted = '0' " +
|
||||
"AND c.class_status = '1' " +
|
||||
@@ -180,6 +180,37 @@ public class XgStudentManagerServiceImpl implements IXgStudentManagerService {
|
||||
vo.setPhone(rs.getString("phone"));
|
||||
vo.setSex(rs.getString("sex"));
|
||||
vo.setClassName(rs.getString("className"));
|
||||
vo.setClassStatus(rs.getString("classStatus"));
|
||||
return vo;
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<ClassTeacherInfoVo> queryAllClassTeachers(String phone, String name) {
|
||||
StringBuilder sql = new StringBuilder(
|
||||
"SELECT s.nick_name as name, s.phonenumber as phone, s.sex as sex, c.class_name as className, c.class_status as classStatus " +
|
||||
"FROM xg_class_msg c, sys_user s " +
|
||||
"WHERE c.deleted = '0' " +
|
||||
"AND c.class_teacher_id IS NOT NULL " +
|
||||
"AND c.class_teacher_id = s.user_id " +
|
||||
"AND s.del_flag = '0'");
|
||||
List<Object> params = new java.util.ArrayList<>();
|
||||
if (StringUtils.isNotBlank(name)) {
|
||||
sql.append(" AND s.nick_name LIKE ?");
|
||||
params.add("%" + name + "%");
|
||||
}
|
||||
if (StringUtils.isNotBlank(phone)) {
|
||||
sql.append(" AND s.phonenumber LIKE ?");
|
||||
params.add("%" + phone + "%");
|
||||
}
|
||||
sql.append(" ORDER BY c.class_status ASC, c.class_name ASC");
|
||||
return jdbcTemplate.query(sql.toString(), params.toArray(), (rs, rowNum) -> {
|
||||
ClassTeacherInfoVo vo = new ClassTeacherInfoVo();
|
||||
vo.setName(rs.getString("name"));
|
||||
vo.setPhone(rs.getString("phone"));
|
||||
vo.setSex(rs.getString("sex"));
|
||||
vo.setClassName(rs.getString("className"));
|
||||
vo.setClassStatus(rs.getString("classStatus"));
|
||||
return vo;
|
||||
});
|
||||
}
|
||||
|
||||
+15
-3
@@ -145,8 +145,12 @@ public class XgStudentMsgServiceImpl implements IXgStudentMsgService {
|
||||
LambdaQueryWrapper<XgStudentMsg> lqw = buildQueryWrapperForDeptQuery(bo);
|
||||
|
||||
// 第三步:分页查询学生信息
|
||||
List<String> classIdList = filteredDeptIds.stream()
|
||||
.map(String::valueOf)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
List<XgStudentMsgExportVo> result = baseMapper.queryPageListExportByDeptId(lqw,
|
||||
filteredDeptIds);
|
||||
classIdList);
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -178,7 +182,11 @@ public class XgStudentMsgServiceImpl implements IXgStudentMsgService {
|
||||
LambdaQueryWrapper<XgStudentMsg> lqw = buildQueryWrapperForDeptQuery(bo);
|
||||
|
||||
// 第三步:分页查询学生信息
|
||||
Page<XgStudentMsgVo> result = baseMapper.selectPageByDeptIds(pageQuery.build(), lqw, filteredDeptIds);
|
||||
List<String> classIdList = filteredDeptIds.stream()
|
||||
.map(String::valueOf)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
Page<XgStudentMsgVo> result = baseMapper.selectPageByDeptIds(pageQuery.build(), lqw, classIdList);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
@@ -715,8 +723,12 @@ public class XgStudentMsgServiceImpl implements IXgStudentMsgService {
|
||||
LambdaQueryWrapper<XgStudentMsg> lqw = buildAdvancedSearchQueryWrapper(bo);
|
||||
|
||||
// 第三步:分页查询学生信息
|
||||
List<String> classIdList = filteredDeptIds.stream()
|
||||
.map(String::valueOf)
|
||||
.collect(Collectors.toList());
|
||||
|
||||
Page<XgStudentMsgVo> result = baseMapper.selectPageByDeptIds(
|
||||
new Page<>(bo.getPageNum(), bo.getPageSize()), lqw, filteredDeptIds);
|
||||
new Page<>(bo.getPageNum(), bo.getPageSize()), lqw, classIdList);
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,854 +0,0 @@
|
||||
# 学生信息管理API文档
|
||||
|
||||
## 1. 文档说明
|
||||
|
||||
### 1.1 API基础信息
|
||||
- **模块名称**: 学工管理 - 学生信息管理
|
||||
- **模块代码**: ruoyi-xg
|
||||
- **基础路径**: `/studentMsg/studentMsg`
|
||||
- **权限前缀**: `studentMsg:studentMsg`
|
||||
- **版本**: 1.0.0
|
||||
- **更新时间**: 2025-01-27(新增班级学生查询接口)
|
||||
|
||||
### 1.2 通用规范
|
||||
- **请求方式**: 支持GET、POST、PUT、DELETE
|
||||
- **数据格式**: JSON
|
||||
- **字符编码**: UTF-8
|
||||
- **认证方式**: Bearer Token
|
||||
- **权限控制**: Sa-Token + 数据权限
|
||||
|
||||
### 1.3 响应格式
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功",
|
||||
"data": {},
|
||||
"timestamp": "2025-01-27T18:00:00"
|
||||
}
|
||||
```
|
||||
|
||||
## 2. 学生信息管理接口
|
||||
|
||||
### 2.1 查询学生信息列表
|
||||
- **接口路径**: GET `/studentMsg/studentMsg/list`
|
||||
- **权限标识**: `studentMsg:studentMsg:list`
|
||||
- **功能描述**: 分页查询学生信息列表,支持多条件筛选
|
||||
|
||||
#### 请求参数
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| pageNum | integer | 否 | 页码,默认1 |
|
||||
| pageSize | integer | 否 | 每页大小,默认10 |
|
||||
| studentNo | string | 否 | 学号 |
|
||||
| name | string | 否 | 姓名(模糊查询) |
|
||||
| idCard | string | 否 | 身份证号 |
|
||||
| gender | string | 否 | 性别:0-男,1-女 |
|
||||
| studentStatus | string | 否 | 学籍状态 |
|
||||
| phone | string | 否 | 联系电话(模糊查询) |
|
||||
| email | string | 否 | 邮箱 |
|
||||
| classId | string | 否 | 班级ID |
|
||||
| className | string | 否 | 班级名称 |
|
||||
| majorId | string | 否 | 专业ID |
|
||||
| majorName | string | 否 | 专业名称 |
|
||||
| collegeId | string | 否 | 学院ID |
|
||||
| collegeName | string | 否 | 学院名称 |
|
||||
|
||||
#### 响应数据
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "查询成功",
|
||||
"rows": [
|
||||
{
|
||||
"id": 1,
|
||||
"studentNo": "2023001001",
|
||||
"name": "张三",
|
||||
"gender": "0",
|
||||
"birthDate": "2000-01-01",
|
||||
"idCard": "110101199901010001",
|
||||
"phone": "13800138000",
|
||||
"email": "zhangsan@example.com",
|
||||
"classId": "101",
|
||||
"className": "计算机2023-1班",
|
||||
"majorId": "CS001",
|
||||
"majorName": "计算机科学与技术",
|
||||
"collegeId": "CS",
|
||||
"collegeName": "计算机学院",
|
||||
"studentStatus": "1",
|
||||
"createTime": "2025-01-27 10:00:00",
|
||||
"updateTime": "2025-01-27 10:00:00"
|
||||
}
|
||||
],
|
||||
"total": 1
|
||||
}
|
||||
```
|
||||
|
||||
### 2.2 根据组织ID查询学生信息列表
|
||||
- **接口路径**: POST `/studentMsg/studentMsg/listByDeptId`
|
||||
- **权限标识**: `studentMsg:studentMsg:list`
|
||||
- **功能描述**: 根据部门ID查询该组织下所有学生信息
|
||||
|
||||
#### 请求参数
|
||||
```json
|
||||
{
|
||||
"dept_id": 101,
|
||||
"name": "张",
|
||||
"studentNo": "2023001",
|
||||
"phone": "138",
|
||||
"studentStatus": "1",
|
||||
"beginTime": "2025-01-01",
|
||||
"endTime": "2025-01-27"
|
||||
}
|
||||
```
|
||||
|
||||
#### 响应数据
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "查询成功",
|
||||
"rows": [...],
|
||||
"total": 10
|
||||
}
|
||||
```
|
||||
|
||||
### 2.3 查询班级中所有学生信息 ⭐ 新增
|
||||
- **接口路径**: GET `/studentMsg/studentMsg/listByClassId`
|
||||
- **权限标识**: `studentMsg:studentMsg:query`
|
||||
- **功能描述**: 查询指定班级中所有在籍学生信息
|
||||
|
||||
#### 请求参数
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| classId | string | 是 | 班级ID |
|
||||
| name | string | 否 | 学生姓名(模糊查询) |
|
||||
|
||||
#### 响应数据
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "查询成功",
|
||||
"data": [
|
||||
{
|
||||
"id": 1,
|
||||
"studentNo": "2023001001",
|
||||
"name": "张三",
|
||||
"gender": "0",
|
||||
"birthDate": "2000-01-01",
|
||||
"idCard": "110101199901010001",
|
||||
"phone": "13800138000",
|
||||
"email": "zhangsan@example.com",
|
||||
"classId": "101",
|
||||
"className": "计算机2023-1班",
|
||||
"majorId": "CS001",
|
||||
"majorName": "计算机科学与技术",
|
||||
"collegeId": "CS",
|
||||
"collegeName": "计算机学院",
|
||||
"studentStatus": "1",
|
||||
"createTime": "2025-01-27 10:00:00",
|
||||
"updateTime": "2025-01-27 10:00:00"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
#### 业务逻辑
|
||||
1. 在 `xg_student_msg` 表中查询:
|
||||
- `deleted = 0` (未删除)
|
||||
- `student_status = '1'` (在籍状态)
|
||||
- `class_id = 入参的classId` (班级ID)
|
||||
- `name LIKE '%入参的name%'` (姓名模糊查询,可选)
|
||||
- 按创建时间倒序排列
|
||||
|
||||
### 2.4 获取学生信息详情
|
||||
- **接口路径**: GET `/studentMsg/studentMsg/{id}`
|
||||
- **权限标识**: `studentMsg:studentMsg:query`
|
||||
- **功能描述**: 根据ID获取学生详细信息
|
||||
|
||||
#### 请求参数
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| id | long | 是 | 学生ID |
|
||||
|
||||
#### 响应数据
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "查询成功",
|
||||
"data": {
|
||||
"id": 1,
|
||||
"studentNo": "2023001001",
|
||||
"name": "张三",
|
||||
"gender": "0",
|
||||
"birthDate": "2000-01-01",
|
||||
"idCard": "110101199901010001",
|
||||
"phone": "13800138000",
|
||||
"email": "zhangsan@example.com",
|
||||
"classId": "101",
|
||||
"className": "计算机2023-1班",
|
||||
"majorId": "CS001",
|
||||
"majorName": "计算机科学与技术",
|
||||
"collegeId": "CS",
|
||||
"collegeName": "计算机学院",
|
||||
"studentStatus": "1",
|
||||
"createTime": "2025-01-27 10:00:00",
|
||||
"updateTime": "2025-01-27 10:00:00"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 2.5 新增学生信息
|
||||
- **接口路径**: POST `/studentMsg/studentMsg`
|
||||
- **权限标识**: `studentMsg:studentMsg:add`
|
||||
- **功能描述**: 新增学生信息
|
||||
|
||||
#### 请求参数
|
||||
```json
|
||||
{
|
||||
"studentNo": "2023001001",
|
||||
"name": "张三",
|
||||
"gender": "0",
|
||||
"birthDate": "2000-01-01",
|
||||
"idCard": "110101199901010001",
|
||||
"phone": "13800138000",
|
||||
"email": "zhangsan@example.com",
|
||||
"classId": "101",
|
||||
"className": "计算机2023-1班",
|
||||
"majorId": "CS001",
|
||||
"majorName": "计算机科学与技术",
|
||||
"collegeId": "CS",
|
||||
"collegeName": "计算机学院",
|
||||
"studentStatus": "1"
|
||||
}
|
||||
```
|
||||
|
||||
#### 响应数据
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "新增成功"
|
||||
}
|
||||
```
|
||||
|
||||
### 2.6 修改学生信息
|
||||
- **接口路径**: PUT `/studentMsg/studentMsg`
|
||||
- **权限标识**: `studentMsg:studentMsg:edit`
|
||||
- **功能描述**: 修改学生信息
|
||||
|
||||
#### 请求参数
|
||||
```json
|
||||
{
|
||||
"id": 1,
|
||||
"studentNo": "2023001001",
|
||||
"name": "张三",
|
||||
"gender": "0",
|
||||
"birthDate": "2000-01-01",
|
||||
"idCard": "110101199901010001",
|
||||
"phone": "13800138000",
|
||||
"email": "zhangsan@example.com",
|
||||
"classId": "101",
|
||||
"className": "计算机2023-1班",
|
||||
"majorId": "CS001",
|
||||
"majorName": "计算机科学与技术",
|
||||
"collegeId": "CS",
|
||||
"collegeName": "计算机学院",
|
||||
"studentStatus": "1"
|
||||
}
|
||||
```
|
||||
|
||||
#### 响应数据
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "修改成功"
|
||||
}
|
||||
```
|
||||
|
||||
### 2.7 删除学生信息
|
||||
- **接口路径**: DELETE `/studentMsg/studentMsg/{ids}`
|
||||
- **权限标识**: `studentMsg:studentMsg:remove`
|
||||
- **功能描述**: 批量删除学生信息
|
||||
|
||||
#### 请求参数
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| ids | string | 是 | 学生ID列表,多个用逗号分隔 |
|
||||
|
||||
#### 响应数据
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "删除成功"
|
||||
}
|
||||
```
|
||||
|
||||
### 2.8 导出学生信息
|
||||
- **接口路径**: POST `/studentMsg/studentMsg/export`
|
||||
- **权限标识**: `studentMsg:studentMsg:export`
|
||||
- **功能描述**: 导出学生信息列表
|
||||
|
||||
#### 请求参数
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| studentNo | string | 否 | 学号 |
|
||||
| name | string | 否 | 姓名 |
|
||||
| studentStatus | string | 否 | 学籍状态 |
|
||||
|
||||
#### 响应数据
|
||||
返回Excel文件流
|
||||
|
||||
### 2.8.1 高级检索导出学生信息
|
||||
- **接口路径**: POST `/studentMsg/studentMsg/advancedSearchExport`
|
||||
- **权限标识**: `studentMsg:studentMsg:export`
|
||||
- **功能描述**: 根据高级检索条件导出学生信息列表,支持多维度复合查询条件
|
||||
- **版本**: 1.2.1 (2025-01-07修复MapStruct转换错误)
|
||||
- **修复**: 解决 `XgStudentMsgVo` 到 `XgStudentMsgExportVo` 转换器缺失问题
|
||||
|
||||
#### 请求参数
|
||||
支持以下高级检索条件:
|
||||
|
||||
**基础信息检索**
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| studentNo | string | 否 | 学号(模糊查询) |
|
||||
| name | string | 否 | 姓名(模糊查询) |
|
||||
| idCard | string | 否 | 身份证号(模糊查询) |
|
||||
| phone | string | 否 | 手机号码(模糊查询) |
|
||||
| email | string | 否 | 邮箱(模糊查询) |
|
||||
| gender | array | 否 | 性别数组:0-男,1-女 |
|
||||
| nationality | array | 否 | 民族数组 |
|
||||
| politicalStatus | array | 否 | 政治面貌数组 |
|
||||
| birthDateStart | string | 否 | 出生日期开始:yyyy-MM-dd |
|
||||
| birthDateEnd | string | 否 | 出生日期结束:yyyy-MM-dd |
|
||||
|
||||
**学籍信息检索**
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| studentStatus | array | 否 | 学籍状态数组:1-在籍,2-休学,3-复学,4-退学,5-毕业 |
|
||||
| enrollmentYearStart | integer | 否 | 入学年份开始 |
|
||||
| enrollmentYearEnd | integer | 否 | 入学年份结束 |
|
||||
| admissionCategory | array | 否 | 录取类别数组 |
|
||||
|
||||
**学院专业班级检索**
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| collegeName | string | 否 | 学院名称(模糊查询) |
|
||||
| majorName | string | 否 | 专业名称(模糊查询) |
|
||||
| className | string | 否 | 班级名称(模糊查询) |
|
||||
| grade | array | 否 | 年级数组 |
|
||||
| counselorName | string | 否 | 辅导员姓名(模糊查询) |
|
||||
| classTeacherName | string | 否 | 班主任姓名(模糊查询) |
|
||||
|
||||
**家庭信息检索**
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| fatherName | string | 否 | 父亲姓名(模糊查询) |
|
||||
| motherName | string | 否 | 母亲姓名(模糊查询) |
|
||||
| familyEconomicStatus | array | 否 | 家庭经济状况数组 |
|
||||
| familyIncomeMin | number | 否 | 家庭收入最小值 |
|
||||
| familyIncomeMax | number | 否 | 家庭收入最大值 |
|
||||
|
||||
**特殊身份检索**
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| isPoorStudent | array | 否 | 是否贫困生:0-否,1-是 |
|
||||
| isMinority | array | 否 | 是否少数民族:0-否,1-是 |
|
||||
| isDisabled | array | 否 | 是否残疾:0-否,1-是 |
|
||||
| isOrphan | array | 否 | 是否孤儿:0-否,1-是 |
|
||||
|
||||
**权限范围**
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| deptIds | array | 否 | 部门ID数组,用于权限控制 |
|
||||
|
||||
#### 响应数据
|
||||
返回Excel文件流,包含完整的学生信息数据
|
||||
|
||||
#### 修复记录
|
||||
- **2025-01-07 v1.2.1**: 修复MapStruct转换错误,解决 `XgStudentMsgVo` 到 `XgStudentMsgExportVo` 转换器缺失问题
|
||||
- **问题**: `MapstructUtils.convert()` 无法找到两个VO类之间的转换器,导致导出功能报错
|
||||
- **解决**: 在Controller中添加手动转换方法 `convertToExportVo()` 和 `convertToExportVoList()`
|
||||
- **影响**: 导出功能正常工作,所有字段完整映射
|
||||
- **2025-01-07 v1.2.0**: 修复分页限制问题,导出时pageSize设置为50000,确保能导出所有符合条件的记录
|
||||
- **问题**: 之前由于BO类默认pageSize=10,导致只能导出10条记录
|
||||
- **解决**: 取消注释Controller中的分页参数设置代码
|
||||
|
||||
### 2.9 查询学生个人信息
|
||||
- **接口路径**: GET `/studentMsg/studentMsg/personalInfo`
|
||||
- **权限标识**: `studentMsg:studentMsg:query`
|
||||
- **功能描述**: 查询当前登录学生的个人信息
|
||||
|
||||
#### 请求参数
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| userId | long | 否 | 用户ID,为空时使用当前登录用户ID |
|
||||
|
||||
#### 响应数据
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "查询成功",
|
||||
"data": {
|
||||
"id": 1,
|
||||
"studentNo": "2023001001",
|
||||
"name": "张三",
|
||||
"gender": "0",
|
||||
"birthDate": "2000-01-01",
|
||||
"idCard": "110101199901010001",
|
||||
"phone": "13800138000",
|
||||
"email": "zhangsan@example.com",
|
||||
"classId": "101",
|
||||
"className": "计算机2023-1班",
|
||||
"majorId": "CS001",
|
||||
"majorName": "计算机科学与技术",
|
||||
"collegeId": "CS",
|
||||
"collegeName": "计算机学院",
|
||||
"studentStatus": "1",
|
||||
"createTime": "2025-01-27 10:00:00",
|
||||
"updateTime": "2025-01-27 10:00:00"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 2.10 根据班级ID查询学生信息列表
|
||||
- **接口路径**: GET `/studentMsg/studentMsg/listByClassId`
|
||||
- **权限标识**: `studentMsg:studentMsg:query`
|
||||
- **功能描述**: 查询指定班级中所有在籍学生信息
|
||||
|
||||
#### 请求参数
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| classId | string | 是 | 班级ID |
|
||||
| name | string | 否 | 学生姓名(模糊查询) |
|
||||
|
||||
#### 响应数据
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "查询成功",
|
||||
"data": [
|
||||
{
|
||||
"id": 1,
|
||||
"studentNo": "2023001001",
|
||||
"name": "张三",
|
||||
"gender": "0",
|
||||
"birthDate": "2000-01-01",
|
||||
"idCard": "110101199901010001",
|
||||
"phone": "13800138000",
|
||||
"email": "zhangsan@example.com",
|
||||
"classId": "101",
|
||||
"className": "计算机2023-1班",
|
||||
"majorId": "CS001",
|
||||
"majorName": "计算机科学与技术",
|
||||
"collegeId": "CS",
|
||||
"collegeName": "计算机学院",
|
||||
"studentStatus": "1",
|
||||
"createTime": "2025-01-27 10:00:00",
|
||||
"updateTime": "2025-01-27 10:00:00"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### 2.11 导入学生信息数据
|
||||
- **接口路径**: POST `/studentMsg/studentMsg/importData`
|
||||
- **权限标识**: `studentMsg:studentMsg:import`
|
||||
- **功能描述**: 批量导入学生信息数据,支持Excel文件上传
|
||||
|
||||
#### 请求参数
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| file | MultipartFile | 是 | Excel文件(.xlsx格式) |
|
||||
| updateSupport | boolean | 否 | 是否支持更新已存在数据,默认false |
|
||||
|
||||
#### 请求示例
|
||||
```http
|
||||
POST /studentMsg/studentMsg/importData
|
||||
Content-Type: multipart/form-data
|
||||
|
||||
file: [Excel文件]
|
||||
updateSupport: true
|
||||
```
|
||||
|
||||
#### 响应数据
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "恭喜您,数据已全部导入成功!共 10 条,数据如下:",
|
||||
"data": null
|
||||
}
|
||||
```
|
||||
|
||||
#### 错误响应示例
|
||||
```json
|
||||
{
|
||||
"code": 500,
|
||||
"msg": "很抱歉,导入失败!共 2 条数据格式不正确,错误如下:<br/>1、学号 2023001001 已存在<br/>2、学号 2023001002 导入失败:手机号码格式不正确",
|
||||
"data": null
|
||||
}
|
||||
```
|
||||
|
||||
### 2.12 获取导入模板
|
||||
- **接口路径**: POST `/studentMsg/studentMsg/importTemplate`
|
||||
- **权限标识**: `studentMsg:studentMsg:import`
|
||||
- **功能描述**: 下载学生信息导入模板文件
|
||||
|
||||
#### 请求参数
|
||||
无
|
||||
|
||||
#### 响应数据
|
||||
返回Excel模板文件(.xlsx格式)
|
||||
|
||||
#### 模板字段说明
|
||||
| 字段名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| 学号 | string | 是 | 学生学号,必须唯一 |
|
||||
| 姓名 | string | 是 | 学生姓名 |
|
||||
| 性别 | string | 是 | 0-男,1-女 |
|
||||
| 身份证号 | string | 否 | 身份证号码 |
|
||||
| 手机号码 | string | 否 | 手机号码,必须唯一 |
|
||||
| 电子邮箱 | string | 否 | 邮箱地址,必须唯一 |
|
||||
| 出生日期 | date | 否 | 出生日期 |
|
||||
| 民族 | string | 否 | 民族代码 |
|
||||
| 政治面貌 | string | 否 | 政治面貌代码 |
|
||||
| 家庭地址 | string | 否 | 家庭住址 |
|
||||
| 现住址 | string | 否 | 现居住地址 |
|
||||
| 班级ID | string | 否 | 班级编号 |
|
||||
| 班级名称 | string | 否 | 班级名称 |
|
||||
| 专业ID | string | 否 | 专业编号 |
|
||||
| 专业名称 | string | 否 | 专业名称 |
|
||||
| 学院ID | string | 否 | 学院编号 |
|
||||
| 学院名称 | string | 否 | 学院名称 |
|
||||
| 学籍状态 | string | 否 | 1-在籍,2-休学,3-复学,4-退学,5-毕业 |
|
||||
|
||||
## 3. 数据字典
|
||||
|
||||
### 3.1 性别字典
|
||||
| 字典值 | 字典标签 |
|
||||
|--------|----------|
|
||||
| 0 | 男 |
|
||||
| 1 | 女 |
|
||||
|
||||
### 3.2 学籍状态字典
|
||||
| 字典值 | 字典标签 |
|
||||
|--------|----------|
|
||||
| 1 | 在籍 |
|
||||
| 2 | 休学 |
|
||||
| 3 | 复学 |
|
||||
| 4 | 退学 |
|
||||
| 5 | 毕业 |
|
||||
|
||||
### 3.3 信息状态字典
|
||||
| 字典值 | 字典标签 |
|
||||
|--------|----------|
|
||||
| 1 | 正常 |
|
||||
| 2 | 待审核 |
|
||||
| 3 | 审核中 |
|
||||
| 4 | 已驳回 |
|
||||
| 5 | 已锁定 |
|
||||
|
||||
## 4. 错误码说明
|
||||
|
||||
| 错误码 | 说明 |
|
||||
|--------|------|
|
||||
| 200 | 操作成功 |
|
||||
| 400 | 请求参数错误 |
|
||||
| 401 | 未授权 |
|
||||
| 403 | 无权限 |
|
||||
| 404 | 资源不存在 |
|
||||
| 500 | 服务器内部错误 |
|
||||
|
||||
## 5. 权限说明
|
||||
|
||||
### 5.1 数据权限控制
|
||||
- **超级管理员**: 可查看所有学生信息
|
||||
- **学工管理员**: 可查看所有学生信息
|
||||
- **二级学院管理员**: 只能查看本学院学生信息
|
||||
- **辅导员**: 只能查看负责班级的学生信息
|
||||
- **班主任**: 只能查看负责班级的学生信息
|
||||
- **学生**: 只能查看自己的信息
|
||||
|
||||
### 5.2 操作权限控制
|
||||
- **新增**: 学工管理员、二级学院管理员
|
||||
- **修改**: 学工管理员、二级学院管理员、辅导员、班主任(限制范围)
|
||||
- **删除**: 学工管理员、二级学院管理员
|
||||
- **导入**: 学工管理员、二级学院管理员
|
||||
- **导出**: 学工管理员、二级学院管理员、辅导员、班主任
|
||||
- **查询**: 所有有权限的用户
|
||||
|
||||
## 6. 注意事项
|
||||
|
||||
1. 所有接口都需要Bearer Token认证
|
||||
2. 删除操作为逻辑删除,不会物理删除数据
|
||||
3. 学号和身份证号必须唯一
|
||||
4. 新增学生时会自动创建对应的系统用户账号
|
||||
5. 支持多租户数据隔离
|
||||
6. 所有时间字段使用yyyy-MM-dd HH:mm:ss格式
|
||||
7. 数据权限按照用户角色自动过滤
|
||||
8. 班级学生查询接口只返回在籍状态的学生
|
||||
|
||||
## 7. 更新日志
|
||||
|
||||
### 2025-01-27 - 新增学生信息导入功能
|
||||
- **新增功能**: 新增学生信息批量导入功能
|
||||
- **新增接口**:
|
||||
- `POST /studentMsg/studentMsg/importData` - 学生信息导入接口
|
||||
- `POST /studentMsg/studentMsg/importTemplate` - 导入模板下载接口
|
||||
- **功能特性**:
|
||||
- 支持Excel文件批量导入
|
||||
- 支持新增和更新两种模式
|
||||
- 自动验证学号、手机号、邮箱唯一性
|
||||
- 完整的错误处理和结果统计
|
||||
- 自动创建对应的系统用户账号
|
||||
- **技术实现**:
|
||||
- 使用自定义Listener处理Excel解析
|
||||
- 事务保证数据一致性
|
||||
- 详细的导入结果反馈
|
||||
|
||||
### 2025-01-27 - 新增班级学生查询接口
|
||||
- **新增功能**: 新增 `GET /studentMsg/studentMsg/listByClassId` 接口
|
||||
- **功能描述**: 查询指定班级中所有在籍学生信息
|
||||
- **过滤条件**:
|
||||
- `deleted = 0` (未删除)
|
||||
- `student_status = '1'` (在籍状态)
|
||||
- `class_id = 入参的classId` (班级ID)
|
||||
- `name LIKE '%入参的name%'` (姓名模糊查询,可选)
|
||||
- **排序方式**: 按创建时间倒序排列
|
||||
|
||||
## 17. 获取学生信息树 ⭐ 新增
|
||||
|
||||
### 接口描述
|
||||
获取按年级、学院、专业、班级层级组织的学生信息树结构,用于宿舍分配等场景的学生选择。
|
||||
|
||||
### 接口URL
|
||||
```
|
||||
GET /studentMsg/studentMsg/getStudentTree
|
||||
```
|
||||
|
||||
### 请求参数
|
||||
| 参数名 | 类型 | 是否必填 | 说明 | 示例值 |
|
||||
|-------|------|---------|------|-------|
|
||||
| secondaryCollegeId | Long | 否 | 二级学院ID,默认为101 | 101 |
|
||||
|
||||
### 请求示例
|
||||
```javascript
|
||||
// GET请求
|
||||
/studentMsg/studentMsg/getStudentTree?secondaryCollegeId=101
|
||||
```
|
||||
|
||||
### 响应参数
|
||||
| 参数名 | 类型 | 说明 | 示例值 |
|
||||
|-------|------|------|-------|
|
||||
| code | Integer | 响应码,200表示成功 | 200 |
|
||||
| msg | String | 响应消息 | "操作成功" |
|
||||
| data | Array | 学生信息树数据 | 见下方详细结构 |
|
||||
|
||||
### 学生树节点结构
|
||||
| 参数名 | 类型 | 说明 | 示例值 |
|
||||
|-------|------|------|-------|
|
||||
| id | String | 节点唯一标识 | "college-101" |
|
||||
| label | String | 节点显示名称 | "计算机学院" |
|
||||
| type | String | 节点类型:college/major/class | "college" |
|
||||
| maleAssigned | Integer | 已分配男生数量 | 45 |
|
||||
| maleTotal | Integer | 男生总数 | 120 |
|
||||
| femaleAssigned | Integer | 已分配女生数量 | 25 |
|
||||
| femaleTotal | Integer | 女生总数 | 60 |
|
||||
| grade | String | 年级信息(仅班级节点有值) | "2025" |
|
||||
| collegeId | Long | 学院ID | 101 |
|
||||
| collegeName | String | 学院名称 | "计算机学院" |
|
||||
| majorId | Long | 专业ID(专业和班级节点有值) | 1001 |
|
||||
| majorName | String | 专业名称(专业和班级节点有值) | "计算机科学与技术" |
|
||||
| classId | Long | 班级ID(仅班级节点有值) | 10001 |
|
||||
| className | String | 班级名称(仅班级节点有值) | "计算机科学与技术1班" |
|
||||
| sortOrder | Integer | 排序序号 | 1 |
|
||||
| children | Array | 子节点数组 | [] |
|
||||
|
||||
### 后端实现
|
||||
```java
|
||||
// Controller
|
||||
@GetMapping("/getStudentTree")
|
||||
@SaCheckPermission("studentMsg:studentMsg:query")
|
||||
public R<List<XgStudentTreeVo>> getStudentTree(@RequestParam(defaultValue = "101") Long secondaryCollegeId) {
|
||||
List<XgStudentTreeVo> tree = studentService.getStudentTree(secondaryCollegeId);
|
||||
return R.ok(tree);
|
||||
}
|
||||
|
||||
// Service实现
|
||||
@Override
|
||||
public List<XgStudentTreeVo> getStudentTree(Long secondaryCollegeId) {
|
||||
return baseMapper.getStudentTree(secondaryCollegeId);
|
||||
}
|
||||
```
|
||||
|
||||
### 数据库查询
|
||||
```sql
|
||||
<select id="getCollegeStudentStats" resultType="java.util.Map">
|
||||
SELECT
|
||||
s.college_id,
|
||||
s.college_name,
|
||||
s.major_id,
|
||||
s.major_name,
|
||||
s.class_id,
|
||||
s.class_name,
|
||||
s.grade,
|
||||
COUNT(CASE WHEN s.gender = '1' THEN 1 END) as male_total,
|
||||
COUNT(CASE WHEN s.gender = '0' THEN 1 END) as female_total,
|
||||
COUNT(CASE WHEN s.gender = '1' AND s.is_boarder = 1 THEN 1 END) as male_assigned,
|
||||
COUNT(CASE WHEN s.gender = '0' AND s.is_boarder = 1 THEN 1 END) as female_assigned
|
||||
FROM xg_student s
|
||||
WHERE s.secondary_college_id = #{secondaryCollegeId}
|
||||
AND s.deleted = 0
|
||||
AND s.student_status = '1'
|
||||
GROUP BY s.college_id, s.college_name, s.major_id, s.major_name, s.class_id, s.class_name, s.grade
|
||||
ORDER BY s.college_id, s.major_id, s.class_id
|
||||
</select>
|
||||
```
|
||||
|
||||
### 前端调用
|
||||
```typescript
|
||||
// API定义
|
||||
export function getStudentTree(secondaryCollegeId: number = 101): AxiosPromise<R<XgStudentTreeVO[]>> {
|
||||
return request({
|
||||
url: '/studentMsg/studentMsg/getStudentTree',
|
||||
method: 'get',
|
||||
params: {
|
||||
secondaryCollegeId
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 组件中使用
|
||||
const getStudentTreeData = async () => {
|
||||
try {
|
||||
const res = await getStudentTree(101);
|
||||
if (res.data.code === 200) {
|
||||
studentTreeData.value = res.data.data || [];
|
||||
} else {
|
||||
ElMessage.error(res.data.msg || '获取学生信息树失败');
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('获取学生信息树失败:', error);
|
||||
ElMessage.error('获取学生信息树失败');
|
||||
}
|
||||
};
|
||||
```
|
||||
|
||||
### 响应示例
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功",
|
||||
"data": [
|
||||
{
|
||||
"id": "college-101",
|
||||
"label": "计算机学院",
|
||||
"type": "college",
|
||||
"collegeId": 101,
|
||||
"collegeName": "计算机学院",
|
||||
"maleAssigned": 45,
|
||||
"maleTotal": 120,
|
||||
"femaleAssigned": 25,
|
||||
"femaleTotal": 60,
|
||||
"children": [
|
||||
{
|
||||
"id": "major-1001",
|
||||
"label": "计算机科学与技术",
|
||||
"type": "major",
|
||||
"collegeId": 101,
|
||||
"collegeName": "计算机学院",
|
||||
"majorId": 1001,
|
||||
"majorName": "计算机科学与技术",
|
||||
"maleAssigned": 45,
|
||||
"maleTotal": 80,
|
||||
"femaleAssigned": 15,
|
||||
"femaleTotal": 40,
|
||||
"children": [
|
||||
{
|
||||
"id": "class-10001",
|
||||
"label": "计算机科学与技术1班",
|
||||
"type": "class",
|
||||
"collegeId": 101,
|
||||
"collegeName": "计算机学院",
|
||||
"majorId": 1001,
|
||||
"majorName": "计算机科学与技术",
|
||||
"classId": 10001,
|
||||
"className": "计算机科学与技术1班",
|
||||
"grade": "2025",
|
||||
"maleAssigned": 20,
|
||||
"maleTotal": 40,
|
||||
"femaleAssigned": 10,
|
||||
"femaleTotal": 20
|
||||
},
|
||||
{
|
||||
"id": "class-10002",
|
||||
"label": "计算机科学与技术2班",
|
||||
"type": "class",
|
||||
"collegeId": 101,
|
||||
"collegeName": "计算机学院",
|
||||
"majorId": 1001,
|
||||
"majorName": "计算机科学与技术",
|
||||
"classId": 10002,
|
||||
"className": "计算机科学与技术2班",
|
||||
"grade": "2025",
|
||||
"maleAssigned": 25,
|
||||
"maleTotal": 40,
|
||||
"femaleAssigned": 5,
|
||||
"femaleTotal": 20
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### 错误响应
|
||||
```json
|
||||
{
|
||||
"code": 500,
|
||||
"msg": "获取学生信息树失败",
|
||||
"data": null
|
||||
}
|
||||
```
|
||||
|
||||
### 注意事项
|
||||
1. **权限控制**: 需要 `studentMsg:studentMsg:query` 权限
|
||||
2. **树结构**: 按学院->专业->班级的层级组织(移除年级分组)
|
||||
3. **统计信息**: 每个节点包含已分配和总数的男女生统计信息
|
||||
4. **排序规则**: 按学院ID、专业ID、班级ID顺序排列
|
||||
5. **应用场景**: 主要用于宿舍分配时显示各班级的入住统计
|
||||
6. **数据过滤**: 支持按二级学院过滤数据范围,默认为101
|
||||
7. **逻辑删除**: 查询时排除已删除的学生记录
|
||||
8. **学籍状态**: 只统计在籍学生(student_status='1')
|
||||
9. **住宿统计逻辑**:
|
||||
- **total**: 需要住宿的学生总数(is_boarder=1)
|
||||
- **assigned**: 实际已分配住宿的学生数(通过xg_dorm_bed_student表关联,status='0')
|
||||
|
||||
---
|
||||
|
||||
## 📋 更新日志
|
||||
|
||||
### 2025-01-27 - 学生信息树接口优化
|
||||
- **功能优化**: 优化 `GET /studentMsg/studentMsg/getStudentTree` 接口
|
||||
- **结构调整**: 移除年级分组,调整为学院->专业->班级的三级层级结构
|
||||
- **性能优化**: 减少嵌套层级,提升前端渲染性能
|
||||
- **统计信息**: 保持各层级男女生人数和住宿分配统计
|
||||
- **逻辑修正**: 修正住宿统计逻辑,通过xg_dorm_bed_student表准确统计已分配住宿学生数
|
||||
|
||||
### 2025-01-27 - 新增班级学生查询接口
|
||||
- **新增功能**: 新增 `GET /studentMsg/studentMsg/listByClassId` 接口
|
||||
- **功能描述**: 查询指定班级中所有在籍学生信息
|
||||
- **过滤条件**: 支持按班级ID和学生姓名查询
|
||||
- **排序方式**: 按创建时间倒序排列
|
||||
|
||||
---
|
||||
|
||||
**文档更新时间**: 2025-01-27
|
||||
**文档版本**: 1.4.0
|
||||
**维护人员**: Cursor AI
|
||||
**更新说明**:
|
||||
- 优化学生信息树接口,移除年级分组,简化层级结构
|
||||
- 新增学生信息树查询接口,支持宿舍分配场景
|
||||
- 新增高级检索导出接口文档
|
||||
- 修复高级检索导出分页限制问题
|
||||
- 之前版本:新增学生信息导入功能,完善学生信息管理API文档
|
||||
@@ -210,6 +210,7 @@
|
||||
- `phone`:手机号
|
||||
- `sex`:性别
|
||||
- `className`:班级名称
|
||||
- `classStatus`:班级状态(字典 `xg_class_status`,常用值:`0`-停用、`1`-在读)
|
||||
- **返回示例**:
|
||||
```json
|
||||
{
|
||||
@@ -220,7 +221,8 @@
|
||||
"name": "张三",
|
||||
"phone": "13800001111",
|
||||
"sex": "0",
|
||||
"className": "2025级1班"
|
||||
"className": "2025级1班",
|
||||
"classStatus": "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -228,6 +230,49 @@
|
||||
- **说明**:
|
||||
- 仅返回当前“正在教学”的班主任(班级状态为1,未删除,班主任ID有效,用户状态正常)。
|
||||
- 支持姓名和手机号的模糊查询,均为可选参数。
|
||||
- `classStatus` 字段便于前端字典渲染班级状态标签。
|
||||
|
||||
## 获取全部班主任信息(按班级状态排序)
|
||||
|
||||
- **接口路径**:`/xgStudentManager/studentManager/listAllClassTeachers`
|
||||
- **请求方式**:GET
|
||||
- **权限标识**:`xgStudentManager:studentManager:list`
|
||||
- **入参**:
|
||||
- `phone`(可选,string):手机号,模糊查询
|
||||
- `name`(可选,string):姓名,模糊查询
|
||||
- **出参**:
|
||||
- `name`:姓名
|
||||
- `phone`:手机号
|
||||
- `sex`:性别
|
||||
- `className`:班级名称
|
||||
- `classStatus`:班级状态(字典 `xg_class_status`,常用值:`0`-停用、`1`-在读等)
|
||||
- **返回示例**:
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功",
|
||||
"data": [
|
||||
{
|
||||
"name": "李老师",
|
||||
"phone": "13800002222",
|
||||
"sex": "1",
|
||||
"className": "2025级2班",
|
||||
"classStatus": "0"
|
||||
},
|
||||
{
|
||||
"name": "张老师",
|
||||
"phone": "13800003333",
|
||||
"sex": "0",
|
||||
"className": "2025级1班",
|
||||
"classStatus": "1"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
- **说明**:
|
||||
- 返回所有班主任关联的班级信息,不再限定班级状态。
|
||||
- 默认按照 `class_status` 升序、`class_name` 升序排序,便于前端分组展示。
|
||||
- 同样支持姓名和手机号的模糊查询。
|
||||
|
||||
## 4. 数据结构说明
|
||||
|
||||
|
||||
@@ -1,338 +0,0 @@
|
||||
# 班级信息管理API文档
|
||||
|
||||
## 基本信息
|
||||
|
||||
- **模块名称**: 班级信息管理
|
||||
- **接口前缀**: /classMsg
|
||||
- **权限前缀**: classMsg:classMsg:
|
||||
|
||||
## API接口列表
|
||||
|
||||
### 1. 班级信息查询接口
|
||||
|
||||
#### 1.1 获取班级信息列表
|
||||
|
||||
- **接口URL**: `/classMsg/classMsg/list`
|
||||
- **请求方式**: GET
|
||||
- **权限标识**: `classMsg:classMsg:list`
|
||||
- **请求参数**:
|
||||
|
||||
| 参数名 | 类型 | 是否必须 | 描述 |
|
||||
| -------- | ------ | -------- | ---------- |
|
||||
| pageNum | int | 是 | 页码 |
|
||||
| pageSize | int | 是 | 每页条数 |
|
||||
| collegeId| int | 否 | 学院ID |
|
||||
| majorId | int | 否 | 专业ID |
|
||||
| className| string | 否 | 班级名称 |
|
||||
| classType| int | 否 | 班级类型 |
|
||||
| grade | string | 否 | 年级 |
|
||||
| classStatus| int | 否 | 班级状态 |
|
||||
|
||||
- **返回参数**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功",
|
||||
"rows": [
|
||||
{
|
||||
"id": 1,
|
||||
"collegeId": 1001,
|
||||
"collegeName": "信息学院",
|
||||
"majorId": 2001,
|
||||
"majorName": "计算机科学与技术",
|
||||
"classCode": "CS2025-01",
|
||||
"className": "计科2025-01班",
|
||||
"classType": 1,
|
||||
"grade": "2025",
|
||||
"enrollmentYear": 2025,
|
||||
"graduationYear": 2029,
|
||||
"counselorId": 102,
|
||||
"counselorName": "李老师",
|
||||
"classTeacherId": 103,
|
||||
"classTeacherName": "张老师",
|
||||
"classStatus": 1,
|
||||
"remark": "示例班级"
|
||||
}
|
||||
],
|
||||
"total": 1
|
||||
}
|
||||
```
|
||||
|
||||
#### 1.2 获取班级信息详情
|
||||
|
||||
- **接口URL**: `/classMsg/classMsg/{id}`
|
||||
- **请求方式**: GET
|
||||
- **权限标识**: `classMsg:classMsg:query`
|
||||
- **请求参数**:
|
||||
|
||||
| 参数名 | 类型 | 是否必须 | 描述 |
|
||||
| ------ | ---- | -------- | ------- |
|
||||
| id | int | 是 | 班级ID |
|
||||
|
||||
- **返回参数**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功",
|
||||
"data": {
|
||||
"id": 1,
|
||||
"collegeId": 1001,
|
||||
"collegeName": "信息学院",
|
||||
"majorId": 2001,
|
||||
"majorName": "计算机科学与技术",
|
||||
"classCode": "CS2025-01",
|
||||
"className": "计科2025-01班",
|
||||
"classType": 1,
|
||||
"grade": "2025",
|
||||
"enrollmentYear": 2025,
|
||||
"graduationYear": 2029,
|
||||
"counselorId": 102,
|
||||
"counselorName": "李老师",
|
||||
"classTeacherId": 103,
|
||||
"classTeacherName": "张老师",
|
||||
"classStatus": 1,
|
||||
"remark": "示例班级"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### 1.3 获取当前登录人作为班主任的班级列表
|
||||
|
||||
- 接口URL: `/classMsg/classMsg/myClassListAsTeacher`
|
||||
- 请求方式: GET
|
||||
- 权限标识: `classMsg:classMsg:list`
|
||||
- 请求参数: 无
|
||||
- 返回参数:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功",
|
||||
"data": [
|
||||
{
|
||||
"id": 1,
|
||||
"className": "计科2025-01班",
|
||||
"majorId": 2001,
|
||||
"majorName": "计算机科学与技术",
|
||||
"grade": "2025",
|
||||
"classStatus": 1
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
### 2. 班级信息维护接口
|
||||
|
||||
#### 2.1 新增班级信息
|
||||
|
||||
- **接口URL**: `/classMsg/classMsg`
|
||||
- **请求方式**: POST
|
||||
- **权限标识**: `classMsg:classMsg:add`
|
||||
- **请求参数**:
|
||||
|
||||
```json
|
||||
{
|
||||
"collegeId": 1001,
|
||||
"collegeName": "信息学院",
|
||||
"majorId": 2001,
|
||||
"majorName": "计算机科学与技术",
|
||||
"classCode": "CS2025-01",
|
||||
"className": "计科2025-01班",
|
||||
"classType": 1,
|
||||
"grade": "2025",
|
||||
"enrollmentYear": 2025,
|
||||
"graduationYear": 2029,
|
||||
"classStatus": 1,
|
||||
"remark": "示例班级"
|
||||
}
|
||||
```
|
||||
|
||||
- **返回参数**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功"
|
||||
}
|
||||
```
|
||||
|
||||
#### 2.2 修改班级信息
|
||||
|
||||
- **接口URL**: `/classMsg/classMsg`
|
||||
- **请求方式**: PUT
|
||||
- **权限标识**: `classMsg:classMsg:edit`
|
||||
- **请求参数**:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 1,
|
||||
"collegeId": 1001,
|
||||
"collegeName": "信息学院",
|
||||
"majorId": 2001,
|
||||
"majorName": "计算机科学与技术",
|
||||
"classCode": "CS2025-01",
|
||||
"className": "计科2025-01班",
|
||||
"classType": 1,
|
||||
"grade": "2025",
|
||||
"enrollmentYear": 2025,
|
||||
"graduationYear": 2029,
|
||||
"classStatus": 1,
|
||||
"remark": "修改后的班级"
|
||||
}
|
||||
```
|
||||
|
||||
- **返回参数**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功"
|
||||
}
|
||||
```
|
||||
|
||||
#### 2.3 设置班主任
|
||||
|
||||
- **接口URL**: `/classMsg/classMsg`
|
||||
- **请求方式**: PUT
|
||||
- **权限标识**: `classMsg:classMsg:edit`
|
||||
- **请求参数**:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 1,
|
||||
"classTeacherId": 103,
|
||||
"classTeacherName": "张老师"
|
||||
}
|
||||
```
|
||||
|
||||
- **返回参数**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功"
|
||||
}
|
||||
```
|
||||
|
||||
#### 2.4 设置辅导员
|
||||
|
||||
- **接口URL**: `/classMsg/classMsg`
|
||||
- **请求方式**: PUT
|
||||
- **权限标识**: `classMsg:classMsg:edit`
|
||||
- **请求参数**:
|
||||
|
||||
```json
|
||||
{
|
||||
"id": 1,
|
||||
"counselorId": 102,
|
||||
"counselorName": "李老师"
|
||||
}
|
||||
```
|
||||
|
||||
- **返回参数**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功"
|
||||
}
|
||||
```
|
||||
|
||||
#### 2.5 删除班级信息
|
||||
|
||||
- **接口URL**: `/classMsg/classMsg/{ids}`
|
||||
- **请求方式**: DELETE
|
||||
- **权限标识**: `classMsg:classMsg:remove`
|
||||
- **请求参数**:
|
||||
|
||||
| 参数名 | 类型 | 是否必须 | 描述 |
|
||||
| ------ | ------ | -------- | ------------------ |
|
||||
| ids | string | 是 | 班级ID,多个用逗号分隔 |
|
||||
|
||||
- **返回参数**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功"
|
||||
}
|
||||
```
|
||||
|
||||
#### 2.6 导出班级信息
|
||||
|
||||
- **接口URL**: `/classMsg/classMsg/export`
|
||||
- **请求方式**: GET
|
||||
- **权限标识**: `classMsg:classMsg:export`
|
||||
- **请求参数**: 与查询参数相同
|
||||
- **返回参数**: 文件流
|
||||
|
||||
### 3. 班级教师关联接口
|
||||
|
||||
#### 3.1 查询有效用户列表(用于班主任/辅导员选择)
|
||||
|
||||
- **接口URL**: `/xg/sysUser/activeList`
|
||||
- **请求方式**: GET
|
||||
- **权限标识**: `xg:sysUser:list`
|
||||
- **请求参数**: 无
|
||||
- **返回参数**:
|
||||
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "操作成功",
|
||||
"data": [
|
||||
{
|
||||
"userId": 100,
|
||||
"userName": "teacher1",
|
||||
"nickName": "张老师",
|
||||
"email": "zhang@example.com",
|
||||
"phonenumber": "13800138000",
|
||||
"sex": "0",
|
||||
"status": "0",
|
||||
"deptId": 101,
|
||||
"deptName": "计算机系"
|
||||
},
|
||||
{
|
||||
"userId": 101,
|
||||
"userName": "teacher2",
|
||||
"nickName": "李老师",
|
||||
"email": "li@example.com",
|
||||
"phonenumber": "13800138001",
|
||||
"sex": "1",
|
||||
"status": "0",
|
||||
"deptId": 102,
|
||||
"deptName": "机械系"
|
||||
}
|
||||
]
|
||||
}
|
||||
```
|
||||
|
||||
## 数据字典
|
||||
|
||||
### 班级类型(classType)
|
||||
|
||||
| 编码 | 名称 |
|
||||
| ---- | ---------- |
|
||||
| 1 | 中级工 |
|
||||
| 2 | 高级工 |
|
||||
| 3 | 预备技师 |
|
||||
| 4 | 技师 |
|
||||
| 5 | 中高职一体 |
|
||||
|
||||
### 班级状态(classStatus)
|
||||
|
||||
| 编码 | 名称 |
|
||||
| ---- | ---- |
|
||||
| 1 | 正常 |
|
||||
| 2 | 暂停 |
|
||||
| 3 | 毕业 |
|
||||
| 4 | 解散 |
|
||||
|
||||
### 是否已毕业(isGraduation)
|
||||
|
||||
| 编码 | 名称 |
|
||||
| ---- | ------ |
|
||||
| 0 | 未毕业 |
|
||||
| 1 | 已毕业 |
|
||||
@@ -1,415 +0,0 @@
|
||||
# 班级干部信息管理API文档
|
||||
|
||||
## 📋 文档信息
|
||||
|
||||
| 项目 | 信息 |
|
||||
|------|------|
|
||||
| **模块名称** | 班级干部信息管理 |
|
||||
| **模块代码** | ruoyi-xg |
|
||||
| **基础路径** | `/xgClassPosMsg/xgClassPosMsg` |
|
||||
| **权限前缀** | `xgClassPosMsg:xgClassPosMsg` |
|
||||
| **版本** | V1.0.0 |
|
||||
| **创建时间** | 2025-01-27 |
|
||||
| **更新时间** | 2025-01-27 |
|
||||
|
||||
## 🎯 API概述
|
||||
|
||||
### 模块说明
|
||||
班级干部信息管理模块提供完整的班级干部信息管理功能,包括班级干部的任命、任期管理、状态跟踪等全生命周期管理,以及用户角色关联功能。
|
||||
|
||||
### 技术规范
|
||||
- **认证方式**: Bearer Token (Sa-Token)
|
||||
- **数据格式**: JSON
|
||||
- **响应格式**: 统一使用R类型或TableDataInfo分页格式
|
||||
- **权限控制**: 基于角色的权限管理(RBAC)
|
||||
|
||||
### 核心特性
|
||||
- **基础管理**: 班级干部信息的增删改查、导入导出
|
||||
- **任期管理**: 任职日期、任期时长、到期提醒
|
||||
- **状态跟踪**: 在任、到期、辞职、免职、调任、休学等状态
|
||||
- **用户角色关联**: 自动建立学生与角色的关联关系
|
||||
- **数据权限**: 支持按部门查询班级干部信息
|
||||
|
||||
## 📊 数据模型
|
||||
|
||||
### 班级干部信息VO (XgClassPosMsgVo)
|
||||
|
||||
```java
|
||||
{
|
||||
"id": 1, // 主键ID(雪花ID)
|
||||
"deleted": 0, // 删除标志(0代表存在 1代表删除)
|
||||
"classId": 101, // 班级ID,关联xg_class_msg.id
|
||||
"className": "计算机2023-1班", // 班级名称(联表查询获取)
|
||||
"studentId": 1001, // 学生ID,关联xg_student_msg.id
|
||||
"studentNo": "2023001", // 学号
|
||||
"studentName": "张三", // 学生姓名(冗余字段)
|
||||
"positionCode": "monitor", // 职务编码,关联xg_class_pos_dict.position_code
|
||||
"positionName": "班长", // 职务名称(联表查询获取)
|
||||
"appointmentDate": "2024-09-01", // 任职日期
|
||||
"termStartDate": "2024-09-01", // 任期开始日期
|
||||
"termEndDate": "2025-07-01", // 任期结束日期
|
||||
"termDuration": 10, // 任期时长(月)
|
||||
"isCurrent": 1, // 是否现任:0-否,1-是
|
||||
"cadreStatus": "1", // 学生职务任职状态:1-在任,2-到期,3-辞职,4-免职,5-调任,6-休学
|
||||
"appointmentReason": "综合表现优秀", // 任命原因
|
||||
"appointmentMethod": "appointment", // 学生职务任命方式:appointment-任命,election-选举,recommendation-推荐
|
||||
"dismissalDate": null, // 离任日期
|
||||
"dismissalReason": null, // 离任原因
|
||||
"remark": "备注信息", // 备注信息
|
||||
"createBy": 1, // 创建者
|
||||
"createTime": "2024-09-01 10:00:00", // 创建时间
|
||||
"updateBy": 1, // 更新者
|
||||
"updateTime": "2024-09-01 10:00:00" // 更新时间
|
||||
}
|
||||
```
|
||||
|
||||
## 🔧 API接口列表
|
||||
|
||||
### 1. 基础管理接口
|
||||
|
||||
#### 1.1 查询班级干部信息列表
|
||||
- **接口路径**: GET `/xgClassPosMsg/xgClassPosMsg/list`
|
||||
- **权限标识**: `xgClassPosMsg:xgClassPosMsg:list`
|
||||
- **功能描述**: 分页查询班级干部信息列表,支持按部门查询
|
||||
|
||||
**请求参数**:
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| pageNum | integer | 否 | 页码,默认1 |
|
||||
| pageSize | integer | 否 | 每页大小,默认10 |
|
||||
| deptId | long | 否 | 部门ID,用于按部门查询班级干部信息 |
|
||||
| classId | long | 否 | 班级ID |
|
||||
| studentId | long | 否 | 学生ID |
|
||||
| studentNo | string | 否 | 学号(模糊查询) |
|
||||
| studentName | string | 否 | 学生姓名(模糊查询) |
|
||||
| positionCode | string | 否 | 职务编码 |
|
||||
| appointmentDate | string | 否 | 任职日期 |
|
||||
| termStartDate | string | 否 | 任期开始日期 |
|
||||
| termEndDate | string | 否 | 任期结束日期 |
|
||||
| termDuration | integer | 否 | 任期时长(月) |
|
||||
| isCurrent | integer | 否 | 是否现任:0-否,1-是 |
|
||||
| cadreStatus | string | 否 | 学生职务任职状态 |
|
||||
| appointmentReason | string | 否 | 任命原因 |
|
||||
| appointmentMethod | string | 否 | 学生职务任命方式 |
|
||||
| dismissalDate | string | 否 | 离任日期 |
|
||||
| dismissalReason | string | 否 | 离任原因 |
|
||||
|
||||
**响应数据**:
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "查询成功",
|
||||
"rows": [
|
||||
{
|
||||
"id": 1,
|
||||
"classId": 101,
|
||||
"className": "计算机2023-1班",
|
||||
"studentId": 1001,
|
||||
"studentNo": "2023001",
|
||||
"studentName": "张三",
|
||||
"positionCode": "monitor",
|
||||
"positionName": "班长",
|
||||
"appointmentDate": "2024-09-01",
|
||||
"termStartDate": "2024-09-01",
|
||||
"termEndDate": "2025-07-01",
|
||||
"termDuration": 10,
|
||||
"isCurrent": 1,
|
||||
"cadreStatus": "1",
|
||||
"appointmentReason": "综合表现优秀",
|
||||
"appointmentMethod": "appointment",
|
||||
"createTime": "2024-09-01 10:00:00"
|
||||
}
|
||||
],
|
||||
"total": 1
|
||||
}
|
||||
```
|
||||
|
||||
#### 1.2 获取班级干部信息详情
|
||||
- **接口路径**: GET `/xgClassPosMsg/xgClassPosMsg/{id}`
|
||||
- **权限标识**: `xgClassPosMsg:xgClassPosMsg:query`
|
||||
- **功能描述**: 根据主键获取班级干部信息详细信息
|
||||
|
||||
**请求参数**:
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| id | long | 是 | 主键ID |
|
||||
|
||||
**响应数据**:
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "查询成功",
|
||||
"data": {
|
||||
"id": 1,
|
||||
"classId": 101,
|
||||
"className": "计算机2023-1班",
|
||||
"studentId": 1001,
|
||||
"studentNo": "2023001",
|
||||
"studentName": "张三",
|
||||
"positionCode": "monitor",
|
||||
"positionName": "班长",
|
||||
"appointmentDate": "2024-09-01",
|
||||
"termStartDate": "2024-09-01",
|
||||
"termEndDate": "2025-07-01",
|
||||
"termDuration": 10,
|
||||
"isCurrent": 1,
|
||||
"cadreStatus": "1",
|
||||
"appointmentReason": "综合表现优秀",
|
||||
"appointmentMethod": "appointment",
|
||||
"dismissalDate": null,
|
||||
"dismissalReason": null,
|
||||
"remark": "备注信息",
|
||||
"createTime": "2024-09-01 10:00:00",
|
||||
"updateTime": "2024-09-01 10:00:00"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
#### 1.3 新增班级干部信息
|
||||
- **接口路径**: POST `/xgClassPosMsg/xgClassPosMsg`
|
||||
- **权限标识**: `xgClassPosMsg:xgClassPosMsg:add`
|
||||
- **功能描述**: 新增班级干部信息,同时自动建立用户角色关联
|
||||
|
||||
**请求参数**:
|
||||
```json
|
||||
{
|
||||
"classId": 101,
|
||||
"studentId": 1001,
|
||||
"studentNo": "2023001",
|
||||
"studentName": "张三",
|
||||
"positionCode": "monitor",
|
||||
"appointmentDate": "2024-09-01",
|
||||
"termStartDate": "2024-09-01",
|
||||
"termEndDate": "2025-07-01",
|
||||
"termDuration": 10,
|
||||
"isCurrent": 1,
|
||||
"cadreStatus": "1",
|
||||
"appointmentReason": "综合表现优秀",
|
||||
"appointmentMethod": "appointment",
|
||||
"remark": "备注信息"
|
||||
}
|
||||
```
|
||||
|
||||
**响应数据**:
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "新增成功"
|
||||
}
|
||||
```
|
||||
|
||||
**重要说明**:
|
||||
- 新增班级干部信息时,系统会自动向 `sys_user_role` 表插入一条数据
|
||||
- `user_id` = 当前记录的 `studentId`
|
||||
- `role_id` = 当前记录的 `id`(班级干部信息ID)
|
||||
- 此操作在事务中进行,确保数据一致性
|
||||
|
||||
#### 1.4 修改班级干部信息
|
||||
- **接口路径**: PUT `/xgClassPosMsg/xgClassPosMsg`
|
||||
- **权限标识**: `xgClassPosMsg:xgClassPosMsg:edit`
|
||||
- **功能描述**: 修改班级干部信息
|
||||
|
||||
**请求参数**:
|
||||
```json
|
||||
{
|
||||
"id": 1,
|
||||
"classId": 101,
|
||||
"studentId": 1001,
|
||||
"studentNo": "2023001",
|
||||
"studentName": "张三",
|
||||
"positionCode": "monitor",
|
||||
"appointmentDate": "2024-09-01",
|
||||
"termStartDate": "2024-09-01",
|
||||
"termEndDate": "2025-07-01",
|
||||
"termDuration": 10,
|
||||
"isCurrent": 1,
|
||||
"cadreStatus": "1",
|
||||
"appointmentReason": "综合表现优秀",
|
||||
"appointmentMethod": "appointment",
|
||||
"remark": "修改后的备注信息"
|
||||
}
|
||||
```
|
||||
|
||||
**响应数据**:
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "修改成功"
|
||||
}
|
||||
```
|
||||
|
||||
#### 1.5 删除班级干部信息
|
||||
- **接口路径**: DELETE `/xgClassPosMsg/xgClassPosMsg/{ids}`
|
||||
- **权限标识**: `xgClassPosMsg:xgClassPosMsg:remove`
|
||||
- **功能描述**: 删除班级干部信息(支持批量删除),同时删除对应的用户角色关联
|
||||
|
||||
**请求参数**:
|
||||
| 参数名 | 类型 | 必填 | 说明 |
|
||||
|--------|------|------|------|
|
||||
| ids | string | 是 | 主键ID,多个用逗号分隔 |
|
||||
|
||||
**响应数据**:
|
||||
```json
|
||||
{
|
||||
"code": 200,
|
||||
"msg": "删除成功"
|
||||
}
|
||||
```
|
||||
|
||||
**重要说明**:
|
||||
- 删除班级干部信息时,系统会自动删除 `sys_user_role` 表中对应的角色关联
|
||||
- 删除操作会先清理关联数据,再删除主数据
|
||||
- 此操作在事务中进行,确保数据一致性
|
||||
|
||||
#### 1.6 导出班级干部信息
|
||||
- **接口路径**: POST `/xgClassPosMsg/xgClassPosMsg/export`
|
||||
- **权限标识**: `xgClassPosMsg:xgClassPosMsg:export`
|
||||
- **功能描述**: 导出班级干部信息列表
|
||||
|
||||
**请求参数**: 同列表查询参数
|
||||
|
||||
**响应数据**: Excel文件下载
|
||||
|
||||
## 🔐 用户角色关联功能
|
||||
|
||||
### 功能说明
|
||||
班级干部信息管理模块集成了用户角色关联功能,确保班级干部信息与系统权限管理的一致性。
|
||||
|
||||
### 关联规则
|
||||
1. **新增关联**: 新增班级干部信息时,自动建立用户角色关联
|
||||
- `sys_user_role.user_id` = `xg_class_pos_msg.student_id`
|
||||
- `sys_user_role.role_id` = `xg_class_pos_msg.id`
|
||||
|
||||
2. **删除关联**: 删除班级干部信息时,自动删除对应的用户角色关联
|
||||
- 根据 `role_id` 删除 `sys_user_role` 表中的记录
|
||||
|
||||
### 事务处理
|
||||
- 所有用户角色关联操作都在事务中进行
|
||||
- 关联操作失败不会影响主业务流程,但会记录警告日志
|
||||
- 使用 `@Transactional(rollbackFor = Exception.class)` 确保数据一致性
|
||||
|
||||
### 异常处理
|
||||
- 用户角色关联操作异常会被捕获并记录日志
|
||||
- 不会抛出异常影响主业务流程
|
||||
- 通过日志记录操作结果和异常信息
|
||||
|
||||
## 📝 数据字典
|
||||
|
||||
### 学生职务任职状态 (cadre_status)
|
||||
| 编码 | 名称 | 说明 |
|
||||
|------|------|------|
|
||||
| 1 | 在任 | 正常任职状态 |
|
||||
| 2 | 到期 | 任期已结束 |
|
||||
| 3 | 辞职 | 主动辞职 |
|
||||
| 4 | 免职 | 被免职 |
|
||||
| 5 | 调任 | 调任其他职务 |
|
||||
| 6 | 休学 | 因休学暂停职务 |
|
||||
|
||||
### 学生职务任命方式 (appointment_method)
|
||||
| 编码 | 名称 | 说明 |
|
||||
|------|------|------|
|
||||
| appointment | 任命 | 直接任命 |
|
||||
| election | 选举 | 通过选举产生 |
|
||||
| recommendation | 推荐 | 通过推荐产生 |
|
||||
|
||||
### 是否现任 (is_current)
|
||||
| 编码 | 名称 | 说明 |
|
||||
|------|------|------|
|
||||
| 0 | 否 | 非现任职务 |
|
||||
| 1 | 是 | 现任职务 |
|
||||
|
||||
## 🔒 权限说明
|
||||
|
||||
### 权限标识列表
|
||||
|
||||
| 权限标识 | 权限名称 | 说明 |
|
||||
|----------|----------|------|
|
||||
| xgClassPosMsg:xgClassPosMsg:list | 班级干部信息列表 | 查看班级干部信息列表 |
|
||||
| xgClassPosMsg:xgClassPosMsg:query | 班级干部信息查询 | 查询班级干部信息详情 |
|
||||
| xgClassPosMsg:xgClassPosMsg:add | 班级干部信息新增 | 新增班级干部信息 |
|
||||
| xgClassPosMsg:xgClassPosMsg:edit | 班级干部信息修改 | 修改班级干部信息 |
|
||||
| xgClassPosMsg:xgClassPosMsg:remove | 班级干部信息删除 | 删除班级干部信息 |
|
||||
| xgClassPosMsg:xgClassPosMsg:export | 班级干部信息导出 | 导出班级干部信息 |
|
||||
|
||||
### 数据权限
|
||||
- 支持按部门查询班级干部信息
|
||||
- 通过 `deptId` 参数控制数据权限范围
|
||||
- 自动包含子部门的数据
|
||||
|
||||
## 🚨 错误码说明
|
||||
|
||||
| 错误码 | 错误信息 | 说明 |
|
||||
|--------|----------|------|
|
||||
| 40001 | 学生不存在 | 指定的学生ID不存在 |
|
||||
| 40002 | 班级不存在 | 指定的班级ID不存在 |
|
||||
| 40003 | 职务不存在 | 指定的职务编码不存在 |
|
||||
| 40004 | 学生已担任该职务 | 学生已经担任该职务 |
|
||||
| 40005 | 班级干部记录不存在 | 指定的班级干部记录不存在 |
|
||||
| 40006 | 操作权限不足 | 当前用户没有操作权限 |
|
||||
| 40007 | 数据校验失败 | 提交的数据不符合规则 |
|
||||
| 40008 | 用户角色关联失败 | 用户角色关联操作失败 |
|
||||
|
||||
## 📋 使用示例
|
||||
|
||||
### 1. 查询班级干部信息
|
||||
```javascript
|
||||
// 查询指定部门的班级干部信息
|
||||
const response = await api.get('/xgClassPosMsg/xgClassPosMsg/list', {
|
||||
params: {
|
||||
deptId: 101,
|
||||
pageNum: 1,
|
||||
pageSize: 10
|
||||
}
|
||||
});
|
||||
console.log(response.data);
|
||||
```
|
||||
|
||||
### 2. 新增班级干部
|
||||
```javascript
|
||||
// 新增班级干部信息
|
||||
const addData = {
|
||||
classId: 101,
|
||||
studentId: 1001,
|
||||
studentNo: "2023001",
|
||||
studentName: "张三",
|
||||
positionCode: "monitor",
|
||||
appointmentDate: "2024-09-01",
|
||||
termStartDate: "2024-09-01",
|
||||
termEndDate: "2025-07-01",
|
||||
termDuration: 10,
|
||||
isCurrent: 1,
|
||||
cadreStatus: "1",
|
||||
appointmentReason: "综合表现优秀",
|
||||
appointmentMethod: "appointment"
|
||||
};
|
||||
const response = await api.post('/xgClassPosMsg/xgClassPosMsg', addData);
|
||||
```
|
||||
|
||||
### 3. 删除班级干部
|
||||
```javascript
|
||||
// 删除班级干部信息
|
||||
const response = await api.delete('/xgClassPosMsg/xgClassPosMsg/1,2,3');
|
||||
```
|
||||
|
||||
## ⚠️ 注意事项
|
||||
|
||||
1. **数据一致性**: 班级干部信息与用户角色关联保持一致
|
||||
2. **权限控制**: 严格按照角色权限进行操作控制
|
||||
3. **事务管理**: 所有关联操作都在事务中进行
|
||||
4. **任期管理**: 注意任期时间的合理性和连续性
|
||||
5. **状态管理**: 正确维护班级干部的任职状态
|
||||
6. **并发控制**: 防止同时操作导致的数据冲突
|
||||
7. **日志记录**: 重要操作都会记录详细日志
|
||||
|
||||
## 📈 更新日志
|
||||
|
||||
| 版本 | 日期 | 更新内容 |
|
||||
|------|------|----------|
|
||||
| V1.0.0 | 2025-01-27 | 初始版本,完整的班级干部信息管理API |
|
||||
| V1.0.1 | 2025-01-27 | 新增用户角色关联功能 |
|
||||
|
||||
---
|
||||
|
||||
**文档维护**: Cursor AI 辅助
|
||||
**最后更新**: 2025-01-27
|
||||
**文档状态**: 已完成
|
||||
@@ -37,6 +37,24 @@ export function updateClassMsg(data: ClassMsgForm) {
|
||||
});
|
||||
}
|
||||
|
||||
// 仅更新班级状态
|
||||
export function updateClassStatus(data: { id: string | number; classStatus: string | number }) {
|
||||
return request({
|
||||
url: '/classMsg/classMsg/status',
|
||||
method: 'put',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
// 批量仅更新班级状态
|
||||
export function updateClassStatusBatch(data: { ids: Array<string | number>; classStatus: string | number }) {
|
||||
return request({
|
||||
url: '/classMsg/classMsg/status/batch',
|
||||
method: 'put',
|
||||
data
|
||||
});
|
||||
}
|
||||
|
||||
// 删除班级信息-新版
|
||||
export function delClassMsg(id: string | number) {
|
||||
return request({
|
||||
|
||||
@@ -8,6 +8,7 @@ export interface XgDeptTreeVO extends BaseEntity {
|
||||
weight: number;
|
||||
children: XgDeptTreeVO[];
|
||||
disabled: boolean;
|
||||
deptCategory?: string; // 部门类别编码(如 'bj-xxx' 表示班级)
|
||||
}
|
||||
|
||||
// 学生查询参数
|
||||
|
||||
@@ -93,3 +93,15 @@ export const listActiveClassTeachers = (params: { phone?: string; name?: string
|
||||
params
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* 获取全部班主任信息(按班级状态排序)
|
||||
* @param params 包含 phone 和 name 字段
|
||||
*/
|
||||
export const listAllClassTeachers = (params: { phone?: string; name?: string }) => {
|
||||
return request({
|
||||
url: '/xgStudentManager/studentManager/listAllClassTeachers',
|
||||
method: 'get',
|
||||
params
|
||||
});
|
||||
};
|
||||
@@ -59,6 +59,27 @@
|
||||
>删除</el-button
|
||||
>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="CircleCheck"
|
||||
:disabled="multiple"
|
||||
@click="handleBatchGraduate"
|
||||
v-hasPermi="['classMsg:classMsg:edit']"
|
||||
>毕业</el-button
|
||||
>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="warning" plain icon="VideoPause" :disabled="multiple" @click="handleBatchPause" v-hasPermi="['classMsg:classMsg:edit']"
|
||||
>暂停</el-button
|
||||
>
|
||||
</el-col>
|
||||
<el-col :span="1.5">
|
||||
<el-button type="danger" plain icon="CloseBold" :disabled="multiple" @click="handleBatchDissolve" v-hasPermi="['classMsg:classMsg:edit']"
|
||||
>解散</el-button
|
||||
>
|
||||
</el-col>
|
||||
<!-- <el-col :span="1.5">
|
||||
<el-button type="warning" plain icon="Download" @click="handleExport" v-hasPermi="['classMsg:classMsg:export']">导出</el-button>
|
||||
</el-col> -->
|
||||
@@ -286,7 +307,7 @@
|
||||
<el-form-item label="班级规章制度" prop="classRules" v-if="false">
|
||||
<el-input v-model="form.classRules" type="textarea" placeholder="请输入内容" />
|
||||
</el-form-item>
|
||||
<el-form-item label="班级状态" prop="classStatus" v-if="false">
|
||||
<el-form-item label="班级状态" prop="classStatus">
|
||||
<el-select v-model="form.classStatus" placeholder="请选择班级状态" style="width: 100%">
|
||||
<!-- <el-option label="正常" :value="1" />
|
||||
<el-option label="暂停" :value="2" />
|
||||
@@ -413,7 +434,15 @@
|
||||
</template>
|
||||
|
||||
<script setup name="ClassMsg" lang="ts">
|
||||
import { listClassMsg, getClassMsg, delClassMsg, addClassMsg, updateClassMsg } from '@/api/xg/xsjcxx/classmsg/classMsg';
|
||||
import {
|
||||
listClassMsg,
|
||||
getClassMsg,
|
||||
delClassMsg,
|
||||
addClassMsg,
|
||||
updateClassMsg,
|
||||
updateClassStatus,
|
||||
updateClassStatusBatch
|
||||
} from '@/api/xg/xsjcxx/classmsg/classMsg';
|
||||
import { listColleges, collegeTree, listMajorsByCollegeId } from '@/api/xg/xsjcxx/classmsg/college';
|
||||
import { ClassMsgVO, ClassMsgQuery, ClassMsgForm, SysDeptVo } from '@/api/xg/xsjcxx/classmsg/types';
|
||||
import { ComponentInternalInstance, ref, reactive, toRefs, onMounted, getCurrentInstance, watch } from 'vue';
|
||||
@@ -528,7 +557,7 @@ const initFormData: ClassMsgForm = {
|
||||
classMonitorName: undefined,
|
||||
deputyMonitorId: undefined,
|
||||
deputyMonitorName: undefined,
|
||||
classStatus: 1,
|
||||
classStatus: '1',
|
||||
isGraduation: '0',
|
||||
graduationDate: undefined,
|
||||
plannedCapacity: undefined,
|
||||
@@ -575,6 +604,7 @@ const data = reactive<PageData<ClassMsgForm, ClassMsgQuery>>({
|
||||
enrollmentYear: [{ required: true, message: '入学年份不能为空', trigger: 'blur' }],
|
||||
majorId: [{ required: true, message: '专业不能为空', trigger: 'blur' }],
|
||||
classType: [{ required: true, message: '学历层级不能为空', trigger: 'blur' }],
|
||||
classStatus: [{ required: true, message: '班级状态不能为空', trigger: 'change' }],
|
||||
schoolSystem: [{ required: true, message: '学制(年)不能为空', trigger: 'blur' }],
|
||||
graduationYear: [{ required: true, message: '毕业年份不能为空', trigger: 'blur' }],
|
||||
collegeId: [{ required: true, message: '学院不能为空', trigger: 'blur' }]
|
||||
@@ -587,7 +617,7 @@ const { queryParams, form, rules } = toRefs(data);
|
||||
const getList = async () => {
|
||||
loading.value = true;
|
||||
const res = await listClassMsg(queryParams.value);
|
||||
classMsgList.value = res.rows;
|
||||
classMsgList.value = res.rows || [];
|
||||
total.value = res.total;
|
||||
loading.value = false;
|
||||
};
|
||||
@@ -722,14 +752,25 @@ const handleUpdate = async (row?: ClassMsgVO) => {
|
||||
console.log(res);
|
||||
Object.assign(form.value, res.data);
|
||||
|
||||
// 确保classType是数字类型
|
||||
if (form.value.classType !== undefined) {
|
||||
// 确保classType是字符串类型,null时设置为undefined
|
||||
if (form.value.classType !== undefined && form.value.classType !== null) {
|
||||
form.value.classType = String(form.value.classType);
|
||||
} else {
|
||||
form.value.classType = undefined;
|
||||
}
|
||||
|
||||
// 确保isGraduation是字符串类型
|
||||
if (form.value.isGraduation !== undefined) {
|
||||
// 确保isGraduation是字符串类型,null时设置为undefined
|
||||
if (form.value.isGraduation !== undefined && form.value.isGraduation !== null) {
|
||||
form.value.isGraduation = String(form.value.isGraduation);
|
||||
} else {
|
||||
form.value.isGraduation = undefined;
|
||||
}
|
||||
|
||||
// 确保classStatus是字符串类型,null时设置为undefined
|
||||
if (form.value.classStatus !== undefined && form.value.classStatus !== null) {
|
||||
form.value.classStatus = String(form.value.classStatus);
|
||||
} else {
|
||||
form.value.classStatus = undefined;
|
||||
}
|
||||
|
||||
// 获取该学院下的专业列表
|
||||
@@ -780,6 +821,55 @@ const handleDelete = async (row?: ClassMsgVO) => {
|
||||
await getList();
|
||||
};
|
||||
|
||||
/** 批量状态更新通用方法 */
|
||||
const handleBatchChangeStatus = async (status: '2' | '3' | '4', actionLabel: string) => {
|
||||
// 选中名称用于确认提示
|
||||
const classNames =
|
||||
classMsgList.value
|
||||
.filter((item) => ids.value.includes(item.id))
|
||||
.map((item) => item.className)
|
||||
.join('、') || '';
|
||||
|
||||
await proxy?.$modal.confirm(`是否将班级「${classNames}」批量设置为【${actionLabel}】?`).finally(() => (loading.value = false));
|
||||
|
||||
buttonLoading.value = true;
|
||||
try {
|
||||
// 批量更新所选班级状态(后端单次处理)
|
||||
await updateClassStatusBatch({ ids: ids.value, classStatus: status });
|
||||
proxy?.$modal.msgSuccess(`${actionLabel}操作成功`);
|
||||
await getList();
|
||||
} finally {
|
||||
buttonLoading.value = false;
|
||||
}
|
||||
};
|
||||
|
||||
/** 批量设置为毕业 */
|
||||
const handleBatchGraduate = async () => {
|
||||
if (!ids.value || ids.value.length === 0) {
|
||||
proxy?.$modal.msgWarning('请先勾选需要操作的班级');
|
||||
return;
|
||||
}
|
||||
await handleBatchChangeStatus('3', '毕业');
|
||||
};
|
||||
|
||||
/** 批量设置为暂停 */
|
||||
const handleBatchPause = async () => {
|
||||
if (!ids.value || ids.value.length === 0) {
|
||||
proxy?.$modal.msgWarning('请先勾选需要操作的班级');
|
||||
return;
|
||||
}
|
||||
await handleBatchChangeStatus('2', '暂停');
|
||||
};
|
||||
|
||||
/** 批量设置为解散 */
|
||||
const handleBatchDissolve = async () => {
|
||||
if (!ids.value || ids.value.length === 0) {
|
||||
proxy?.$modal.msgWarning('请先勾选需要操作的班级');
|
||||
return;
|
||||
}
|
||||
await handleBatchChangeStatus('4', '解散');
|
||||
};
|
||||
|
||||
/** 导出按钮操作 */
|
||||
const handleExport = () => {
|
||||
proxy?.download(
|
||||
|
||||
@@ -1,14 +1,21 @@
|
||||
<template>
|
||||
<el-dialog :title="getScopeDialogTitle(type)" v-model="visible" width="600px" append-to-body destroy-on-close>
|
||||
<el-form :model="form" label-width="100px">
|
||||
<el-form-item :label="getScopeName(type)">
|
||||
<el-form-item :label="getScopeName(type)" class="scope-form-item">
|
||||
<div v-if="loading" class="loading-container">
|
||||
<el-icon class="is-loading"><Loading /></el-icon>
|
||||
<span>加载中...</span>
|
||||
</div>
|
||||
<div v-else-if="type === 'custom'">
|
||||
<!-- 过滤按钮区域 -->
|
||||
<div class="filter-buttons">
|
||||
<el-radio-group v-model="classStatusFilter" size="small" @change="handleFilterChange">
|
||||
<el-radio-button label="all">全部</el-radio-button>
|
||||
<el-radio-button label="normal">正常</el-radio-button>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
<el-tree
|
||||
:data="scopeOptions.custom"
|
||||
:data="filteredTreeData"
|
||||
show-checkbox
|
||||
node-key="id"
|
||||
:default-checked-keys="form.selectedScopes"
|
||||
@@ -25,12 +32,36 @@
|
||||
padding: 10px;
|
||||
box-sizing: border-box;
|
||||
"
|
||||
/>
|
||||
>
|
||||
<template #default="{ data }">
|
||||
<span class="scope-node">
|
||||
<span class="scope-label">{{ data.label }}</span>
|
||||
<dict-tag
|
||||
v-if="isClassNode(data) && data.classStatus !== undefined && data.classStatus !== null && data.classStatus !== ''"
|
||||
:options="classStatusOptions"
|
||||
:value="data.classStatus"
|
||||
class="scope-tag"
|
||||
/>
|
||||
<!-- 调试信息(开发时可见,生产环境可删除) -->
|
||||
<!-- <span v-if="isClassNode(data)" style="font-size: 10px; color: #999; margin-left: 4px;">
|
||||
[{{ data.deptCategory }}|{{ data.classStatus || '无状态' }}]
|
||||
</span> -->
|
||||
</span>
|
||||
</template>
|
||||
</el-tree>
|
||||
</div>
|
||||
<div v-else-if="type === 'teacher'">
|
||||
<el-checkbox-group v-model="form.selectedScopes">
|
||||
<el-checkbox v-for="item in scopeOptions.teacher" :key="item.id" :label="item.id">
|
||||
{{ item.label }}
|
||||
<span class="scope-checkbox-label">
|
||||
<span>{{ item.label }}</span>
|
||||
<dict-tag
|
||||
v-if="isClassNode(item) && item.classStatus !== undefined && item.classStatus !== null"
|
||||
:options="classStatusOptions"
|
||||
:value="item.classStatus"
|
||||
class="scope-tag"
|
||||
/>
|
||||
</span>
|
||||
</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
</div>
|
||||
@@ -46,11 +77,12 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, computed, watch, onMounted } from 'vue';
|
||||
import { ref, reactive, computed, watch, getCurrentInstance, toRefs } from 'vue';
|
||||
import { ElMessage } from 'element-plus';
|
||||
import { Loading } from '@element-plus/icons-vue';
|
||||
import axios from 'axios';
|
||||
import request from '@/utils/request';
|
||||
import { listClassMsg } from '@/api/xg/xsjcxx/classMsg/classMsg';
|
||||
import type { ClassMsgQuery, ClassMsgVO } from '@/api/xg/xsjcxx/classMsg/types';
|
||||
|
||||
const props = defineProps({
|
||||
modelValue: {
|
||||
@@ -69,6 +101,22 @@ const props = defineProps({
|
||||
|
||||
const emit = defineEmits(['update:modelValue', 'submit']);
|
||||
|
||||
const { proxy } = getCurrentInstance() as any;
|
||||
const { xg_class_status } = toRefs<any>(proxy?.useDict('xg_class_status') || {});
|
||||
const classStatusOptions = computed(() => {
|
||||
const options = xg_class_status?.value || [];
|
||||
// 调试日志:检查字典数据是否加载
|
||||
if (options.length === 0) {
|
||||
console.warn('[班级状态] 字典数据未加载,xg_class_status 为空');
|
||||
} else {
|
||||
console.log(`[班级状态] 字典数据已加载,共 ${options.length} 个选项`);
|
||||
}
|
||||
return options;
|
||||
});
|
||||
|
||||
const classStatusCache = new Map<string, string>();
|
||||
let classStatusLoaded = false;
|
||||
|
||||
// 计算属性:对话框可见性
|
||||
const visible = computed({
|
||||
get: () => props.modelValue,
|
||||
@@ -81,6 +129,12 @@ const scopeOptions = reactive({
|
||||
teacher: [] as any[]
|
||||
});
|
||||
|
||||
// 原始树数据(未过滤)
|
||||
const originalTreeData = ref<any[]>([]);
|
||||
|
||||
// 班级状态过滤:'all' 全部, 'normal' 正常
|
||||
const classStatusFilter = ref<'all' | 'normal'>('all');
|
||||
|
||||
// 加载状态
|
||||
const loading = ref(false);
|
||||
|
||||
@@ -101,12 +155,127 @@ async function fetchDeptTree() {
|
||||
}
|
||||
});
|
||||
if (response && response.code === 200) {
|
||||
// custom类型直接使用树形结构
|
||||
const rawData = response.data || [];
|
||||
|
||||
// 调试:递归收集所有叶子节点(可能是班级节点)
|
||||
function collectLeafNodes(nodes: any[], path = '', depth = 0): any[] {
|
||||
const results: any[] = [];
|
||||
nodes.forEach((node) => {
|
||||
const currentPath = path ? `${path} > ${node.label}` : node.label;
|
||||
const isLeaf = !node.children || node.children.length === 0;
|
||||
|
||||
if (isLeaf) {
|
||||
// 收集所有字段,看看deptCategory在哪里
|
||||
results.push({
|
||||
path: currentPath,
|
||||
depth: depth,
|
||||
id: node.id,
|
||||
label: node.label,
|
||||
// 检查所有可能的字段位置
|
||||
deptCategory: node.deptCategory,
|
||||
dept_category: node.dept_category,
|
||||
params: node.params,
|
||||
// 打印节点的所有键,看看还有什么字段
|
||||
allKeys: Object.keys(node),
|
||||
// 打印完整节点(限制深度避免过多输出)
|
||||
fullNode: depth >= 3 ? node : undefined
|
||||
});
|
||||
}
|
||||
|
||||
if (node.children && node.children.length > 0) {
|
||||
results.push(...collectLeafNodes(node.children, currentPath, depth + 1));
|
||||
}
|
||||
});
|
||||
return results;
|
||||
}
|
||||
|
||||
const leafNodes = collectLeafNodes(rawData);
|
||||
console.log(`[叶子节点统计] 找到 ${leafNodes.length} 个叶子节点(可能是班级)`);
|
||||
console.log('[叶子节点示例] 前10个叶子节点的完整结构:', leafNodes.slice(0, 10));
|
||||
|
||||
// 调试:查找所有可能的班级节点(检查所有字段和位置)
|
||||
function findClassNodes(nodes: any[], path = ''): any[] {
|
||||
const results: any[] = [];
|
||||
nodes.forEach((node) => {
|
||||
const currentPath = path ? `${path} > ${node.label}` : node.label;
|
||||
|
||||
// 检查所有可能的字段位置
|
||||
const category =
|
||||
node.deptCategory ?? node.dept_category ?? node.params?.deptCategory ?? node.data?.deptCategory ?? node.data?.dept_category;
|
||||
|
||||
// 检查是否是班级节点(多种可能的格式)
|
||||
const isClass =
|
||||
category &&
|
||||
typeof category === 'string' &&
|
||||
(category.toLowerCase().startsWith('bj-') || category.toLowerCase().includes('class') || category.toLowerCase().includes('班级'));
|
||||
|
||||
if (isClass) {
|
||||
results.push({
|
||||
path: currentPath,
|
||||
id: node.id,
|
||||
label: node.label,
|
||||
category: category,
|
||||
deptCategory: node.deptCategory,
|
||||
dept_category: node.dept_category,
|
||||
params: node.params,
|
||||
data: node.data
|
||||
});
|
||||
}
|
||||
|
||||
if (node.children && node.children.length > 0) {
|
||||
results.push(...findClassNodes(node.children, currentPath));
|
||||
}
|
||||
});
|
||||
return results;
|
||||
}
|
||||
const foundClassNodes = findClassNodes(rawData);
|
||||
console.log(`[班级节点查找] 找到 ${foundClassNodes.length} 个可能的班级节点:`, foundClassNodes.slice(0, 10));
|
||||
|
||||
// 如果没找到,尝试通过节点名称模式识别(如"西餐运营251"这种格式)
|
||||
if (foundClassNodes.length === 0) {
|
||||
console.log('[调试] 未通过deptCategory找到班级节点,尝试通过节点名称模式识别...');
|
||||
const namePatternNodes = leafNodes.filter((node) => {
|
||||
// 匹配类似"西餐运营251"、"中烹252"这种格式(名称+数字)
|
||||
const nameMatch = /^.+?\d{3}$/.test(node.label);
|
||||
return nameMatch;
|
||||
});
|
||||
console.log(`[名称模式匹配] 找到 ${namePatternNodes.length} 个符合"名称+3位数字"格式的节点:`, namePatternNodes.slice(0, 10));
|
||||
}
|
||||
|
||||
// 先加载班级状态缓存
|
||||
await ensureClassStatusCache();
|
||||
// 增强节点数据(添加班级状态)
|
||||
const enhancedTree = enhanceDeptNodes(rawData);
|
||||
|
||||
// 调试:统计增强后的班级节点数量
|
||||
let classNodeCount = 0;
|
||||
let classNodeWithStatusCount = 0;
|
||||
function countClassNodes(nodes: any[]) {
|
||||
nodes.forEach((node) => {
|
||||
// 使用 isClassNode 函数判断(支持两种方式:deptCategory字段 或 名称模式)
|
||||
if (isClassNode(node)) {
|
||||
classNodeCount++;
|
||||
if (node.classStatus) {
|
||||
classNodeWithStatusCount++;
|
||||
}
|
||||
}
|
||||
if (node.children && node.children.length > 0) {
|
||||
countClassNodes(node.children);
|
||||
}
|
||||
});
|
||||
}
|
||||
countClassNodes(enhancedTree);
|
||||
console.log(`[班级状态统计] 总班级节点: ${classNodeCount}, 有状态的节点: ${classNodeWithStatusCount}`);
|
||||
|
||||
// 保存原始树数据
|
||||
originalTreeData.value = enhancedTree;
|
||||
|
||||
if (props.type === 'custom') {
|
||||
scopeOptions.custom = response.data || [];
|
||||
scopeOptions.custom = enhancedTree;
|
||||
} else if (props.type === 'teacher') {
|
||||
// teacher类型仍可用扁平化
|
||||
scopeOptions.teacher = flattenTreeData(response.data || []);
|
||||
scopeOptions.teacher = flattenTreeData(enhancedTree);
|
||||
} else {
|
||||
scopeOptions.custom = enhancedTree;
|
||||
}
|
||||
}
|
||||
} catch (error) {
|
||||
@@ -125,7 +294,9 @@ function flattenTreeData(treeData: any[]): any[] {
|
||||
nodes.forEach((node) => {
|
||||
result.push({
|
||||
id: node.id,
|
||||
label: node.label
|
||||
label: node.label,
|
||||
deptCategory: node.deptCategory,
|
||||
classStatus: node.classStatus
|
||||
});
|
||||
|
||||
if (node.children && node.children.length > 0) {
|
||||
@@ -138,6 +309,130 @@ function flattenTreeData(treeData: any[]): any[] {
|
||||
return result;
|
||||
}
|
||||
|
||||
async function ensureClassStatusCache() {
|
||||
if (classStatusLoaded) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
const params: ClassMsgQuery = {
|
||||
pageNum: 1,
|
||||
pageSize: 9999,
|
||||
params: {}
|
||||
};
|
||||
const res = await listClassMsg(params);
|
||||
const rows: ClassMsgVO[] = res?.rows || [];
|
||||
|
||||
// 建立缓存映射:sys_dept.dept_id = xg_class_msg.id -> class_status
|
||||
rows.forEach((item) => {
|
||||
const status = item?.classStatus;
|
||||
if (status === null || status === undefined || status === '') {
|
||||
return;
|
||||
}
|
||||
const statusStr = String(status);
|
||||
// 关联关系:sys_dept.dept_id = xg_class_msg.id
|
||||
// 所以使用 xg_class_msg.id 作为 key,对应 sys_dept.dept_id
|
||||
if (item.id !== undefined && item.id !== null) {
|
||||
classStatusCache.set(`deptId:${String(item.id)}`, statusStr);
|
||||
}
|
||||
});
|
||||
classStatusLoaded = true;
|
||||
console.log(`[班级状态缓存] 加载完成,共 ${classStatusCache.size} 条记录`);
|
||||
// 调试:打印前5条缓存记录
|
||||
if (classStatusCache.size > 0) {
|
||||
const sampleKeys = Array.from(classStatusCache.keys()).slice(0, 5);
|
||||
console.log(
|
||||
'[班级状态缓存] 示例记录:',
|
||||
sampleKeys.map((key) => ({ key, status: classStatusCache.get(key) }))
|
||||
);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('加载班级状态失败:', error);
|
||||
ElMessage.warning('加载班级状态失败,班级状态标签可能无法显示');
|
||||
}
|
||||
}
|
||||
|
||||
function enhanceDeptNodes(nodes: any[]): any[] {
|
||||
return (nodes || []).map((node) => {
|
||||
const enhanced = { ...node };
|
||||
const category = enhanced.deptCategory ?? enhanced.dept_category ?? enhanced.params?.deptCategory;
|
||||
if (category) {
|
||||
enhanced.deptCategory = category;
|
||||
}
|
||||
|
||||
// 判断是否是班级节点(支持两种方式:deptCategory字段 或 名称模式)
|
||||
const isClass = isClassNode(enhanced);
|
||||
const status = resolveClassStatus(enhanced);
|
||||
|
||||
if (status) {
|
||||
enhanced.classStatus = status;
|
||||
// 调试日志:记录成功添加状态的节点
|
||||
console.log(`[班级状态] 为节点添加状态: id=${enhanced.id}, label=${enhanced.label}, category=${category || '名称模式'}, status=${status}`);
|
||||
} else if (isClass) {
|
||||
// 调试日志:记录是班级但没有状态的节点
|
||||
console.warn(
|
||||
`[班级状态] 班级节点未找到状态: id=${enhanced.id}, label=${enhanced.label}, category=${category || '名称模式'}, deptId=${enhanced.id}`
|
||||
);
|
||||
}
|
||||
|
||||
if (Array.isArray(enhanced.children) && enhanced.children.length > 0) {
|
||||
enhanced.children = enhanceDeptNodes(enhanced.children);
|
||||
}
|
||||
return enhanced;
|
||||
});
|
||||
}
|
||||
|
||||
function resolveClassStatus(node: any): string | undefined {
|
||||
// 判断是否是班级节点
|
||||
// 方法1:通过 deptCategory 字段判断(优先)
|
||||
const category = node.deptCategory ?? node.dept_category ?? node.params?.deptCategory;
|
||||
const isClassByCategory = category && typeof category === 'string' && category.toLowerCase().startsWith('bj-');
|
||||
|
||||
// 方法2:通过名称模式判断(备用方案)
|
||||
// 如果节点是叶子节点(没有children或children为空),且名称符合"名称+3位数字"格式,则认为是班级节点
|
||||
const isLeaf = !node?.children || node.children.length === 0;
|
||||
const isClassByName = isLeaf && node?.label && typeof node.label === 'string' && /^.+?\d{3}$/.test(node.label);
|
||||
|
||||
// 如果不是班级节点,直接返回
|
||||
if (!isClassByCategory && !isClassByName) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
// 通过 sys_dept.dept_id 关联 xg_class_msg.id 获取 class_status
|
||||
// 关联关系:sys_dept.dept_id = xg_class_msg.id
|
||||
const deptId = node.id ?? node.deptId;
|
||||
if (deptId === undefined || deptId === null) {
|
||||
return undefined;
|
||||
}
|
||||
|
||||
const key = `deptId:${String(deptId)}`;
|
||||
if (classStatusCache.has(key)) {
|
||||
return classStatusCache.get(key);
|
||||
}
|
||||
|
||||
return undefined;
|
||||
}
|
||||
|
||||
function isClassNode(data: any) {
|
||||
// 方法1:通过 deptCategory 字段判断(优先)
|
||||
const category = data?.deptCategory ?? data?.dept_category ?? data?.params?.deptCategory;
|
||||
if (category && typeof category === 'string' && category.toLowerCase().startsWith('bj-')) {
|
||||
return true;
|
||||
}
|
||||
|
||||
// 方法2:通过名称模式判断(备用方案)
|
||||
// 如果节点是叶子节点(没有children或children为空),且名称符合"名称+3位数字"格式,则认为是班级节点
|
||||
const isLeaf = !data?.children || data.children.length === 0;
|
||||
if (isLeaf && data?.label && typeof data.label === 'string') {
|
||||
// 匹配类似"西餐运营251"、"中烹252"这种格式(名称+3位数字结尾)
|
||||
const nameMatch = /^.+?\d{3}$/.test(data.label);
|
||||
if (nameMatch) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// 新增:获取历史范围数据
|
||||
async function fetchSelectedScopes(managerId: number | string) {
|
||||
if (!managerId) return;
|
||||
@@ -160,6 +455,8 @@ async function fetchSelectedScopes(managerId: number | string) {
|
||||
watch(visible, async (newVal) => {
|
||||
if (newVal) {
|
||||
const managerId = props.admin?.managerId || props.admin?.id;
|
||||
// 重置过滤状态为"全部"
|
||||
classStatusFilter.value = 'all';
|
||||
await fetchDeptTree();
|
||||
await fetchSelectedScopes(managerId);
|
||||
} else {
|
||||
@@ -236,6 +533,63 @@ function cancel() {
|
||||
// 从props获取类型的响应式引用
|
||||
const type = computed(() => props.type);
|
||||
|
||||
// 过滤后的树数据(计算属性)
|
||||
const filteredTreeData = computed(() => {
|
||||
if (classStatusFilter.value === 'all') {
|
||||
return scopeOptions.custom;
|
||||
} else if (classStatusFilter.value === 'normal') {
|
||||
// 只显示状态为"1"(正常)的班级节点及其父节点
|
||||
return filterTreeByClassStatus(scopeOptions.custom, '1');
|
||||
}
|
||||
return scopeOptions.custom;
|
||||
});
|
||||
|
||||
// 根据班级状态过滤树数据
|
||||
function filterTreeByClassStatus(nodes: any[], targetStatus: string): any[] {
|
||||
if (!nodes || nodes.length === 0) {
|
||||
return [];
|
||||
}
|
||||
|
||||
return nodes
|
||||
.map((node) => {
|
||||
const isClass = isClassNode(node);
|
||||
|
||||
// 如果是班级节点,检查状态
|
||||
if (isClass) {
|
||||
const nodeStatus = node.classStatus;
|
||||
// 如果状态匹配,保留该节点
|
||||
if (nodeStatus === targetStatus) {
|
||||
return { ...node };
|
||||
}
|
||||
// 状态不匹配,返回null(将被过滤掉)
|
||||
return null;
|
||||
}
|
||||
|
||||
// 非班级节点,递归处理子节点
|
||||
const filteredChildren = node.children && node.children.length > 0
|
||||
? filterTreeByClassStatus(node.children, targetStatus)
|
||||
: [];
|
||||
|
||||
// 如果有子节点被保留,则保留当前节点
|
||||
if (filteredChildren.length > 0) {
|
||||
return {
|
||||
...node,
|
||||
children: filteredChildren
|
||||
};
|
||||
}
|
||||
|
||||
// 没有符合条件的子节点,过滤掉当前节点
|
||||
return null;
|
||||
})
|
||||
.filter((node) => node !== null);
|
||||
}
|
||||
|
||||
// 处理过滤条件变化
|
||||
function handleFilterChange() {
|
||||
// 过滤逻辑由计算属性 filteredTreeData 自动处理
|
||||
// 这里可以添加额外的逻辑,比如重置展开状态等
|
||||
}
|
||||
|
||||
// 暴露组件以修复导出问题
|
||||
defineExpose({
|
||||
submitForm,
|
||||
@@ -245,6 +599,19 @@ defineExpose({
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.scope-node,
|
||||
.scope-checkbox-label {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
}
|
||||
.scope-label {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
}
|
||||
.scope-tag :deep(.el-tag) {
|
||||
margin-left: 0;
|
||||
}
|
||||
.dialog-footer {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
@@ -268,4 +635,21 @@ defineExpose({
|
||||
margin-right: 8px;
|
||||
font-size: 16px;
|
||||
}
|
||||
.scope-form-item {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
}
|
||||
.scope-form-item :deep(.el-form-item__label) {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding-top: 8px; /* 与 filter-buttons 的 padding-top 对齐 */
|
||||
margin-top: 0;
|
||||
height: auto;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.scope-form-item :deep(.el-form-item__content) {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
flex-direction: column;
|
||||
}
|
||||
</style>
|
||||
@@ -154,6 +154,11 @@
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="className" label="所管理班级" align="center" />
|
||||
<el-table-column prop="classStatus" label="班级状态" align="center">
|
||||
<template #default="scope">
|
||||
<dict-tag :options="xg_class_status" :value="scope.row.classStatus" />
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="备注" align="center" />
|
||||
<!-- <el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
|
||||
<template #default="scope">
|
||||
@@ -179,11 +184,12 @@
|
||||
</template>
|
||||
|
||||
<script setup lang="ts">
|
||||
import { ref, reactive, onMounted, watch } from 'vue';
|
||||
import { ref, reactive, onMounted, watch, toRefs, getCurrentInstance } from 'vue';
|
||||
import type { ComponentInternalInstance } from 'vue';
|
||||
import AdminDialog from './components/AdminDialog.vue';
|
||||
import ScopeDialog from './components/ScopeDialog.vue';
|
||||
import { ElMessage, ElMessageBox } from 'element-plus';
|
||||
import { listStudentManager, delStudentManager, listActiveClassTeachers } from '@/api/xg/xsjcxx/xgStudentManager/studentManager';
|
||||
import { listStudentManager, delStudentManager, listAllClassTeachers } from '@/api/xg/xsjcxx/xgStudentManager/studentManager';
|
||||
import type { StudentManagerQuery } from '@/api/xg/xsjcxx/xgStudentManager/studentManager/types';
|
||||
import service from '@/utils/request';
|
||||
|
||||
@@ -220,6 +226,9 @@ const currentAdmin = ref<any>(null);
|
||||
const scopeDialogVisible = ref(false);
|
||||
const scopeType = ref('');
|
||||
|
||||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
||||
const { xg_class_status } = toRefs<any>(proxy?.useDict('xg_class_status') || {});
|
||||
|
||||
// 班主任模拟数据 (预留,后续完善)
|
||||
const mockTeacherData = [
|
||||
{ id: 5, name: '刘老师', phone: '13800138005', sex: 0, scope: '高一(1)班', remark: '数学教师' },
|
||||
@@ -250,7 +259,7 @@ async function fetchAdmins(type: string) {
|
||||
phone: searchForm.phone,
|
||||
name: searchForm.managerName // teacherSearchForm 实际只有 managerName 字段
|
||||
};
|
||||
const res = await listActiveClassTeachers(params);
|
||||
const res = await listAllClassTeachers(params);
|
||||
teacherAdmins.value = res.data || [];
|
||||
}
|
||||
} catch (error) {
|
||||
|
||||
@@ -5,6 +5,13 @@
|
||||
<div class="left-panel">
|
||||
<el-card shadow="hover">
|
||||
<el-input v-model="deptName" placeholder="请输入院系名称" prefix-icon="Search" clearable />
|
||||
<div class="class-status-filter">
|
||||
<span class="class-status-filter__label">班级状态:</span>
|
||||
<el-radio-group v-model="classStatusFilter" size="small">
|
||||
<el-radio-button label="all">全部</el-radio-button>
|
||||
<el-radio-button label="normal">正常</el-radio-button>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
<el-tree
|
||||
ref="deptTreeRef"
|
||||
class="mt-2 dept-tree"
|
||||
@@ -16,7 +23,19 @@
|
||||
highlight-current
|
||||
default-expand-all
|
||||
@node-click="handleNodeClick"
|
||||
/>
|
||||
>
|
||||
<template #default="{ data }">
|
||||
<span class="dept-tree-node">
|
||||
<span class="dept-tree-node__label">{{ data.label }}</span>
|
||||
<dict-tag
|
||||
v-if="isClassNode(data) && hasClassStatus(data)"
|
||||
:options="xg_class_status || []"
|
||||
:value="data.classStatus"
|
||||
class="dept-tree-node__tag"
|
||||
/>
|
||||
</span>
|
||||
</template>
|
||||
</el-tree>
|
||||
</el-card>
|
||||
</div>
|
||||
|
||||
@@ -431,10 +450,12 @@ import {
|
||||
dismissCadre
|
||||
} from '@/api/xg/xsjcxx/xgClassPosMsg/xgClassPosMsg';
|
||||
import { XgClassPosMsgVO, XgClassPosMsgQuery, XgClassPosMsgForm } from '@/api/xg/xsjcxx/xgClassPosMsg/xgClassPosMsg/types';
|
||||
import { getCurrentInstance, ref, reactive, toRefs, watchEffect, onMounted, computed } from 'vue';
|
||||
import { getCurrentInstance, ref, reactive, toRefs, watchEffect, onMounted, computed, watch, nextTick } from 'vue';
|
||||
import { ElMessage, ElMessageBox, type FormInstance } from 'element-plus';
|
||||
import { XgDeptTreeSelect, deptTreeSelect } from '@/api/xg/xsjcxx/studentMsg/index';
|
||||
import request from '@/utils/request';
|
||||
import { listClassMsg } from '@/api/xg/xsjcxx/classMsg/classMsg';
|
||||
import type { ClassMsgQuery, ClassMsgVO } from '@/api/xg/xsjcxx/classMsg/types';
|
||||
interface ComponentInternalInstance {
|
||||
proxy?: any;
|
||||
}
|
||||
@@ -451,8 +472,8 @@ interface PageData<T, Q> {
|
||||
}
|
||||
|
||||
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
|
||||
const { stu_appointment_method, sys_yesno, stu_cadre_status } = toRefs<any>(
|
||||
proxy?.useDict('stu_appointment_method', 'sys_yesno', 'stu_cadre_status')
|
||||
const { stu_appointment_method, sys_yesno, stu_cadre_status, xg_class_status } = toRefs<any>(
|
||||
proxy?.useDict('stu_appointment_method', 'sys_yesno', 'stu_cadre_status', 'xg_class_status') || {}
|
||||
);
|
||||
|
||||
const xgClassPosMsgList = ref<XgClassPosMsgVO[]>([]);
|
||||
@@ -467,8 +488,10 @@ const total = ref(0);
|
||||
// 部门树相关变量
|
||||
const deptTreeRef = ref();
|
||||
const deptOptions = ref<any[]>([]);
|
||||
const rawDeptTree = ref<any[]>([]);
|
||||
const deptName = ref('');
|
||||
const currentSelectedNode = ref<any>(null);
|
||||
const classStatusFilter = ref<'all' | 'normal'>('all');
|
||||
|
||||
// 学生选择相关变量
|
||||
const studentOptions = ref<any[]>([]);
|
||||
@@ -478,6 +501,35 @@ const studentSearchLoading = ref(false);
|
||||
const positionOptions = ref<any[]>([]);
|
||||
const positionSearchLoading = ref(false);
|
||||
|
||||
const classStatusMap = new Map<string, string>();
|
||||
let classStatusLoaded = false;
|
||||
let classStatusLoading = false;
|
||||
|
||||
const classStatusOrderMap = computed(() => {
|
||||
const map = new Map<string, number>();
|
||||
const options = xg_class_status?.value || [];
|
||||
options.forEach((item: any, index: number) => {
|
||||
if (item?.value !== undefined && item?.value !== null) {
|
||||
map.set(String(item.value), index);
|
||||
}
|
||||
});
|
||||
return map;
|
||||
});
|
||||
|
||||
const compareLabels = (a: string | undefined, b: string | undefined) => {
|
||||
const labelA = a || '';
|
||||
const labelB = b || '';
|
||||
return labelA.localeCompare(labelB, 'zh-Hans-CN-u-co-pinyin');
|
||||
};
|
||||
|
||||
const getClassStatusOrder = (status: string | undefined) => {
|
||||
if (status === undefined || status === null || status === '') {
|
||||
return Number.MAX_SAFE_INTEGER;
|
||||
}
|
||||
const order = classStatusOrderMap.value.get(String(status));
|
||||
return order !== undefined ? order : Number.MAX_SAFE_INTEGER;
|
||||
};
|
||||
|
||||
const queryFormRef = ref<FormInstance>();
|
||||
const xgClassPosMsgFormRef = ref<FormInstance>();
|
||||
|
||||
@@ -617,6 +669,152 @@ watchEffect(
|
||||
{ flush: 'post' }
|
||||
);
|
||||
|
||||
/** 班级节点是否有状态 */
|
||||
const hasClassStatus = (node: any) => {
|
||||
const status = node?.classStatus ?? node?.class_status;
|
||||
return status !== undefined && status !== null && status !== '';
|
||||
};
|
||||
|
||||
/** 获取节点的deptCategory */
|
||||
const getDeptCategory = (node: any): string | undefined => {
|
||||
if (!node) {
|
||||
return undefined;
|
||||
}
|
||||
const category = node.deptCategory ?? node.dept_category ?? node.params?.deptCategory;
|
||||
if (category && !node.deptCategory) {
|
||||
node.deptCategory = category;
|
||||
}
|
||||
return category;
|
||||
};
|
||||
|
||||
/** 判断是否为班级节点 */
|
||||
const isClassNode = (node: any) => {
|
||||
const category = getDeptCategory(node);
|
||||
return typeof category === 'string' && category.toLowerCase().startsWith('bj-');
|
||||
};
|
||||
|
||||
/** 加载班级状态映射 */
|
||||
const ensureClassStatusMap = async () => {
|
||||
if (classStatusLoaded || classStatusLoading) {
|
||||
return;
|
||||
}
|
||||
classStatusLoading = true;
|
||||
try {
|
||||
const params: ClassMsgQuery = {
|
||||
pageNum: 1,
|
||||
pageSize: 9999,
|
||||
params: {}
|
||||
};
|
||||
const res = await listClassMsg(params);
|
||||
const rows: ClassMsgVO[] = (res && (res.rows || res.data?.rows)) || [];
|
||||
rows.forEach((item) => {
|
||||
if (item?.id === undefined || item?.id === null) {
|
||||
return;
|
||||
}
|
||||
const status = item?.classStatus;
|
||||
if (status === undefined || status === null || status === '') {
|
||||
return;
|
||||
}
|
||||
classStatusMap.set(String(item.id), String(status));
|
||||
});
|
||||
classStatusLoaded = true;
|
||||
} catch (error) {
|
||||
console.error('加载班级状态失败:', error);
|
||||
} finally {
|
||||
classStatusLoading = false;
|
||||
}
|
||||
};
|
||||
|
||||
/** 获取节点对应的班级状态 */
|
||||
const resolveClassStatus = (node: any): string | undefined => {
|
||||
const existing = node?.classStatus ?? node?.class_status;
|
||||
if (existing !== undefined && existing !== null && existing !== '') {
|
||||
return String(existing);
|
||||
}
|
||||
const deptId = node?.id ?? node?.deptId;
|
||||
if (deptId === undefined || deptId === null) {
|
||||
return undefined;
|
||||
}
|
||||
return classStatusMap.get(String(deptId));
|
||||
};
|
||||
|
||||
const sortDeptTreeNodes = (nodes: any[]): any[] => {
|
||||
if (!Array.isArray(nodes)) {
|
||||
return [];
|
||||
}
|
||||
const clonedNodes = nodes.map((node) => {
|
||||
const cloned: any = { ...node };
|
||||
if (Array.isArray(cloned.children)) {
|
||||
cloned.children = sortDeptTreeNodes(cloned.children);
|
||||
}
|
||||
return cloned;
|
||||
});
|
||||
|
||||
clonedNodes.sort((a, b) => {
|
||||
const aIsClass = isClassNode(a);
|
||||
const bIsClass = isClassNode(b);
|
||||
|
||||
if (aIsClass && bIsClass) {
|
||||
const statusCompare = getClassStatusOrder(a.classStatus ?? resolveClassStatus(a)) - getClassStatusOrder(b.classStatus ?? resolveClassStatus(b));
|
||||
if (statusCompare !== 0) {
|
||||
return statusCompare;
|
||||
}
|
||||
}
|
||||
|
||||
return compareLabels(a.label, b.label);
|
||||
});
|
||||
|
||||
return clonedNodes;
|
||||
};
|
||||
|
||||
/** 增强部门树节点,补充班级状态 */
|
||||
const enhanceDeptTreeNodes = (nodes: any[]): any[] => {
|
||||
return (nodes || []).map((node) => {
|
||||
const enhanced: any = { ...node };
|
||||
const category = getDeptCategory(enhanced);
|
||||
if (category && !enhanced.deptCategory) {
|
||||
enhanced.deptCategory = category;
|
||||
}
|
||||
if (Array.isArray(enhanced.children) && enhanced.children.length > 0) {
|
||||
enhanced.children = enhanceDeptTreeNodes(enhanced.children);
|
||||
}
|
||||
if (isClassNode(enhanced)) {
|
||||
const status = resolveClassStatus(enhanced);
|
||||
if (status !== undefined) {
|
||||
enhanced.classStatus = status;
|
||||
}
|
||||
}
|
||||
return enhanced;
|
||||
});
|
||||
};
|
||||
|
||||
/** 提取接口返回的树数据 */
|
||||
const extractDeptTree = (payload: any): any[] => {
|
||||
if (Array.isArray(payload)) {
|
||||
return payload;
|
||||
}
|
||||
if (payload?.data && Array.isArray(payload.data)) {
|
||||
return payload.data;
|
||||
}
|
||||
if (payload?.data?.data && Array.isArray(payload.data.data)) {
|
||||
return payload.data.data;
|
||||
}
|
||||
return [];
|
||||
};
|
||||
|
||||
/** 处理并设置部门树 */
|
||||
const processAndSetDeptTree = async (treeData: any[]) => {
|
||||
try {
|
||||
await ensureClassStatusMap();
|
||||
} catch (error) {
|
||||
console.warn('加载班级状态时发生异常,继续渲染部门树', error);
|
||||
}
|
||||
const processedTree = enhanceDeptTreeNodes(treeData);
|
||||
const sortedTree = sortDeptTreeNodes(processedTree);
|
||||
rawDeptTree.value = sortedTree;
|
||||
applyDeptFilter(true);
|
||||
};
|
||||
|
||||
/** 筛选节点方法 */
|
||||
const filterNode = (value: string, data: any) => {
|
||||
if (!value) return true;
|
||||
@@ -627,29 +825,125 @@ const filterNode = (value: string, data: any) => {
|
||||
const getDeptTree = async () => {
|
||||
try {
|
||||
const res = await XgDeptTreeSelect(101);
|
||||
// XgDeptTreeSelect返回的数据结构与deptTreeSelect不同,需要进行适当处理
|
||||
if (res.data && Array.isArray(res.data)) {
|
||||
deptOptions.value = res.data;
|
||||
// 设置根节点为默认选中节点
|
||||
setDefaultRootNode(res.data);
|
||||
const treeData = extractDeptTree(res);
|
||||
if (treeData.length > 0) {
|
||||
await processAndSetDeptTree(treeData);
|
||||
} else {
|
||||
console.warn('部门树数据格式不符合预期');
|
||||
// 回退到默认处理
|
||||
const backup = await deptTreeSelect();
|
||||
deptOptions.value = backup.data.data;
|
||||
// 设置根节点为默认选中节点
|
||||
setDefaultRootNode(backup.data.data);
|
||||
const backupTree = extractDeptTree(backup);
|
||||
await processAndSetDeptTree(backupTree);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('获取部门树失败:', error);
|
||||
// 如果API调用失败,可以使用默认的deptTreeSelect作为备选
|
||||
const backup = await deptTreeSelect();
|
||||
deptOptions.value = backup.data.data;
|
||||
// 设置根节点为默认选中节点
|
||||
setDefaultRootNode(backup.data.data);
|
||||
const backupTree = extractDeptTree(backup);
|
||||
await processAndSetDeptTree(backupTree);
|
||||
}
|
||||
};
|
||||
|
||||
const findNodeById = (nodes: any[], id: number | string): any | null => {
|
||||
if (!Array.isArray(nodes)) {
|
||||
return null;
|
||||
}
|
||||
for (const node of nodes) {
|
||||
if (node?.id === id) {
|
||||
return node;
|
||||
}
|
||||
if (Array.isArray(node?.children)) {
|
||||
const child = findNodeById(node.children, id);
|
||||
if (child) {
|
||||
return child;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
};
|
||||
|
||||
const filterTreeByClassStatus = (nodes: any[], targetStatus: string | number | undefined): any[] => {
|
||||
if (!Array.isArray(nodes) || targetStatus === undefined) {
|
||||
return nodes ? JSON.parse(JSON.stringify(nodes)) : [];
|
||||
}
|
||||
const result: any[] = [];
|
||||
nodes.forEach((node) => {
|
||||
const clonedNode = { ...node };
|
||||
if (Array.isArray(clonedNode.children)) {
|
||||
clonedNode.children = filterTreeByClassStatus(clonedNode.children, targetStatus);
|
||||
}
|
||||
if (isClassNode(clonedNode)) {
|
||||
const status = resolveClassStatus(clonedNode);
|
||||
if (status === String(targetStatus)) {
|
||||
result.push(clonedNode);
|
||||
}
|
||||
} else if (Array.isArray(clonedNode.children) && clonedNode.children.length > 0) {
|
||||
result.push(clonedNode);
|
||||
}
|
||||
});
|
||||
return sortDeptTreeNodes(result);
|
||||
};
|
||||
|
||||
const normalClassStatusValue = computed(() => {
|
||||
const options = xg_class_status?.value || [];
|
||||
const normalOption =
|
||||
options.find((item: any) => item?.label === '正常') ||
|
||||
options.find((item: any) => String(item?.value).toLowerCase() === 'normal') ||
|
||||
options.find((item: any) => String(item?.value) === '1');
|
||||
return normalOption ? normalOption.value : options[0]?.value;
|
||||
});
|
||||
|
||||
const reselectOrResetNode = () => {
|
||||
const currentId = currentSelectedNode.value?.id;
|
||||
if (!currentId) {
|
||||
return;
|
||||
}
|
||||
const matched = findNodeById(deptOptions.value, currentId);
|
||||
if (matched) {
|
||||
currentSelectedNode.value = matched;
|
||||
queryParams.value.deptId = matched.id;
|
||||
nextTick(() => {
|
||||
deptTreeRef.value?.setCurrentKey(matched.id);
|
||||
});
|
||||
} else {
|
||||
currentSelectedNode.value = null;
|
||||
queryParams.value.deptId = undefined;
|
||||
setDefaultRootNode(deptOptions.value);
|
||||
}
|
||||
};
|
||||
|
||||
const applyDeptFilter = (resetSelection = false) => {
|
||||
const sourceTree = rawDeptTree.value || [];
|
||||
if (classStatusFilter.value === 'normal') {
|
||||
const targetStatus = normalClassStatusValue.value;
|
||||
if (targetStatus === undefined) {
|
||||
deptOptions.value = JSON.parse(JSON.stringify(sourceTree));
|
||||
} else {
|
||||
deptOptions.value = filterTreeByClassStatus(sourceTree, targetStatus);
|
||||
}
|
||||
} else {
|
||||
deptOptions.value = JSON.parse(JSON.stringify(sourceTree));
|
||||
}
|
||||
|
||||
if (resetSelection) {
|
||||
setDefaultRootNode(deptOptions.value);
|
||||
} else {
|
||||
reselectOrResetNode();
|
||||
}
|
||||
};
|
||||
|
||||
watch(classStatusFilter, () => {
|
||||
applyDeptFilter(false);
|
||||
});
|
||||
|
||||
watch(
|
||||
() => xg_class_status?.value,
|
||||
() => {
|
||||
if (classStatusFilter.value === 'normal') {
|
||||
applyDeptFilter(false);
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
/** 设置默认根节点并触发查询 */
|
||||
const setDefaultRootNode = (treeData: any[]) => {
|
||||
if (treeData && treeData.length > 0) {
|
||||
@@ -1074,11 +1368,24 @@ onMounted(() => {
|
||||
.dept-tree {
|
||||
height: 600px;
|
||||
overflow-y: auto;
|
||||
overflow-x: auto;
|
||||
overflow-x: hidden;
|
||||
width: 330px; /* 固定宽度,超出时显示滚动条 */
|
||||
min-width: 330px;
|
||||
}
|
||||
|
||||
.class-status-filter {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.class-status-filter__label {
|
||||
color: #606266;
|
||||
font-size: 13px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
/* 强制覆盖el-tree的默认样式 */
|
||||
.dept-tree :deep(.el-tree-node) {
|
||||
white-space: nowrap !important;
|
||||
@@ -1124,6 +1431,16 @@ onMounted(() => {
|
||||
width: 100% !important;
|
||||
}
|
||||
|
||||
.dept-tree-node {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
.dept-tree-node__tag :deep(.el-tag) {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
/* 右侧面板 - 占据剩余空间 */
|
||||
.right-panel {
|
||||
flex: 1;
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
学籍异动
|
||||
id:4083b823-cc45-4b4b-8eb4-a789f791b23c
|
||||
key:dyjs_xjyd
|
||||
|
||||
教师基本信息
|
||||
id:370cbe02-8dfb-4149-8344-75464ad1e1af
|
||||
key:dyjs_jsjbxx
|
||||
|
||||
班级信息
|
||||
id:73462569-d0da-4a05-bd6a-a9077c723dba
|
||||
key:dyjs_bjxx
|
||||
|
||||
专业信息
|
||||
id:36c1e58c-7f0a-4567-8ea8-93c7acadbbde
|
||||
key:dyjs_zyxx
|
||||
|
||||
系部信息
|
||||
id:eb68f9d4-b833-4a09-aae8-28e970de1461
|
||||
key:dyjs_xbxx
|
||||
|
||||
学生基本信息
|
||||
id:acd4cc28-e8c1-4fb8-a38e-6de8cbaaee34
|
||||
key:dyjs_xsjbxx
|
||||
@@ -0,0 +1,204 @@
|
||||
# 超星数据同步定时任务配置说明
|
||||
|
||||
## 📋 概述
|
||||
|
||||
本目录包含超星数据同步的定时任务配置,用于每天晚上12点开始自动执行数据同步脚本,每个脚本间隔5分钟执行。
|
||||
|
||||
## 🕐 执行时间表
|
||||
|
||||
| 时间 | 脚本 | 说明 |
|
||||
|------|------|------|
|
||||
| 00:00 | 请求系部信息API.py | 同步系部数据 |
|
||||
| 00:05 | 请求专业信息API.py | 同步专业数据 |
|
||||
| 00:10 | 请求班级信息API.py | 同步班级数据 |
|
||||
| 00:15 | 请求学生信息API.py | 同步学生数据 |
|
||||
| 00:20 | 请求学籍异动信息API.py | 同步学籍异动数据 |
|
||||
|
||||
## 📁 文件说明
|
||||
|
||||
### 1. `crontab_config.txt`
|
||||
- **说明**: crontab定时任务配置文件
|
||||
- **内容**: 包含5个定时任务配置,每个任务对应一个数据同步脚本
|
||||
|
||||
### 2. `run_script.sh`
|
||||
- **说明**: 脚本启动器,用于执行Python脚本并记录日志
|
||||
- **功能**:
|
||||
- 自动切换到脚本目录
|
||||
- 创建日志目录
|
||||
- 记录执行日志和错误日志
|
||||
- 按日期和脚本名生成日志文件
|
||||
|
||||
### 3. `logs/` 目录
|
||||
- **说明**: 日志文件存储目录(自动创建)
|
||||
- **日志文件格式**:
|
||||
- 标准日志: `{脚本名}_{日期}.log`
|
||||
- 错误日志: `{脚本名}_error_{日期}.log`
|
||||
- Cron日志: `cron_{脚本名}.log`
|
||||
|
||||
## 🚀 安装步骤
|
||||
|
||||
### 步骤1: 赋予执行权限
|
||||
|
||||
```bash
|
||||
cd /Users/wuzilong/work/00code/hzdyjs_xg/超星数据移植与定时同步
|
||||
chmod +x run_script.sh
|
||||
```
|
||||
|
||||
### 步骤2: 测试脚本执行
|
||||
|
||||
手动测试启动脚本是否正常工作:
|
||||
|
||||
```bash
|
||||
# 测试执行系部信息脚本
|
||||
./run_script.sh 请求系部信息API
|
||||
|
||||
# 查看日志
|
||||
ls -lh logs/
|
||||
tail -f logs/请求系部信息API_$(date +%Y%m%d).log
|
||||
```
|
||||
|
||||
### 步骤3: 安装crontab配置
|
||||
|
||||
```bash
|
||||
# 安装crontab配置
|
||||
crontab crontab_config.txt
|
||||
|
||||
# 验证安装(查看当前crontab任务)
|
||||
crontab -l
|
||||
```
|
||||
|
||||
### 步骤4: 验证cron服务
|
||||
|
||||
确保cron服务正在运行:
|
||||
|
||||
```bash
|
||||
# macOS系统
|
||||
sudo launchctl list | grep cron
|
||||
|
||||
# 或者检查cron服务状态
|
||||
ps aux | grep cron
|
||||
```
|
||||
|
||||
## 📊 日志管理
|
||||
|
||||
### 查看日志
|
||||
|
||||
```bash
|
||||
# 查看今天的系部信息同步日志
|
||||
tail -f logs/请求系部信息API_$(date +%Y%m%d).log
|
||||
|
||||
# 查看错误日志
|
||||
tail -f logs/请求系部信息API_error_$(date +%Y%m%d).log
|
||||
|
||||
# 查看cron执行日志
|
||||
tail -f logs/cron_请求系部信息API.log
|
||||
```
|
||||
|
||||
### 日志清理
|
||||
|
||||
建议定期清理旧日志文件(保留最近30天):
|
||||
|
||||
```bash
|
||||
# 清理30天前的日志
|
||||
find logs/ -name "*.log" -mtime +30 -delete
|
||||
```
|
||||
|
||||
## 🔧 配置调整
|
||||
|
||||
### 修改执行时间
|
||||
|
||||
编辑 `crontab_config.txt` 文件,修改时间配置:
|
||||
|
||||
```bash
|
||||
# crontab时间格式:分钟 小时 日 月 星期
|
||||
# 例如:每天凌晨1点执行
|
||||
0 1 * * * /bin/bash /path/to/run_script.sh 请求系部信息API
|
||||
```
|
||||
|
||||
### 修改Python解释器
|
||||
|
||||
如果使用虚拟环境,编辑 `run_script.sh` 文件:
|
||||
|
||||
```bash
|
||||
# 修改PYTHON_CMD变量
|
||||
PYTHON_CMD="/path/to/venv/bin/python3"
|
||||
```
|
||||
|
||||
### 修改日志路径
|
||||
|
||||
编辑 `run_script.sh` 文件中的 `LOG_DIR` 变量:
|
||||
|
||||
```bash
|
||||
LOG_DIR="/path/to/custom/logs"
|
||||
```
|
||||
|
||||
## 🛠️ 常用命令
|
||||
|
||||
### 查看当前crontab任务
|
||||
```bash
|
||||
crontab -l
|
||||
```
|
||||
|
||||
### 编辑crontab任务
|
||||
```bash
|
||||
crontab -e
|
||||
```
|
||||
|
||||
### 删除所有crontab任务
|
||||
```bash
|
||||
crontab -r
|
||||
```
|
||||
|
||||
### 临时禁用某个任务
|
||||
在 `crontab_config.txt` 中对应行前添加 `#` 注释,然后重新安装:
|
||||
```bash
|
||||
crontab crontab_config.txt
|
||||
```
|
||||
|
||||
### 手动执行某个脚本
|
||||
```bash
|
||||
# 直接执行Python脚本
|
||||
python3 请求系部信息API.py
|
||||
|
||||
# 或使用启动脚本
|
||||
./run_script.sh 请求系部信息API
|
||||
```
|
||||
|
||||
## ⚠️ 注意事项
|
||||
|
||||
1. **路径问题**: 确保 `crontab_config.txt` 中的路径是绝对路径
|
||||
2. **权限问题**: 确保 `run_script.sh` 有执行权限
|
||||
3. **Python环境**: 确保cron执行时能找到正确的Python解释器
|
||||
4. **日志目录**: 确保有权限创建和写入日志目录
|
||||
5. **网络连接**: 确保服务器能访问超星API接口
|
||||
6. **数据库连接**: 确保数据库配置正确且可访问
|
||||
|
||||
## 🐛 故障排查
|
||||
|
||||
### 问题1: 脚本未执行
|
||||
|
||||
**检查步骤**:
|
||||
1. 查看cron日志: `tail -f /var/log/cron.log` (Linux) 或系统日志 (macOS)
|
||||
2. 检查crontab任务: `crontab -l`
|
||||
3. 检查脚本权限: `ls -l run_script.sh`
|
||||
4. 手动执行测试: `./run_script.sh 请求系部信息API`
|
||||
|
||||
### 问题2: 脚本执行失败
|
||||
|
||||
**检查步骤**:
|
||||
1. 查看错误日志: `tail -f logs/*_error_*.log`
|
||||
2. 查看标准日志: `tail -f logs/*.log`
|
||||
3. 检查Python环境: `which python3`
|
||||
4. 检查依赖包: `pip3 list | grep -E "pymysql|requests|pycryptodome"`
|
||||
|
||||
### 问题3: 日志文件未生成
|
||||
|
||||
**检查步骤**:
|
||||
1. 检查目录权限: `ls -ld logs/`
|
||||
2. 检查磁盘空间: `df -h`
|
||||
3. 手动创建日志目录: `mkdir -p logs/`
|
||||
|
||||
## 📝 更新记录
|
||||
|
||||
- **2025-01-03**: 初始版本,创建定时任务配置
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,49 @@
|
||||
# ============================================
|
||||
# 超星数据同步定时任务配置
|
||||
# ============================================
|
||||
# 说明:
|
||||
# - 每天晚上12点开始执行,每个脚本间隔5分钟
|
||||
# - 日志文件保存在 logs/ 目录下
|
||||
# - 错误日志单独保存在 logs/ 目录下
|
||||
# ============================================
|
||||
|
||||
# 执行时间表:
|
||||
# 00:00 - 请求系部信息API.py
|
||||
# 00:05 - 请求专业信息API.py
|
||||
# 00:10 - 请求班级信息API.py
|
||||
# 00:15 - 请求学生信息API.py
|
||||
# 00:20 - 请求学籍异动信息API.py
|
||||
|
||||
# 第一个脚本:系部信息(每天00:00执行)
|
||||
0 0 * * * /bin/bash /Users/wuzilong/work/00code/hzdyjs_xg/超星数据移植与定时同步/run_script.sh 请求系部信息API >> /Users/wuzilong/work/00code/hzdyjs_xg/超星数据移植与定时同步/logs/cron_请求系部信息API.log 2>&1
|
||||
|
||||
# 第二个脚本:专业信息(每天00:05执行)
|
||||
5 0 * * * /bin/bash /Users/wuzilong/work/00code/hzdyjs_xg/超星数据移植与定时同步/run_script.sh 请求专业信息API >> /Users/wuzilong/work/00code/hzdyjs_xg/超星数据移植与定时同步/logs/cron_请求专业信息API.log 2>&1
|
||||
|
||||
# 第三个脚本:班级信息(每天00:10执行)
|
||||
10 0 * * * /bin/bash /Users/wuzilong/work/00code/hzdyjs_xg/超星数据移植与定时同步/run_script.sh 请求班级信息API >> /Users/wuzilong/work/00code/hzdyjs_xg/超星数据移植与定时同步/logs/cron_请求班级信息API.log 2>&1
|
||||
|
||||
# 第四个脚本:学生信息(每天00:15执行)
|
||||
15 0 * * * /bin/bash /Users/wuzilong/work/00code/hzdyjs_xg/超星数据移植与定时同步/run_script.sh 请求学生信息API >> /Users/wuzilong/work/00code/hzdyjs_xg/超星数据移植与定时同步/logs/cron_请求学生信息API.log 2>&1
|
||||
|
||||
# 第五个脚本:学籍异动信息(每天00:20执行)
|
||||
20 0 * * * /bin/bash /Users/wuzilong/work/00code/hzdyjs_xg/超星数据移植与定时同步/run_script.sh 请求学籍异动信息API >> /Users/wuzilong/work/00code/hzdyjs_xg/超星数据移植与定时同步/logs/cron_请求学籍异动信息API.log 2>&1
|
||||
|
||||
# ============================================
|
||||
# 安装说明:
|
||||
# 1. 确保 run_script.sh 有执行权限:
|
||||
# chmod +x /Users/wuzilong/work/00code/hzdyjs_xg/超星数据移植与定时同步/run_script.sh
|
||||
#
|
||||
# 2. 安装crontab配置:
|
||||
# crontab /Users/wuzilong/work/00code/hzdyjs_xg/超星数据移植与定时同步/crontab_config.txt
|
||||
#
|
||||
# 3. 查看当前crontab任务:
|
||||
# crontab -l
|
||||
#
|
||||
# 4. 编辑crontab任务:
|
||||
# crontab -e
|
||||
#
|
||||
# 5. 删除所有crontab任务:
|
||||
# crontab -r
|
||||
# ============================================
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
数据库配置文件
|
||||
用于超星数据移植与定时同步脚本
|
||||
"""
|
||||
|
||||
# 数据库配置信息
|
||||
DB_CONFIG = {
|
||||
"host": "47.99.164.66",
|
||||
"port": 3306,
|
||||
"database": "hzdyjs_xg",
|
||||
"user": "root",
|
||||
"password": "hn02le.34lkdLKD",
|
||||
"charset": "utf8mb4"
|
||||
}
|
||||
|
||||
# 表名映射(API类型 -> 数据库表名)
|
||||
TABLE_MAPPING = {
|
||||
"class": "cx_bjsj", # 班级数据
|
||||
"department": "cx_xbsj", # 系部数据
|
||||
"student": "cx_xssj", # 学生数据
|
||||
"student_change": "cx_xsydsj", # 学籍异动数据
|
||||
"major": "cx_zysj" # 专业数据
|
||||
}
|
||||
|
||||
Executable
+86
@@ -0,0 +1,86 @@
|
||||
#!/bin/bash
|
||||
# 超星数据同步定时任务安装脚本
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
cd "$SCRIPT_DIR" || exit 1
|
||||
|
||||
echo "=========================================="
|
||||
echo "超星数据同步定时任务安装"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# 检查run_script.sh是否存在
|
||||
if [ ! -f "$SCRIPT_DIR/run_script.sh" ]; then
|
||||
echo "错误: 未找到 run_script.sh 文件"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 赋予执行权限
|
||||
echo "步骤1: 赋予执行权限..."
|
||||
chmod +x "$SCRIPT_DIR/run_script.sh"
|
||||
echo "✓ 执行权限已设置"
|
||||
echo ""
|
||||
|
||||
# 创建日志目录
|
||||
echo "步骤2: 创建日志目录..."
|
||||
mkdir -p "$SCRIPT_DIR/logs"
|
||||
echo "✓ 日志目录已创建: $SCRIPT_DIR/logs"
|
||||
echo ""
|
||||
|
||||
# 测试脚本执行
|
||||
echo "步骤3: 测试脚本启动器..."
|
||||
if bash "$SCRIPT_DIR/run_script.sh" --help 2>/dev/null; then
|
||||
echo "✓ 脚本启动器测试通过"
|
||||
else
|
||||
echo "⚠ 脚本启动器测试未通过,但继续安装..."
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 备份现有crontab
|
||||
echo "步骤4: 备份现有crontab配置..."
|
||||
if crontab -l > "$SCRIPT_DIR/crontab_backup_$(date +%Y%m%d_%H%M%S).txt" 2>/dev/null; then
|
||||
echo "✓ 已备份现有crontab配置"
|
||||
else
|
||||
echo "⚠ 未找到现有crontab配置(首次安装)"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 安装新的crontab配置
|
||||
echo "步骤5: 安装crontab配置..."
|
||||
if crontab "$SCRIPT_DIR/crontab_config.txt"; then
|
||||
echo "✓ crontab配置已安装"
|
||||
else
|
||||
echo "✗ crontab配置安装失败"
|
||||
exit 1
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 显示当前crontab任务
|
||||
echo "步骤6: 验证安装..."
|
||||
echo "当前crontab任务列表:"
|
||||
echo "----------------------------------------"
|
||||
crontab -l | grep -E "(请求|# 执行时间表|# 第一个|# 第二个|# 第三个|# 第四个|# 第五个)" || crontab -l
|
||||
echo "----------------------------------------"
|
||||
echo ""
|
||||
|
||||
echo "=========================================="
|
||||
echo "安装完成!"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "执行时间表:"
|
||||
echo " 00:00 - 请求系部信息API.py"
|
||||
echo " 00:05 - 请求专业信息API.py"
|
||||
echo " 00:10 - 请求班级信息API.py"
|
||||
echo " 00:15 - 请求学生信息API.py"
|
||||
echo " 00:20 - 请求学籍异动信息API.py"
|
||||
echo ""
|
||||
echo "日志文件位置: $SCRIPT_DIR/logs/"
|
||||
echo ""
|
||||
echo "常用命令:"
|
||||
echo " 查看crontab任务: crontab -l"
|
||||
echo " 编辑crontab任务: crontab -e"
|
||||
echo " 查看日志: tail -f $SCRIPT_DIR/logs/*.log"
|
||||
echo ""
|
||||
echo "详细说明请查看: README_定时任务.md"
|
||||
echo ""
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
# 超星API请求脚本依赖库
|
||||
# 安装命令: pip install -r requirements.txt
|
||||
|
||||
# HTTP请求库
|
||||
requests>=2.31.0
|
||||
|
||||
# AES加密解密库
|
||||
pycryptodome>=3.19.0
|
||||
|
||||
# MySQL数据库连接库
|
||||
pymysql>=1.1.0
|
||||
|
||||
Executable
+49
@@ -0,0 +1,49 @@
|
||||
#!/bin/bash
|
||||
# 超星数据同步脚本启动器
|
||||
# 用于crontab定时任务执行
|
||||
|
||||
# 获取脚本所在目录的绝对路径
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
cd "$SCRIPT_DIR" || exit 1
|
||||
|
||||
# Python解释器路径(根据实际情况修改)
|
||||
# 如果使用虚拟环境,请修改为虚拟环境的Python路径
|
||||
PYTHON_CMD="python3"
|
||||
|
||||
# 日志目录
|
||||
LOG_DIR="$SCRIPT_DIR/logs"
|
||||
mkdir -p "$LOG_DIR"
|
||||
|
||||
# 获取脚本名称(不含路径和扩展名)
|
||||
SCRIPT_NAME="$1"
|
||||
if [ -z "$SCRIPT_NAME" ]; then
|
||||
echo "错误: 未指定脚本名称"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# 日志文件(按日期和脚本名)
|
||||
LOG_FILE="$LOG_DIR/${SCRIPT_NAME}_$(date +%Y%m%d).log"
|
||||
ERROR_LOG="$LOG_DIR/${SCRIPT_NAME}_error_$(date +%Y%m%d).log"
|
||||
|
||||
# 执行Python脚本
|
||||
echo "==========================================" >> "$LOG_FILE"
|
||||
echo "执行时间: $(date '+%Y-%m-%d %H:%M:%S')" >> "$LOG_FILE"
|
||||
echo "脚本: $SCRIPT_NAME.py" >> "$LOG_FILE"
|
||||
echo "==========================================" >> "$LOG_FILE"
|
||||
|
||||
# 执行脚本,同时输出到标准日志和错误日志
|
||||
$PYTHON_CMD "$SCRIPT_DIR/$SCRIPT_NAME.py" >> "$LOG_FILE" 2>> "$ERROR_LOG"
|
||||
|
||||
# 检查执行结果
|
||||
EXIT_CODE=$?
|
||||
if [ $EXIT_CODE -eq 0 ]; then
|
||||
echo "执行成功: $(date '+%Y-%m-%d %H:%M:%S')" >> "$LOG_FILE"
|
||||
else
|
||||
echo "执行失败 (退出码: $EXIT_CODE): $(date '+%Y-%m-%d %H:%M:%S')" >> "$LOG_FILE"
|
||||
echo "错误详情请查看: $ERROR_LOG" >> "$LOG_FILE"
|
||||
fi
|
||||
|
||||
echo "" >> "$LOG_FILE"
|
||||
|
||||
exit $EXIT_CODE
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
/*
|
||||
Navicat Premium Dump SQL
|
||||
|
||||
Source Server : 47.99.164.66 hn02le.34lkdLKD
|
||||
Source Server Type : MySQL
|
||||
Source Server Version : 50736 (5.7.36)
|
||||
Source Host : 47.99.164.66:3306
|
||||
Source Schema : hzdyjs_xg
|
||||
|
||||
Target Server Type : MySQL
|
||||
Target Server Version : 50736 (5.7.36)
|
||||
File Encoding : 65001
|
||||
|
||||
Date: 12/11/2025 13:05:05
|
||||
*/
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for sys_dept
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `sys_dept`;
|
||||
CREATE TABLE `sys_dept` (
|
||||
`dept_id` bigint(20) NOT NULL COMMENT '部门id',
|
||||
`tenant_id` varchar(20) DEFAULT '000000' COMMENT '租户编号',
|
||||
`parent_id` bigint(20) DEFAULT '0' COMMENT '父部门id',
|
||||
`ancestors` varchar(500) DEFAULT '' COMMENT '祖级列表',
|
||||
`dept_name` varchar(30) DEFAULT '' COMMENT '部门名称',
|
||||
`dept_category` varchar(100) DEFAULT NULL COMMENT '部门类别编码',
|
||||
`order_num` int(4) DEFAULT '0' COMMENT '显示顺序',
|
||||
`leader` bigint(20) DEFAULT NULL COMMENT '负责人',
|
||||
`phone` varchar(11) DEFAULT NULL COMMENT '联系电话',
|
||||
`email` varchar(50) DEFAULT NULL COMMENT '邮箱',
|
||||
`status` char(1) DEFAULT '0' COMMENT '部门状态(0正常 1停用)',
|
||||
`del_flag` char(1) DEFAULT '0' COMMENT '删除标志(0代表存在 1代表删除)',
|
||||
`create_dept` bigint(20) DEFAULT NULL COMMENT '创建部门',
|
||||
`create_by` bigint(20) DEFAULT NULL COMMENT '创建者',
|
||||
`create_time` datetime DEFAULT NULL COMMENT '创建时间',
|
||||
`update_by` bigint(20) DEFAULT NULL COMMENT '更新者',
|
||||
`update_time` datetime DEFAULT NULL COMMENT '更新时间',
|
||||
PRIMARY KEY (`dept_id`)
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='部门表';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of sys_dept
|
||||
-- ----------------------------
|
||||
BEGIN;
|
||||
INSERT INTO `sys_dept` (`dept_id`, `tenant_id`, `parent_id`, `ancestors`, `dept_name`, `dept_category`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_dept`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (100, '000000', 0, '0', '杭州第一技师学院', NULL, 0, NULL, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, '2025-06-20 16:22:20', 1, '2025-06-27 14:24:09');
|
||||
INSERT INTO `sys_dept` (`dept_id`, `tenant_id`, `parent_id`, `ancestors`, `dept_name`, `dept_category`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_dept`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (101, '000000', 100, '0,100', '二级学院', 'xx-ejxy', 1, NULL, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, '2025-06-20 16:22:20', 1, '2025-07-23 10:49:03');
|
||||
INSERT INTO `sys_dept` (`dept_id`, `tenant_id`, `parent_id`, `ancestors`, `dept_name`, `dept_category`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_dept`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (102, '000000', 100, '0,100', '行政单位', NULL, 0, NULL, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, '2025-06-16 14:58:45', 1, '2025-06-27 14:27:58');
|
||||
INSERT INTO `sys_dept` (`dept_id`, `tenant_id`, `parent_id`, `ancestors`, `dept_name`, `dept_category`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_dept`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (108, '000000', 102, '0,100,102', '院领导', NULL, 0, NULL, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, '2025-06-16 14:58:45', 1, '2025-06-27 14:27:51');
|
||||
INSERT INTO `sys_dept` (`dept_id`, `tenant_id`, `parent_id`, `ancestors`, `dept_name`, `dept_category`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_dept`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (109, '000000', 102, '0,100,102', '办公室', NULL, 2, NULL, '15888888888', 'xxx@qq.com', '0', '0', 103, 1, '2025-06-20 16:22:20', 1, '2025-06-27 14:28:06');
|
||||
INSERT INTO `sys_dept` (`dept_id`, `tenant_id`, `parent_id`, `ancestors`, `dept_name`, `dept_category`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_dept`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (1938484510047297538, '000000', 102, '0,100,102', '人事处', NULL, 3, NULL, NULL, NULL, '0', '0', 103, 1, '2025-06-27 14:28:17', 1, '2025-06-27 14:28:17');
|
||||
INSERT INTO `sys_dept` (`dept_id`, `tenant_id`, `parent_id`, `ancestors`, `dept_name`, `dept_category`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_dept`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (1938484570826956801, '000000', 102, '0,100,102', '教务处', NULL, 4, NULL, NULL, NULL, '0', '0', 103, 1, '2025-06-27 14:28:32', 1, '2025-06-27 14:28:32');
|
||||
INSERT INTO `sys_dept` (`dept_id`, `tenant_id`, `parent_id`, `ancestors`, `dept_name`, `dept_category`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_dept`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (1938484606247854081, '000000', 102, '0,100,102', '科研处', NULL, 5, NULL, NULL, NULL, '0', '0', 103, 1, '2025-06-27 14:28:40', 1, '2025-06-27 14:28:40');
|
||||
INSERT INTO `sys_dept` (`dept_id`, `tenant_id`, `parent_id`, `ancestors`, `dept_name`, `dept_category`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_dept`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (1938484642188845057, '000000', 102, '0,100,102', '学生处', NULL, 6, NULL, NULL, NULL, '0', '0', 103, 1, '2025-06-27 14:28:49', 1, '2025-06-27 14:28:49');
|
||||
INSERT INTO `sys_dept` (`dept_id`, `tenant_id`, `parent_id`, `ancestors`, `dept_name`, `dept_category`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_dept`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (1938484683662123010, '000000', 102, '0,100,102', '计划财务处', NULL, 7, NULL, NULL, NULL, '0', '0', 103, 1, '2025-06-27 14:28:59', 1, '2025-06-27 14:28:59');
|
||||
INSERT INTO `sys_dept` (`dept_id`, `tenant_id`, `parent_id`, `ancestors`, `dept_name`, `dept_category`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_dept`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (1938484727379353601, '000000', 102, '0,100,102', '招生就业处', NULL, 8, NULL, NULL, NULL, '0', '0', 103, 1, '2025-06-27 14:29:09', 1, '2025-06-27 14:29:09');
|
||||
INSERT INTO `sys_dept` (`dept_id`, `tenant_id`, `parent_id`, `ancestors`, `dept_name`, `dept_category`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_dept`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (1938484762884136961, '000000', 102, '0,100,102', '培训处', NULL, 9, NULL, NULL, NULL, '0', '0', 103, 1, '2025-06-27 14:29:17', 1, '2025-06-27 14:29:17');
|
||||
INSERT INTO `sys_dept` (`dept_id`, `tenant_id`, `parent_id`, `ancestors`, `dept_name`, `dept_category`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_dept`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (1938484793632579586, '000000', 102, '0,100,102', '总务处', NULL, 10, NULL, NULL, NULL, '0', '0', 103, 1, '2025-06-27 14:29:25', 1, '2025-06-27 14:29:25');
|
||||
INSERT INTO `sys_dept` (`dept_id`, `tenant_id`, `parent_id`, `ancestors`, `dept_name`, `dept_category`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_dept`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (1938484834736758786, '000000', 102, '0,100,102', '保卫处', NULL, 11, NULL, NULL, NULL, '0', '0', 103, 1, '2025-06-27 14:29:35', 1, '2025-06-27 14:29:35');
|
||||
INSERT INTO `sys_dept` (`dept_id`, `tenant_id`, `parent_id`, `ancestors`, `dept_name`, `dept_category`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_dept`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (1938484865401315330, '000000', 102, '0,100,102', '基建处', NULL, 12, NULL, NULL, NULL, '0', '0', 103, 1, '2025-06-27 14:29:42', 1, '2025-06-27 14:29:42');
|
||||
INSERT INTO `sys_dept` (`dept_id`, `tenant_id`, `parent_id`, `ancestors`, `dept_name`, `dept_category`, `order_num`, `leader`, `phone`, `email`, `status`, `del_flag`, `create_dept`, `create_by`, `create_time`, `update_by`, `update_time`) VALUES (1938484923752472578, '000000', 102, '0,100,102', '临安校区综合办', NULL, 13, NULL, NULL, NULL, '0', '0', 103, 1, '2025-06-27 14:29:56', 1, '2025-06-27 14:29:56');
|
||||
COMMIT;
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
Executable
+123
@@ -0,0 +1,123 @@
|
||||
#!/bin/bash
|
||||
# 测试crontab配置脚本
|
||||
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
cd "$SCRIPT_DIR" || exit 1
|
||||
|
||||
echo "=========================================="
|
||||
echo "超星数据同步定时任务配置测试"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
|
||||
# 测试1: 检查文件是否存在
|
||||
echo "测试1: 检查必要文件..."
|
||||
files=("run_script.sh" "crontab_config.txt" "请求系部信息API.py" "请求专业信息API.py" "请求班级信息API.py" "请求学生信息API.py" "请求学籍异动信息API.py")
|
||||
all_exist=true
|
||||
for file in "${files[@]}"; do
|
||||
if [ -f "$SCRIPT_DIR/$file" ]; then
|
||||
echo " ✓ $file"
|
||||
else
|
||||
echo " ✗ $file (缺失)"
|
||||
all_exist=false
|
||||
fi
|
||||
done
|
||||
echo ""
|
||||
|
||||
# 测试2: 检查执行权限
|
||||
echo "测试2: 检查执行权限..."
|
||||
if [ -x "$SCRIPT_DIR/run_script.sh" ]; then
|
||||
echo " ✓ run_script.sh 有执行权限"
|
||||
else
|
||||
echo " ✗ run_script.sh 缺少执行权限"
|
||||
echo " 执行: chmod +x $SCRIPT_DIR/run_script.sh"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 测试3: 检查日志目录
|
||||
echo "测试3: 检查日志目录..."
|
||||
if [ -d "$SCRIPT_DIR/logs" ]; then
|
||||
echo " ✓ logs/ 目录存在"
|
||||
else
|
||||
echo " ⚠ logs/ 目录不存在,将自动创建"
|
||||
mkdir -p "$SCRIPT_DIR/logs"
|
||||
echo " ✓ logs/ 目录已创建"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 测试4: 检查Python环境
|
||||
echo "测试4: 检查Python环境..."
|
||||
if command -v python3 &> /dev/null; then
|
||||
PYTHON_VERSION=$(python3 --version)
|
||||
echo " ✓ Python3 已安装: $PYTHON_VERSION"
|
||||
|
||||
# 检查必要的Python包
|
||||
echo " 检查Python依赖包..."
|
||||
packages=("pymysql" "requests" "Crypto")
|
||||
for pkg in "${packages[@]}"; do
|
||||
if python3 -c "import ${pkg//-/_}" 2>/dev/null; then
|
||||
echo " ✓ $pkg"
|
||||
else
|
||||
echo " ✗ $pkg (未安装)"
|
||||
echo " 执行: pip3 install $pkg"
|
||||
fi
|
||||
done
|
||||
else
|
||||
echo " ✗ Python3 未安装或不在PATH中"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 测试5: 检查crontab配置语法
|
||||
echo "测试5: 检查crontab配置语法..."
|
||||
if [ -f "$SCRIPT_DIR/crontab_config.txt" ]; then
|
||||
# 提取crontab行(排除注释)
|
||||
crontab_lines=$(grep -E "^[0-9*]" "$SCRIPT_DIR/crontab_config.txt" | wc -l)
|
||||
echo " ✓ 找到 $crontab_lines 个crontab任务配置"
|
||||
|
||||
# 检查路径是否正确
|
||||
if grep -q "$SCRIPT_DIR" "$SCRIPT_DIR/crontab_config.txt"; then
|
||||
echo " ✓ 路径配置正确"
|
||||
else
|
||||
echo " ⚠ 路径可能不正确,请检查crontab_config.txt中的路径"
|
||||
fi
|
||||
else
|
||||
echo " ✗ crontab_config.txt 不存在"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 测试6: 测试脚本启动器(不实际执行Python脚本)
|
||||
echo "测试6: 测试脚本启动器..."
|
||||
if [ -x "$SCRIPT_DIR/run_script.sh" ]; then
|
||||
# 测试脚本是否能正确解析参数(使用不存在的脚本名,应该失败但不报错)
|
||||
if bash "$SCRIPT_DIR/run_script.sh" "测试脚本名" 2>&1 | grep -q "错误\|未指定"; then
|
||||
echo " ✓ 脚本启动器参数检查正常"
|
||||
else
|
||||
echo " ⚠ 脚本启动器测试未完全通过"
|
||||
fi
|
||||
else
|
||||
echo " ✗ 无法测试脚本启动器(缺少执行权限)"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
# 测试7: 显示当前crontab任务
|
||||
echo "测试7: 当前crontab任务..."
|
||||
if crontab -l 2>/dev/null | grep -q "请求"; then
|
||||
echo " ✓ 已安装超星数据同步任务"
|
||||
echo " 当前任务:"
|
||||
crontab -l | grep "请求" | sed 's/^/ /'
|
||||
else
|
||||
echo " ⚠ 未检测到已安装的定时任务"
|
||||
echo " 执行安装: ./install_crontab.sh"
|
||||
fi
|
||||
echo ""
|
||||
|
||||
echo "=========================================="
|
||||
echo "测试完成"
|
||||
echo "=========================================="
|
||||
echo ""
|
||||
echo "如果所有测试通过,可以执行以下命令安装定时任务:"
|
||||
echo " ./install_crontab.sh"
|
||||
echo ""
|
||||
echo "或者手动安装:"
|
||||
echo " crontab crontab_config.txt"
|
||||
echo ""
|
||||
|
||||
Binary file not shown.
@@ -0,0 +1,21 @@
|
||||
-- ============================================
|
||||
-- 修复 cx_xssj 表字段名错误
|
||||
-- ============================================
|
||||
-- 问题:表结构中字段名错误:xsjbxx_cysfwjhrxsjbxx_cysfwjhr1
|
||||
-- 正确字段名应该是:xsjbxx_cysfwjhr1
|
||||
-- ============================================
|
||||
|
||||
-- 检查字段是否存在
|
||||
-- SELECT COLUMN_NAME
|
||||
-- FROM INFORMATION_SCHEMA.COLUMNS
|
||||
-- WHERE TABLE_SCHEMA = DATABASE()
|
||||
-- AND TABLE_NAME = 'cx_xssj'
|
||||
-- AND COLUMN_NAME LIKE '%cysfwjhr%';
|
||||
|
||||
-- 如果表已经创建且字段名错误,执行以下SQL修复
|
||||
ALTER TABLE `cx_xssj`
|
||||
CHANGE COLUMN `xsjbxx_cysfwjhrxsjbxx_cysfwjhr1` `xsjbxx_cysfwjhr1` varchar(255) DEFAULT NULL COMMENT '成员1是否为监护人';
|
||||
|
||||
-- 验证修复结果
|
||||
-- DESCRIBE `cx_xssj`;
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,753 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
超星系统 - 专业信息完整同步脚本
|
||||
功能:
|
||||
1. 从超星API获取专业信息(API路径: ysjpi_71522/list)
|
||||
2. 保存到cx_zysj表
|
||||
3. 从cx_zysj表同步到sys_dept表(学工系统部门表)
|
||||
同步规则:
|
||||
- 筛选条件:zysj_kbzt='是'
|
||||
- 判断是否已存在:dept_category='zy-' + zysj_zybh AND dept_name=zysj_zymc
|
||||
- 父部门查找:通过 dept_category='xy-' + zysj_xbdm AND dept_name=zysj_ssyx 找到父dept_id
|
||||
- 插入到父部门下
|
||||
"""
|
||||
|
||||
import hashlib
|
||||
import base64
|
||||
import json
|
||||
import requests
|
||||
import pymysql
|
||||
import time
|
||||
from datetime import datetime
|
||||
from typing import Dict, Any, Optional, List
|
||||
from Crypto.Cipher import AES
|
||||
from Crypto.Util.Padding import unpad
|
||||
from db_config import DB_CONFIG, TABLE_MAPPING
|
||||
|
||||
|
||||
class ChaoxingMajorAPI:
|
||||
"""超星专业信息API请求类"""
|
||||
|
||||
def __init__(self, app_id: str, app_key: str, fid: str = "19628"):
|
||||
"""
|
||||
初始化API客户端
|
||||
|
||||
Args:
|
||||
app_id: API的appId
|
||||
app_key: API的appKey
|
||||
fid: 单位ID,默认19628
|
||||
"""
|
||||
self.app_id = app_id
|
||||
self.app_key = app_key
|
||||
self.fid = fid
|
||||
self.base_url = "https://appswh.chaoxing.com/biapi/api"
|
||||
self.api_path = "ysjpi_71522"
|
||||
# 生成AES解密密钥:appId去除'-'后取前16位
|
||||
self.aes_key = app_id.replace("-", "")[:16].encode('utf-8')
|
||||
|
||||
def generate_enc(self, page_num: int, page_size: int) -> str:
|
||||
"""
|
||||
生成enc加密验证串
|
||||
|
||||
enc加密方式:32位大写的MD5字符串
|
||||
格式:[apiPath=ysjpi_71522#$pageNum=页码#$pageSize=单页条数#$fid=19628#$appKey=授权appKey]
|
||||
|
||||
Args:
|
||||
page_num: 页码
|
||||
page_size: 单页条数
|
||||
|
||||
Returns:
|
||||
32位大写MD5字符串
|
||||
"""
|
||||
# 构建加密字符串
|
||||
enc_string = f"[apiPath={self.api_path}#$pageNum={page_num}#$pageSize={page_size}#$fid={self.fid}#$appKey={self.app_key}]"
|
||||
|
||||
# MD5加密并转为大写
|
||||
md5_hash = hashlib.md5(enc_string.encode('utf-8')).hexdigest().upper()
|
||||
|
||||
return md5_hash
|
||||
|
||||
def decrypt_data(self, ciphertext: str) -> Any:
|
||||
"""
|
||||
AES解密data字段
|
||||
|
||||
解密算法:AES/ECB/PKCS5Padding
|
||||
密钥:appId去除'-'后前16位字符
|
||||
|
||||
Args:
|
||||
ciphertext: Base64编码的密文
|
||||
|
||||
Returns:
|
||||
解密后的数据(可能是JSON字符串,需要进一步解析)
|
||||
"""
|
||||
try:
|
||||
# Base64解码
|
||||
encrypted_bytes = base64.b64decode(ciphertext)
|
||||
|
||||
# AES解密
|
||||
cipher = AES.new(self.aes_key, AES.MODE_ECB)
|
||||
decrypted_bytes = cipher.decrypt(encrypted_bytes)
|
||||
|
||||
# PKCS5Padding去填充
|
||||
decrypted_bytes = unpad(decrypted_bytes, AES.block_size)
|
||||
|
||||
# 转为字符串
|
||||
decrypted_text = decrypted_bytes.decode('utf-8')
|
||||
|
||||
# 尝试解析为JSON
|
||||
try:
|
||||
return json.loads(decrypted_text)
|
||||
except json.JSONDecodeError:
|
||||
# 如果不是JSON,直接返回字符串
|
||||
return decrypted_text
|
||||
|
||||
except Exception as e:
|
||||
print(f"解密失败: {e}")
|
||||
return None
|
||||
|
||||
def get_major_list(self, page_num: int = 1, page_size: int = 100) -> Dict[str, Any]:
|
||||
"""
|
||||
获取专业信息列表
|
||||
|
||||
Args:
|
||||
page_num: 页码,默认1
|
||||
page_size: 页条数,默认100,最大1000
|
||||
|
||||
Returns:
|
||||
API响应结果
|
||||
"""
|
||||
# 验证page_size
|
||||
if page_size > 1000:
|
||||
page_size = 1000
|
||||
print("警告: pageSize超过最大限制1000,已自动调整为1000")
|
||||
|
||||
# 生成enc加密串
|
||||
enc = self.generate_enc(page_num, page_size)
|
||||
|
||||
# 构建请求URL
|
||||
url = f"{self.base_url}/{self.api_path}/list"
|
||||
|
||||
# 构建请求参数
|
||||
params = {
|
||||
"pageNum": page_num,
|
||||
"pageSize": page_size,
|
||||
"fid": self.fid,
|
||||
"enc": enc
|
||||
}
|
||||
|
||||
# 构建请求头
|
||||
headers = {
|
||||
"appId": self.app_id,
|
||||
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
|
||||
}
|
||||
|
||||
try:
|
||||
# 发送GET请求
|
||||
print(f"正在请求: {url}")
|
||||
print(f"参数: {params}")
|
||||
print(f"请求头appId: {self.app_id}")
|
||||
|
||||
response = requests.get(url, params=params, headers=headers, timeout=30)
|
||||
|
||||
# 检查HTTP状态码
|
||||
response.raise_for_status()
|
||||
|
||||
# 解析JSON响应
|
||||
result = response.json()
|
||||
|
||||
# 解密data字段
|
||||
if result.get("data") and isinstance(result.get("data"), str):
|
||||
decrypted_data = self.decrypt_data(result["data"])
|
||||
if decrypted_data is not None:
|
||||
result["data"] = decrypted_data
|
||||
else:
|
||||
print("警告: data字段解密失败,保持原始值")
|
||||
|
||||
return result
|
||||
|
||||
except requests.exceptions.RequestException as e:
|
||||
print(f"请求失败: {e}")
|
||||
return {
|
||||
"code": -1,
|
||||
"message": f"请求异常: {str(e)}",
|
||||
"data": None
|
||||
}
|
||||
except ValueError as e:
|
||||
print(f"JSON解析失败: {e}")
|
||||
return {
|
||||
"code": -1,
|
||||
"message": f"响应解析失败: {str(e)}",
|
||||
"data": None
|
||||
}
|
||||
|
||||
def get_all_majors(self, max_page_size: int = 500) -> list:
|
||||
"""
|
||||
获取所有专业信息(自动分页)
|
||||
|
||||
Args:
|
||||
max_page_size: 每页最大条数,默认500
|
||||
|
||||
Returns:
|
||||
所有专业信息列表
|
||||
"""
|
||||
all_data = []
|
||||
page_num = 1
|
||||
total_pages = None # 总页数,从第一页响应中获取
|
||||
|
||||
while True:
|
||||
print(f"\n正在获取第 {page_num} 页数据...")
|
||||
result = self.get_major_list(page_num, max_page_size)
|
||||
|
||||
# 超星API成功时code=1,失败时code!=1
|
||||
if result.get("code") != 1:
|
||||
print(f"获取第 {page_num} 页失败: {result.get('message', '未知错误')}")
|
||||
break
|
||||
|
||||
# 获取分页信息(从extendData中)
|
||||
extend_data = result.get("extendData", {})
|
||||
if total_pages is None and extend_data:
|
||||
total_pages = int(extend_data.get("pages", 0))
|
||||
total_count = int(extend_data.get("count", 0))
|
||||
print(f"总页数: {total_pages}, 总条数: {total_count}")
|
||||
|
||||
data = result.get("data")
|
||||
if not data:
|
||||
print("没有更多数据")
|
||||
break
|
||||
|
||||
# 如果是列表,直接添加
|
||||
if isinstance(data, list):
|
||||
all_data.extend(data)
|
||||
print(f"第 {page_num} 页获取 {len(data)} 条数据,累计 {len(all_data)} 条")
|
||||
|
||||
# 如果知道总页数,检查是否已获取完所有页
|
||||
if total_pages and page_num >= total_pages:
|
||||
break
|
||||
# 如果返回的数据少于page_size,说明已经是最后一页
|
||||
if len(data) < max_page_size:
|
||||
break
|
||||
# 如果是字典,可能包含分页信息
|
||||
elif isinstance(data, dict):
|
||||
items = data.get("list", data.get("records", []))
|
||||
if items:
|
||||
all_data.extend(items)
|
||||
print(f"第 {page_num} 页获取 {len(items)} 条数据,累计 {len(all_data)} 条")
|
||||
# 检查是否还有下一页
|
||||
total = data.get("total", 0)
|
||||
if total and len(all_data) >= total:
|
||||
break
|
||||
else:
|
||||
break
|
||||
else:
|
||||
break
|
||||
|
||||
page_num += 1
|
||||
|
||||
print(f"\n总共获取 {len(all_data)} 条专业信息")
|
||||
return all_data
|
||||
|
||||
def clear_table(self) -> bool:
|
||||
"""
|
||||
清空专业数据表
|
||||
|
||||
Returns:
|
||||
是否成功
|
||||
"""
|
||||
try:
|
||||
connection = pymysql.connect(**DB_CONFIG)
|
||||
try:
|
||||
with connection.cursor() as cursor:
|
||||
table_name = TABLE_MAPPING["major"]
|
||||
cursor.execute(f"TRUNCATE TABLE `{table_name}`")
|
||||
connection.commit()
|
||||
print(f"✓ 已清空表 {table_name}")
|
||||
return True
|
||||
finally:
|
||||
connection.close()
|
||||
except Exception as e:
|
||||
print(f"✗ 清空表失败: {e}")
|
||||
return False
|
||||
|
||||
def save_to_database(self, data_list: List[Dict]) -> int:
|
||||
"""
|
||||
将专业数据保存到数据库
|
||||
|
||||
Args:
|
||||
data_list: 专业数据列表
|
||||
|
||||
Returns:
|
||||
成功插入的记录数
|
||||
"""
|
||||
if not data_list:
|
||||
print("数据列表为空,跳过保存")
|
||||
return 0
|
||||
|
||||
try:
|
||||
connection = pymysql.connect(**DB_CONFIG)
|
||||
try:
|
||||
current_time = int(time.time() * 1000) # 毫秒时间戳
|
||||
table_name = TABLE_MAPPING["major"]
|
||||
|
||||
with connection.cursor() as cursor:
|
||||
# 构建插入SQL
|
||||
insert_sql = f"""
|
||||
INSERT INTO `{table_name}` (
|
||||
`inserttime`, `updatetime`,
|
||||
`zysj_zymc`, `zysj_zybh`, `zysj_ssyx`, `zysj_xbdm`,
|
||||
`zysj_kbzt`, `zysj_xz`, `zysj_pycc`, `zysj_xzm`,
|
||||
`zysj_sfdlmc`, `zysj_zyywmc`, `zysj_zyjc`, `zysj_sfkz`,
|
||||
`zysj_qyyxsx`, `zysj_xxdm`, `zysj_zymldm`, `zysj_pzszny`,
|
||||
`zysj_sczsny`, `zysj_sfzdzy`, `zysj_zdzyjbmc`, `zysj_zdzyjbm`,
|
||||
`zysj_zdzylxmc`, `zysj_zdzylxm`, `zysj_sszyqmc`, `zysj_sszyqh`,
|
||||
`zysj_sjzt`, `zysj_sjztm`, `zysj_sjcjsj`, `dataMigrateUniqueId`
|
||||
) VALUES (
|
||||
%s, %s, %s, %s, %s, %s, %s, %s, %s, %s,
|
||||
%s, %s, %s, %s, %s, %s, %s, %s, %s, %s,
|
||||
%s, %s, %s, %s, %s, %s, %s, %s, %s, %s
|
||||
)
|
||||
"""
|
||||
|
||||
success_count = 0
|
||||
for item in data_list:
|
||||
try:
|
||||
cursor.execute(insert_sql, (
|
||||
current_time, current_time, # inserttime, updatetime
|
||||
item.get('zysj_zymc'), item.get('zysj_zybh'), item.get('zysj_ssyx'), item.get('zysj_xbdm'),
|
||||
item.get('zysj_kbzt'), item.get('zysj_xz'), item.get('zysj_pycc'), item.get('zysj_xzm'),
|
||||
item.get('zysj_sfdlmc'), item.get('zysj_zyywmc'), item.get('zysj_zyjc'), item.get('zysj_sfkz'),
|
||||
item.get('zysj_qyyxsx'), item.get('zysj_xxdm'), item.get('zysj_zymldm'), item.get('zysj_pzszny'),
|
||||
item.get('zysj_sczsny'), item.get('zysj_sfzdzy'), item.get('zysj_zdzyjbmc'), item.get('zysj_zdzyjbm'),
|
||||
item.get('zysj_zdzylxmc'), item.get('zysj_zdzylxm'), item.get('zysj_sszyqmc'), item.get('zysj_sszyqh'),
|
||||
item.get('zysj_sjzt'), item.get('zysj_sjztm'), item.get('zysj_sjcjsj'), item.get('dataMigrateUniqueId')
|
||||
))
|
||||
success_count += 1
|
||||
except Exception as e:
|
||||
print(f"插入单条数据失败: {e}, 数据: {item}")
|
||||
|
||||
connection.commit()
|
||||
print(f"✓ 成功插入 {success_count}/{len(data_list)} 条数据到表 {table_name}")
|
||||
return success_count
|
||||
finally:
|
||||
connection.close()
|
||||
except Exception as e:
|
||||
print(f"✗ 保存数据到数据库失败: {e}")
|
||||
return 0
|
||||
|
||||
|
||||
class MajorSync:
|
||||
"""专业数据同步类 - 从cx_zysj表同步到sys_dept表"""
|
||||
|
||||
def __init__(self):
|
||||
"""初始化"""
|
||||
self.tenant_id = '000000'
|
||||
|
||||
def get_valid_majors(self) -> List[Dict[str, Any]]:
|
||||
"""
|
||||
从cx_zysj表中获取符合条件的数据
|
||||
|
||||
Returns:
|
||||
符合条件的专业数据列表
|
||||
"""
|
||||
try:
|
||||
connection = pymysql.connect(**DB_CONFIG)
|
||||
try:
|
||||
with connection.cursor(pymysql.cursors.DictCursor) as cursor:
|
||||
# 查询符合条件的数据:zysj_kbzt='是'
|
||||
sql = """
|
||||
SELECT
|
||||
zysj_zymc, zysj_zybh, zysj_ssyx, zysj_xbdm, zysj_kbzt
|
||||
FROM cx_zysj
|
||||
WHERE zysj_kbzt = '是'
|
||||
ORDER BY inserttime ASC
|
||||
"""
|
||||
cursor.execute(sql)
|
||||
results = cursor.fetchall()
|
||||
print(f"✓ 从cx_zysj表中查询到 {len(results)} 条符合条件的数据")
|
||||
return results
|
||||
finally:
|
||||
connection.close()
|
||||
except Exception as e:
|
||||
print(f"✗ 查询cx_zysj表失败: {e}")
|
||||
return []
|
||||
|
||||
def find_parent_dept(self, zysj_xbdm: str, zysj_ssyx: str) -> Optional[Dict[str, Any]]:
|
||||
"""
|
||||
查找父部门信息
|
||||
|
||||
通过 dept_category='xy-' + zysj_xbdm AND dept_name=zysj_ssyx 找到父部门
|
||||
|
||||
Args:
|
||||
zysj_xbdm: 系部代码
|
||||
zysj_ssyx: 所属院系名称
|
||||
|
||||
Returns:
|
||||
父部门信息字典,包含dept_id和ancestors,如果未找到则返回None
|
||||
"""
|
||||
if not zysj_xbdm or not zysj_ssyx:
|
||||
return None
|
||||
|
||||
try:
|
||||
connection = pymysql.connect(**DB_CONFIG)
|
||||
try:
|
||||
with connection.cursor(pymysql.cursors.DictCursor) as cursor:
|
||||
dept_category = f"xy-{zysj_xbdm}"
|
||||
sql = """
|
||||
SELECT dept_id, ancestors
|
||||
FROM sys_dept
|
||||
WHERE dept_category = %s AND dept_name = %s
|
||||
LIMIT 1
|
||||
"""
|
||||
cursor.execute(sql, (dept_category, zysj_ssyx))
|
||||
result = cursor.fetchone()
|
||||
return result
|
||||
finally:
|
||||
connection.close()
|
||||
except Exception as e:
|
||||
print(f"✗ 查找父部门失败: {e}")
|
||||
return None
|
||||
|
||||
def check_major_exists(self, dept_name: str, dept_category: str) -> bool:
|
||||
"""
|
||||
检查专业是否已存在
|
||||
|
||||
Args:
|
||||
dept_name: 专业名称
|
||||
dept_category: 专业类别编码
|
||||
|
||||
Returns:
|
||||
是否存在
|
||||
"""
|
||||
try:
|
||||
connection = pymysql.connect(**DB_CONFIG)
|
||||
try:
|
||||
with connection.cursor() as cursor:
|
||||
sql = """
|
||||
SELECT COUNT(*) as count
|
||||
FROM sys_dept
|
||||
WHERE dept_name = %s AND dept_category = %s
|
||||
"""
|
||||
cursor.execute(sql, (dept_name, dept_category))
|
||||
result = cursor.fetchone()
|
||||
return result[0] > 0
|
||||
finally:
|
||||
connection.close()
|
||||
except Exception as e:
|
||||
print(f"✗ 检查专业是否存在失败: {e}")
|
||||
return False
|
||||
|
||||
def get_max_order_num(self, parent_id: int) -> int:
|
||||
"""
|
||||
获取指定父节点下的最大order_num
|
||||
|
||||
Args:
|
||||
parent_id: 父部门ID
|
||||
|
||||
Returns:
|
||||
最大order_num,如果没有数据则返回0
|
||||
"""
|
||||
try:
|
||||
connection = pymysql.connect(**DB_CONFIG)
|
||||
try:
|
||||
with connection.cursor() as cursor:
|
||||
sql = """
|
||||
SELECT MAX(order_num) as max_order
|
||||
FROM sys_dept
|
||||
WHERE parent_id = %s
|
||||
"""
|
||||
cursor.execute(sql, (parent_id,))
|
||||
result = cursor.fetchone()
|
||||
return result[0] if result[0] is not None else 0
|
||||
finally:
|
||||
connection.close()
|
||||
except Exception as e:
|
||||
print(f"✗ 获取最大order_num失败: {e}")
|
||||
return 0
|
||||
|
||||
def generate_dept_id(self, base_timestamp: str, index: int) -> int:
|
||||
"""
|
||||
生成dept_id
|
||||
格式:当前时间戳(%Y%m%d%H%M%S)+ 0001开始递增
|
||||
|
||||
Args:
|
||||
base_timestamp: 基础时间戳字符串(格式:%Y%m%d%H%M%S)
|
||||
index: 序号(从1开始)
|
||||
|
||||
Returns:
|
||||
dept_id
|
||||
"""
|
||||
# 序号格式化为4位数字(0001, 0002, ...)
|
||||
sequence = str(index).zfill(4)
|
||||
# 拼接:时间戳 + 序号
|
||||
dept_id_str = base_timestamp + sequence
|
||||
return int(dept_id_str)
|
||||
|
||||
def sync_majors(self) -> Dict[str, Any]:
|
||||
"""
|
||||
同步专业数据到sys_dept表
|
||||
|
||||
Returns:
|
||||
同步结果统计(包含成功、跳过、失败的专业编号列表)
|
||||
"""
|
||||
# 获取符合条件的数据
|
||||
valid_majors = self.get_valid_majors()
|
||||
if not valid_majors:
|
||||
print("没有符合条件的数据需要同步")
|
||||
return {
|
||||
"total": 0,
|
||||
"inserted": 0,
|
||||
"skipped": 0,
|
||||
"failed": 0,
|
||||
"inserted_zybh": [],
|
||||
"skipped_zybh": [],
|
||||
"failed_zybh": []
|
||||
}
|
||||
|
||||
# 生成基础时间戳(用于生成dept_id)
|
||||
base_timestamp = datetime.now().strftime('%Y%m%d%H%M%S')
|
||||
|
||||
# 统计信息
|
||||
stats = {
|
||||
"total": len(valid_majors),
|
||||
"inserted": 0,
|
||||
"skipped": 0,
|
||||
"failed": 0,
|
||||
"inserted_zybh": [], # 成功插入的专业编号列表
|
||||
"skipped_zybh": [], # 跳过的专业编号列表
|
||||
"failed_zybh": [] # 失败的专业编号列表
|
||||
}
|
||||
|
||||
# 当前时间
|
||||
current_time = datetime.now()
|
||||
|
||||
# 用于生成dept_id的序号计数器(只对实际插入的数据计数)
|
||||
insert_index = 0
|
||||
|
||||
# 按父部门分组,以便管理order_num
|
||||
parent_order_map = {} # {parent_id: current_order_num}
|
||||
|
||||
try:
|
||||
connection = pymysql.connect(**DB_CONFIG)
|
||||
try:
|
||||
with connection.cursor() as cursor:
|
||||
# 准备插入SQL
|
||||
insert_sql = """
|
||||
INSERT INTO sys_dept (
|
||||
dept_id, tenant_id, parent_id, ancestors, dept_name, dept_category,
|
||||
order_num, leader, phone, email, status, del_flag,
|
||||
create_dept, create_by, create_time, update_by, update_time
|
||||
) VALUES (
|
||||
%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s
|
||||
)
|
||||
"""
|
||||
|
||||
# 遍历数据,逐个处理
|
||||
for major in valid_majors:
|
||||
zysj_zymc = major.get('zysj_zymc')
|
||||
zysj_zybh = major.get('zysj_zybh')
|
||||
zysj_ssyx = major.get('zysj_ssyx')
|
||||
zysj_xbdm = major.get('zysj_xbdm')
|
||||
|
||||
# 验证数据
|
||||
if not zysj_zymc:
|
||||
print(f"⚠ 跳过:专业名称为空 (zysj_zybh: {zysj_zybh})")
|
||||
stats["skipped"] += 1
|
||||
if zysj_zybh:
|
||||
stats["skipped_zybh"].append(zysj_zybh)
|
||||
continue
|
||||
|
||||
if not zysj_zybh:
|
||||
print(f"⚠ 跳过:专业编号为空 (zysj_zymc: {zysj_zymc})")
|
||||
stats["skipped"] += 1
|
||||
# 专业编号为空,无法记录
|
||||
continue
|
||||
|
||||
if not zysj_ssyx:
|
||||
print(f"⚠ 跳过:所属院系为空 (zysj_zymc: {zysj_zymc}, zysj_zybh: {zysj_zybh})")
|
||||
stats["skipped"] += 1
|
||||
stats["skipped_zybh"].append(zysj_zybh)
|
||||
continue
|
||||
|
||||
if not zysj_xbdm:
|
||||
print(f"⚠ 跳过:系部代码为空 (zysj_zymc: {zysj_zymc}, zysj_zybh: {zysj_zybh})")
|
||||
stats["skipped"] += 1
|
||||
stats["skipped_zybh"].append(zysj_zybh)
|
||||
continue
|
||||
|
||||
# 检查dept_name长度(sys_dept表中dept_name是varchar(30))
|
||||
if len(zysj_zymc) > 30:
|
||||
print(f"⚠ 警告:专业名称超过30字符,将被截断: {zysj_zymc} (长度: {len(zysj_zymc)})")
|
||||
zysj_zymc = zysj_zymc[:30]
|
||||
|
||||
# 构建dept_category
|
||||
dept_category = f"zy-{zysj_zybh}"
|
||||
|
||||
# 检查是否已存在
|
||||
if self.check_major_exists(zysj_zymc, dept_category):
|
||||
print(f"⏭ 跳过已存在的专业: {zysj_zymc} (dept_category: {dept_category})")
|
||||
stats["skipped"] += 1
|
||||
stats["skipped_zybh"].append(zysj_zybh)
|
||||
continue
|
||||
|
||||
# 查找父部门
|
||||
parent_dept = self.find_parent_dept(zysj_xbdm, zysj_ssyx)
|
||||
if not parent_dept:
|
||||
print(f"⚠ 跳过:未找到父部门 (zysj_ssyx: {zysj_ssyx}, zysj_xbdm: {zysj_xbdm}, zysj_zymc: {zysj_zymc})")
|
||||
stats["skipped"] += 1
|
||||
stats["skipped_zybh"].append(zysj_zybh)
|
||||
continue
|
||||
|
||||
parent_id = parent_dept['dept_id']
|
||||
parent_ancestors = parent_dept['ancestors']
|
||||
|
||||
# 构建ancestors:父部门的ancestors + 父部门的dept_id
|
||||
if parent_ancestors:
|
||||
ancestors = f"{parent_ancestors},{parent_id}"
|
||||
else:
|
||||
ancestors = str(parent_id)
|
||||
|
||||
# 获取或初始化该父部门下的order_num
|
||||
if parent_id not in parent_order_map:
|
||||
max_order_num = self.get_max_order_num(parent_id)
|
||||
parent_order_map[parent_id] = max_order_num
|
||||
|
||||
# 递增order_num
|
||||
parent_order_map[parent_id] += 1
|
||||
current_order_num = parent_order_map[parent_id]
|
||||
|
||||
# 递增插入序号(只对实际插入的数据计数)
|
||||
insert_index += 1
|
||||
|
||||
# 生成dept_id
|
||||
dept_id = self.generate_dept_id(base_timestamp, insert_index)
|
||||
|
||||
# 准备插入数据
|
||||
try:
|
||||
cursor.execute(insert_sql, (
|
||||
dept_id, # dept_id
|
||||
self.tenant_id, # tenant_id
|
||||
parent_id, # parent_id
|
||||
ancestors, # ancestors
|
||||
zysj_zymc, # dept_name
|
||||
dept_category, # dept_category
|
||||
current_order_num, # order_num
|
||||
None, # leader
|
||||
None, # phone
|
||||
None, # email
|
||||
'0', # status
|
||||
'0', # del_flag
|
||||
0, # create_dept
|
||||
1, # create_by
|
||||
current_time, # create_time
|
||||
1, # update_by
|
||||
current_time # update_time
|
||||
))
|
||||
stats["inserted"] += 1
|
||||
stats["inserted_zybh"].append(zysj_zybh)
|
||||
print(f"✓ 插入专业: {zysj_zymc} (dept_id: {dept_id}, dept_category: {dept_category}, parent_id: {parent_id}, order_num: {current_order_num})")
|
||||
except Exception as e:
|
||||
stats["failed"] += 1
|
||||
stats["failed_zybh"].append(zysj_zybh)
|
||||
print(f"✗ 插入专业失败: {zysj_zymc}, 错误: {e}")
|
||||
|
||||
# 提交事务
|
||||
connection.commit()
|
||||
print(f"\n✓ 事务提交成功")
|
||||
|
||||
finally:
|
||||
connection.close()
|
||||
except Exception as e:
|
||||
print(f"✗ 同步过程发生错误: {e}")
|
||||
stats["failed"] = stats["total"] - stats["inserted"] - stats["skipped"]
|
||||
|
||||
return stats
|
||||
|
||||
def print_statistics(self, stats: Dict[str, Any]):
|
||||
"""
|
||||
打印统计信息
|
||||
|
||||
Args:
|
||||
stats: 统计信息字典(包含专业编号列表)
|
||||
"""
|
||||
print("\n" + "=" * 60)
|
||||
print("同步统计信息")
|
||||
print("=" * 60)
|
||||
print(f"总数: {stats['total']}")
|
||||
print(f"成功插入: {stats['inserted']}")
|
||||
print(f"跳过: {stats['skipped']}")
|
||||
print(f"失败: {stats['failed']}")
|
||||
print("=" * 60)
|
||||
|
||||
# 输出专业编号列表(逗号分隔)
|
||||
if stats.get('inserted_zybh'):
|
||||
inserted_zybh_str = ','.join(stats['inserted_zybh'])
|
||||
print(f"\n成功插入的专业编号: {inserted_zybh_str}")
|
||||
|
||||
if stats.get('skipped_zybh'):
|
||||
skipped_zybh_str = ','.join(stats['skipped_zybh'])
|
||||
print(f"跳过的专业编号: {skipped_zybh_str}")
|
||||
|
||||
if stats.get('failed_zybh'):
|
||||
failed_zybh_str = ','.join(stats['failed_zybh'])
|
||||
print(f"失败的专业编号: {failed_zybh_str}")
|
||||
|
||||
print("=" * 60)
|
||||
|
||||
|
||||
def main():
|
||||
"""主函数 - 示例用法"""
|
||||
# API配置信息
|
||||
APP_ID = "36c1e58c-7f0a-4567-8ea8-93c7acadbbde"
|
||||
APP_KEY = "dyjs_zyxx"
|
||||
FID = "19628" # 单位ID
|
||||
|
||||
# 创建API客户端
|
||||
api = ChaoxingMajorAPI(app_id=APP_ID, app_key=APP_KEY, fid=FID)
|
||||
|
||||
# 获取所有数据并保存到数据库
|
||||
print("=" * 60)
|
||||
print("获取所有专业信息并保存到数据库")
|
||||
print("=" * 60)
|
||||
|
||||
# 步骤1: 清空表
|
||||
print("\n步骤1: 清空专业数据表...")
|
||||
api.clear_table()
|
||||
|
||||
# 步骤2: 获取所有数据
|
||||
print("\n步骤2: 获取所有专业信息(自动分页)...")
|
||||
all_majors = api.get_all_majors(max_page_size=500)
|
||||
|
||||
# 步骤3: 保存到数据库
|
||||
if all_majors:
|
||||
print(f"\n步骤3: 保存数据到数据库...")
|
||||
saved_count = api.save_to_database(all_majors)
|
||||
print(f"\n✓ 完成!共获取 {len(all_majors)} 条数据,成功保存 {saved_count} 条")
|
||||
|
||||
print(f"\n前3条数据示例:")
|
||||
for i, major in enumerate(all_majors[:3], 1):
|
||||
print(f"{i}. {major}")
|
||||
else:
|
||||
print("\n✗ 未获取到数据")
|
||||
|
||||
# ========== 第二阶段:从cx_zysj表同步到sys_dept表 ==========
|
||||
print("\n" + "=" * 60)
|
||||
print("第二阶段:从cx_zysj表同步到sys_dept表")
|
||||
print("=" * 60)
|
||||
print(f"筛选条件: zysj_kbzt='是'")
|
||||
print(f"判断是否已存在: dept_category='zy-' + zysj_zybh AND dept_name=zysj_zymc")
|
||||
print(f"父部门查找: dept_category='xy-' + zysj_xbdm AND dept_name=zysj_ssyx")
|
||||
print("=" * 60)
|
||||
|
||||
# 创建同步实例
|
||||
sync = MajorSync()
|
||||
|
||||
# 执行同步
|
||||
stats = sync.sync_majors()
|
||||
|
||||
# 打印统计信息
|
||||
sync.print_statistics(stats)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,367 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
超星系统 - 学生学籍异动信息API请求脚本
|
||||
API路径: xjydsjpi_48018/list
|
||||
"""
|
||||
|
||||
import hashlib
|
||||
import base64
|
||||
import json
|
||||
import requests
|
||||
import pymysql
|
||||
import time
|
||||
from typing import Dict, Any, Optional, List
|
||||
from Crypto.Cipher import AES
|
||||
from Crypto.Util.Padding import unpad
|
||||
from db_config import DB_CONFIG, TABLE_MAPPING
|
||||
|
||||
|
||||
class ChaoxingStudentChangeAPI:
|
||||
"""超星学生学籍异动信息API请求类"""
|
||||
|
||||
def __init__(self, app_id: str, app_key: str, fid: str = "19628"):
|
||||
"""
|
||||
初始化API客户端
|
||||
|
||||
Args:
|
||||
app_id: API的appId
|
||||
app_key: API的appKey
|
||||
fid: 单位ID,默认19628
|
||||
"""
|
||||
self.app_id = app_id
|
||||
self.app_key = app_key
|
||||
self.fid = fid
|
||||
self.base_url = "https://appswh.chaoxing.com/biapi/api"
|
||||
self.api_path = "xjydsjpi_48018"
|
||||
# 生成AES解密密钥:appId去除'-'后取前16位
|
||||
self.aes_key = app_id.replace("-", "")[:16].encode('utf-8')
|
||||
|
||||
def generate_enc(self, page_num: int, page_size: int) -> str:
|
||||
"""
|
||||
生成enc加密验证串
|
||||
|
||||
enc加密方式:32位大写的MD5字符串
|
||||
格式:[apiPath=xjydsjpi_48018#$pageNum=页码#$pageSize=单页条数#$fid=19628#$appKey=授权appKey]
|
||||
|
||||
Args:
|
||||
page_num: 页码
|
||||
page_size: 单页条数
|
||||
|
||||
Returns:
|
||||
32位大写MD5字符串
|
||||
"""
|
||||
# 构建加密字符串
|
||||
enc_string = f"[apiPath={self.api_path}#$pageNum={page_num}#$pageSize={page_size}#$fid={self.fid}#$appKey={self.app_key}]"
|
||||
|
||||
# MD5加密并转为大写
|
||||
md5_hash = hashlib.md5(enc_string.encode('utf-8')).hexdigest().upper()
|
||||
|
||||
return md5_hash
|
||||
|
||||
def decrypt_data(self, ciphertext: str) -> Any:
|
||||
"""
|
||||
AES解密data字段
|
||||
|
||||
解密算法:AES/ECB/PKCS5Padding
|
||||
密钥:appId去除'-'后前16位字符
|
||||
|
||||
Args:
|
||||
ciphertext: Base64编码的密文
|
||||
|
||||
Returns:
|
||||
解密后的数据(可能是JSON字符串,需要进一步解析)
|
||||
"""
|
||||
try:
|
||||
# Base64解码
|
||||
encrypted_bytes = base64.b64decode(ciphertext)
|
||||
|
||||
# AES解密
|
||||
cipher = AES.new(self.aes_key, AES.MODE_ECB)
|
||||
decrypted_bytes = cipher.decrypt(encrypted_bytes)
|
||||
|
||||
# PKCS5Padding去填充
|
||||
decrypted_bytes = unpad(decrypted_bytes, AES.block_size)
|
||||
|
||||
# 转为字符串
|
||||
decrypted_text = decrypted_bytes.decode('utf-8')
|
||||
|
||||
# 尝试解析为JSON
|
||||
try:
|
||||
return json.loads(decrypted_text)
|
||||
except json.JSONDecodeError:
|
||||
# 如果不是JSON,直接返回字符串
|
||||
return decrypted_text
|
||||
|
||||
except Exception as e:
|
||||
print(f"解密失败: {e}")
|
||||
return None
|
||||
|
||||
def get_student_change_list(self, page_num: int = 1, page_size: int = 100) -> Dict[str, Any]:
|
||||
"""
|
||||
获取学生学籍异动信息列表
|
||||
|
||||
Args:
|
||||
page_num: 页码,默认1
|
||||
page_size: 页条数,默认100,最大1000
|
||||
|
||||
Returns:
|
||||
API响应结果
|
||||
"""
|
||||
# 验证page_size
|
||||
if page_size > 1000:
|
||||
page_size = 1000
|
||||
print("警告: pageSize超过最大限制1000,已自动调整为1000")
|
||||
|
||||
# 生成enc加密串
|
||||
enc = self.generate_enc(page_num, page_size)
|
||||
|
||||
# 构建请求URL
|
||||
url = f"{self.base_url}/{self.api_path}/list"
|
||||
|
||||
# 构建请求参数
|
||||
params = {
|
||||
"pageNum": page_num,
|
||||
"pageSize": page_size,
|
||||
"fid": self.fid,
|
||||
"enc": enc
|
||||
}
|
||||
|
||||
# 构建请求头(appId放在请求头中)
|
||||
headers = {
|
||||
"appId": self.app_id,
|
||||
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
|
||||
}
|
||||
|
||||
try:
|
||||
# 发送GET请求
|
||||
print(f"正在请求: {url}")
|
||||
print(f"参数: {params}")
|
||||
print(f"请求头appId: {self.app_id}")
|
||||
|
||||
response = requests.get(url, params=params, headers=headers, timeout=30)
|
||||
|
||||
# 检查HTTP状态码
|
||||
response.raise_for_status()
|
||||
|
||||
# 解析JSON响应
|
||||
result = response.json()
|
||||
|
||||
# 解密data字段
|
||||
if result.get("data") and isinstance(result.get("data"), str):
|
||||
decrypted_data = self.decrypt_data(result["data"])
|
||||
if decrypted_data is not None:
|
||||
result["data"] = decrypted_data
|
||||
else:
|
||||
print("警告: data字段解密失败,保持原始值")
|
||||
|
||||
return result
|
||||
|
||||
except requests.exceptions.RequestException as e:
|
||||
print(f"请求失败: {e}")
|
||||
return {
|
||||
"code": -1,
|
||||
"message": f"请求异常: {str(e)}",
|
||||
"data": None
|
||||
}
|
||||
except ValueError as e:
|
||||
print(f"JSON解析失败: {e}")
|
||||
return {
|
||||
"code": -1,
|
||||
"message": f"响应解析失败: {str(e)}",
|
||||
"data": None
|
||||
}
|
||||
|
||||
def get_all_student_changes(self, max_page_size: int = 500) -> list:
|
||||
"""
|
||||
获取所有学生学籍异动信息(自动分页)
|
||||
|
||||
Args:
|
||||
max_page_size: 每页最大条数,默认500
|
||||
|
||||
Returns:
|
||||
所有学籍异动信息列表
|
||||
"""
|
||||
all_data = []
|
||||
page_num = 1
|
||||
total_pages = None # 总页数,从第一页响应中获取
|
||||
|
||||
while True:
|
||||
print(f"\n正在获取第 {page_num} 页数据...")
|
||||
result = self.get_student_change_list(page_num, max_page_size)
|
||||
|
||||
# 超星API成功时code=1,失败时code!=1
|
||||
if result.get("code") != 1:
|
||||
print(f"获取第 {page_num} 页失败: {result.get('message', '未知错误')}")
|
||||
break
|
||||
|
||||
# 获取分页信息(从extendData中)
|
||||
extend_data = result.get("extendData", {})
|
||||
if total_pages is None and extend_data:
|
||||
total_pages = int(extend_data.get("pages", 0))
|
||||
total_count = int(extend_data.get("count", 0))
|
||||
print(f"总页数: {total_pages}, 总条数: {total_count}")
|
||||
|
||||
data = result.get("data")
|
||||
if not data:
|
||||
print("没有更多数据")
|
||||
break
|
||||
|
||||
# 如果是列表,直接添加
|
||||
if isinstance(data, list):
|
||||
all_data.extend(data)
|
||||
print(f"第 {page_num} 页获取 {len(data)} 条数据,累计 {len(all_data)} 条")
|
||||
|
||||
# 如果知道总页数,检查是否已获取完所有页
|
||||
if total_pages and page_num >= total_pages:
|
||||
break
|
||||
# 如果返回的数据少于page_size,说明已经是最后一页
|
||||
if len(data) < max_page_size:
|
||||
break
|
||||
# 如果是字典,可能包含分页信息
|
||||
elif isinstance(data, dict):
|
||||
items = data.get("list", data.get("records", []))
|
||||
if items:
|
||||
all_data.extend(items)
|
||||
print(f"第 {page_num} 页获取 {len(items)} 条数据,累计 {len(all_data)} 条")
|
||||
# 检查是否还有下一页
|
||||
total = data.get("total", 0)
|
||||
if total and len(all_data) >= total:
|
||||
break
|
||||
else:
|
||||
break
|
||||
else:
|
||||
break
|
||||
|
||||
page_num += 1
|
||||
|
||||
print(f"\n总共获取 {len(all_data)} 条学籍异动信息")
|
||||
return all_data
|
||||
|
||||
def clear_table(self) -> bool:
|
||||
"""
|
||||
清空学籍异动数据表
|
||||
|
||||
Returns:
|
||||
是否成功
|
||||
"""
|
||||
try:
|
||||
connection = pymysql.connect(**DB_CONFIG)
|
||||
try:
|
||||
with connection.cursor() as cursor:
|
||||
table_name = TABLE_MAPPING["student_change"]
|
||||
cursor.execute(f"TRUNCATE TABLE `{table_name}`")
|
||||
connection.commit()
|
||||
print(f"✓ 已清空表 {table_name}")
|
||||
return True
|
||||
finally:
|
||||
connection.close()
|
||||
except Exception as e:
|
||||
print(f"✗ 清空表失败: {e}")
|
||||
return False
|
||||
|
||||
def save_to_database(self, data_list: List[Dict]) -> int:
|
||||
"""
|
||||
将学籍异动数据保存到数据库
|
||||
|
||||
Args:
|
||||
data_list: 学籍异动数据列表
|
||||
|
||||
Returns:
|
||||
成功插入的记录数
|
||||
"""
|
||||
if not data_list:
|
||||
print("数据列表为空,跳过保存")
|
||||
return 0
|
||||
|
||||
try:
|
||||
connection = pymysql.connect(**DB_CONFIG)
|
||||
try:
|
||||
current_time = int(time.time() * 1000) # 毫秒时间戳
|
||||
table_name = TABLE_MAPPING["student_change"]
|
||||
|
||||
with connection.cursor() as cursor:
|
||||
# 构建插入SQL
|
||||
insert_sql = f"""
|
||||
INSERT INTO `{table_name}` (
|
||||
`inserttime`, `updatetime`,
|
||||
`xjyd_yjsqsj`, `xjyd_ydsxxq`, `xjydsp_ydlx`, `xjydsp_sqrxh`,
|
||||
`xjydsp_xm`, `xjydsp_ydqssxq`, `xjydsp_ydqsznj`, `xjydsp_ydqszyx`,
|
||||
`xjydsp_ydqszzy`, `xjydsp_ydqszbj`, `xjydsp_ydqxz`, `xjydsp_ydhszbj`,
|
||||
`xjydsp_ydhsznj`, `xjydsp_ydhszyx`, `xjydsp_ydhszzy`, `xjydsp_ydhssxq`,
|
||||
`xjydsp_ydhxz`, `xjydsp_ydhbzrgh`, `xjyd_name`, `xjydsp_sqyy`,
|
||||
`xjydsp_ydhbzr`, `xjydsp_sxqm`, `xjydsp_zmfj`, `xjyd_shzt`,
|
||||
`xjydsp_ydhyxbh`, `xjydsp_ydhzybh`, `xjydsp_ydhbjbh`
|
||||
) VALUES (
|
||||
%s, %s, %s, %s, %s, %s, %s, %s, %s, %s,
|
||||
%s, %s, %s, %s, %s, %s, %s, %s, %s, %s,
|
||||
%s, %s, %s, %s, %s, %s, %s, %s, %s
|
||||
)
|
||||
"""
|
||||
|
||||
success_count = 0
|
||||
for item in data_list:
|
||||
try:
|
||||
cursor.execute(insert_sql, (
|
||||
current_time, current_time, # inserttime, updatetime
|
||||
item.get('xjyd_yjsqsj'), item.get('xjyd_ydsxxq'), item.get('xjydsp_ydlx'), item.get('xjydsp_sqrxh'),
|
||||
item.get('xjydsp_xm'), item.get('xjydsp_ydqssxq'), item.get('xjydsp_ydqsznj'), item.get('xjydsp_ydqszyx'),
|
||||
item.get('xjydsp_ydqszzy'), item.get('xjydsp_ydqszbj'), item.get('xjydsp_ydqxz'), item.get('xjydsp_ydhszbj'),
|
||||
item.get('xjydsp_ydhsznj'), item.get('xjydsp_ydhszyx'), item.get('xjydsp_ydhszzy'), item.get('xjydsp_ydhssxq'),
|
||||
item.get('xjydsp_ydhxz'), item.get('xjydsp_ydhbzrgh'), item.get('xjyd_name'), item.get('xjydsp_sqyy'),
|
||||
item.get('xjydsp_ydhbzr'), item.get('xjydsp_sxqm'), item.get('xjydsp_zmfj'), item.get('xjyd_shzt'),
|
||||
item.get('xjydsp_ydhyxbh'), item.get('xjydsp_ydhzybh'), item.get('xjydsp_ydhbjbh')
|
||||
))
|
||||
success_count += 1
|
||||
except Exception as e:
|
||||
print(f"插入单条数据失败: {e}, 数据: {item}")
|
||||
|
||||
connection.commit()
|
||||
print(f"✓ 成功插入 {success_count}/{len(data_list)} 条数据到表 {table_name}")
|
||||
return success_count
|
||||
finally:
|
||||
connection.close()
|
||||
except Exception as e:
|
||||
print(f"✗ 保存数据到数据库失败: {e}")
|
||||
return 0
|
||||
|
||||
|
||||
def main():
|
||||
"""主函数 - 示例用法"""
|
||||
# API配置信息
|
||||
APP_ID = "4083b823-cc45-4b4b-8eb4-a789f791b23c"
|
||||
APP_KEY = "dyjs_xjyd"
|
||||
FID = "19628" # 单位ID
|
||||
|
||||
# 创建API客户端
|
||||
api = ChaoxingStudentChangeAPI(app_id=APP_ID, app_key=APP_KEY, fid=FID)
|
||||
|
||||
# 获取所有数据并保存到数据库
|
||||
print("=" * 60)
|
||||
print("获取所有学籍异动信息并保存到数据库")
|
||||
print("=" * 60)
|
||||
|
||||
# 步骤1: 清空表
|
||||
print("\n步骤1: 清空学籍异动数据表...")
|
||||
api.clear_table()
|
||||
|
||||
# 步骤2: 获取所有数据
|
||||
print("\n步骤2: 获取所有学籍异动信息(自动分页)...")
|
||||
all_changes = api.get_all_student_changes(max_page_size=500)
|
||||
|
||||
# 步骤3: 保存到数据库
|
||||
if all_changes:
|
||||
print(f"\n步骤3: 保存数据到数据库...")
|
||||
saved_count = api.save_to_database(all_changes)
|
||||
print(f"\n✓ 完成!共获取 {len(all_changes)} 条数据,成功保存 {saved_count} 条")
|
||||
|
||||
print(f"\n前3条数据示例:")
|
||||
for i, change in enumerate(all_changes[:3], 1):
|
||||
print(f"{i}. {change}")
|
||||
else:
|
||||
print("\n✗ 未获取到数据")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,704 @@
|
||||
#!/usr/bin/env python
|
||||
# -*- coding: utf-8 -*-
|
||||
"""
|
||||
超星系统 - 系部信息完整同步脚本
|
||||
功能:
|
||||
1. 从超星API获取系部信息(API路径: xbsjpi_64522/list)
|
||||
2. 保存到cx_xbsj表
|
||||
3. 从cx_xbsj表同步到sys_dept表(学工系统部门表)
|
||||
同步规则:
|
||||
- 筛选条件:yxsj_sfkkyx='是' AND yxsj_sfskyx='是' AND yxsj_sfqy='是'
|
||||
- 排除部门:教务处、基础部、外聘(不同步到sys_dept表)
|
||||
- 判断是否已存在:dept_category='xy-' + yxsj_yxdm AND dept_name=yxsj_yxmc
|
||||
- 插入到 parent_id=101(二级学院)下
|
||||
"""
|
||||
|
||||
import hashlib
|
||||
import base64
|
||||
import json
|
||||
import requests
|
||||
import pymysql
|
||||
import time
|
||||
from datetime import datetime
|
||||
from typing import Dict, Any, Optional, List
|
||||
from Crypto.Cipher import AES
|
||||
from Crypto.Util.Padding import unpad
|
||||
from db_config import DB_CONFIG, TABLE_MAPPING
|
||||
|
||||
|
||||
class ChaoxingAPI:
|
||||
"""超星API请求类"""
|
||||
|
||||
def __init__(self, app_id: str, app_key: str, fid: str = "19628"):
|
||||
"""
|
||||
初始化API客户端
|
||||
|
||||
Args:
|
||||
app_id: API的appId
|
||||
app_key: API的appKey
|
||||
fid: 单位ID,默认19628
|
||||
"""
|
||||
self.app_id = app_id
|
||||
self.app_key = app_key
|
||||
self.fid = fid
|
||||
self.base_url = "https://appswh.chaoxing.com/biapi/api"
|
||||
self.api_path = "xbsjpi_64522"
|
||||
# 生成AES解密密钥:appId去除'-'后取前16位
|
||||
self.aes_key = app_id.replace("-", "")[:16].encode('utf-8')
|
||||
|
||||
def generate_enc(self, page_num: int, page_size: int) -> str:
|
||||
"""
|
||||
生成enc加密验证串
|
||||
|
||||
enc加密方式:32位大写的MD5字符串
|
||||
格式:[apiPath=xbsjpi_64522#$pageNum=页码#$pageSize=单页条数#$fid=19628#$appKey=授权appKey]
|
||||
|
||||
Args:
|
||||
page_num: 页码
|
||||
page_size: 单页条数
|
||||
|
||||
Returns:
|
||||
32位大写MD5字符串
|
||||
"""
|
||||
# 构建加密字符串
|
||||
enc_string = f"[apiPath={self.api_path}#$pageNum={page_num}#$pageSize={page_size}#$fid={self.fid}#$appKey={self.app_key}]"
|
||||
|
||||
# MD5加密并转为大写
|
||||
md5_hash = hashlib.md5(enc_string.encode('utf-8')).hexdigest().upper()
|
||||
|
||||
return md5_hash
|
||||
|
||||
def decrypt_data(self, ciphertext: str) -> Any:
|
||||
"""
|
||||
AES解密data字段
|
||||
|
||||
解密算法:AES/ECB/PKCS5Padding
|
||||
密钥:appId去除'-'后前16位字符
|
||||
|
||||
Args:
|
||||
ciphertext: Base64编码的密文
|
||||
|
||||
Returns:
|
||||
解密后的数据(可能是JSON字符串,需要进一步解析)
|
||||
"""
|
||||
try:
|
||||
# Base64解码
|
||||
encrypted_bytes = base64.b64decode(ciphertext)
|
||||
|
||||
# AES解密
|
||||
cipher = AES.new(self.aes_key, AES.MODE_ECB)
|
||||
decrypted_bytes = cipher.decrypt(encrypted_bytes)
|
||||
|
||||
# PKCS5Padding去填充
|
||||
decrypted_bytes = unpad(decrypted_bytes, AES.block_size)
|
||||
|
||||
# 转为字符串
|
||||
decrypted_text = decrypted_bytes.decode('utf-8')
|
||||
|
||||
# 尝试解析为JSON
|
||||
try:
|
||||
return json.loads(decrypted_text)
|
||||
except json.JSONDecodeError:
|
||||
# 如果不是JSON,直接返回字符串
|
||||
return decrypted_text
|
||||
|
||||
except Exception as e:
|
||||
print(f"解密失败: {e}")
|
||||
return None
|
||||
|
||||
def get_department_list(self, page_num: int = 1, page_size: int = 100) -> Dict[str, Any]:
|
||||
"""
|
||||
获取系部信息列表
|
||||
|
||||
Args:
|
||||
page_num: 页码,默认1
|
||||
page_size: 页条数,默认100,最大1000
|
||||
|
||||
Returns:
|
||||
API响应结果
|
||||
"""
|
||||
# 验证page_size
|
||||
if page_size > 1000:
|
||||
page_size = 1000
|
||||
print("警告: pageSize超过最大限制1000,已自动调整为1000")
|
||||
|
||||
# 生成enc加密串
|
||||
enc = self.generate_enc(page_num, page_size)
|
||||
|
||||
# 构建请求URL
|
||||
url = f"{self.base_url}/{self.api_path}/list"
|
||||
|
||||
# 构建请求参数
|
||||
params = {
|
||||
"pageNum": page_num,
|
||||
"pageSize": page_size,
|
||||
"fid": self.fid,
|
||||
"enc": enc
|
||||
}
|
||||
|
||||
# 构建请求头
|
||||
headers = {
|
||||
"appId": self.app_id,
|
||||
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
|
||||
}
|
||||
|
||||
try:
|
||||
# 发送GET请求
|
||||
print(f"正在请求: {url}")
|
||||
print(f"参数: {params}")
|
||||
print(f"请求头appId: {self.app_id}")
|
||||
|
||||
response = requests.get(url, params=params, headers=headers, timeout=30)
|
||||
|
||||
# 检查HTTP状态码
|
||||
response.raise_for_status()
|
||||
|
||||
# 解析JSON响应
|
||||
result = response.json()
|
||||
|
||||
# 解密data字段
|
||||
if result.get("data") and isinstance(result.get("data"), str):
|
||||
decrypted_data = self.decrypt_data(result["data"])
|
||||
if decrypted_data is not None:
|
||||
result["data"] = decrypted_data
|
||||
else:
|
||||
print("警告: data字段解密失败,保持原始值")
|
||||
|
||||
return result
|
||||
|
||||
except requests.exceptions.RequestException as e:
|
||||
print(f"请求失败: {e}")
|
||||
return {
|
||||
"code": -1,
|
||||
"message": f"请求异常: {str(e)}",
|
||||
"data": None
|
||||
}
|
||||
except ValueError as e:
|
||||
print(f"JSON解析失败: {e}")
|
||||
return {
|
||||
"code": -1,
|
||||
"message": f"响应解析失败: {str(e)}",
|
||||
"data": None
|
||||
}
|
||||
|
||||
def get_all_departments(self, max_page_size: int = 500) -> list:
|
||||
"""
|
||||
获取所有系部信息(自动分页)
|
||||
|
||||
Args:
|
||||
max_page_size: 每页最大条数,默认500
|
||||
|
||||
Returns:
|
||||
所有系部信息列表
|
||||
"""
|
||||
all_data = []
|
||||
page_num = 1
|
||||
total_pages = None # 总页数,从第一页响应中获取
|
||||
|
||||
while True:
|
||||
print(f"\n正在获取第 {page_num} 页数据...")
|
||||
result = self.get_department_list(page_num, max_page_size)
|
||||
|
||||
# 超星API成功时code=1,失败时code!=1
|
||||
if result.get("code") != 1:
|
||||
print(f"获取第 {page_num} 页失败: {result.get('message', '未知错误')}")
|
||||
break
|
||||
|
||||
# 获取分页信息(从extendData中)
|
||||
extend_data = result.get("extendData", {})
|
||||
if total_pages is None and extend_data:
|
||||
total_pages = int(extend_data.get("pages", 0))
|
||||
total_count = int(extend_data.get("count", 0))
|
||||
print(f"总页数: {total_pages}, 总条数: {total_count}")
|
||||
|
||||
data = result.get("data")
|
||||
if not data:
|
||||
print("没有更多数据")
|
||||
break
|
||||
|
||||
# 如果是列表,直接添加
|
||||
if isinstance(data, list):
|
||||
all_data.extend(data)
|
||||
print(f"第 {page_num} 页获取 {len(data)} 条数据,累计 {len(all_data)} 条")
|
||||
|
||||
# 如果知道总页数,检查是否已获取完所有页
|
||||
if total_pages and page_num >= total_pages:
|
||||
break
|
||||
# 如果返回的数据少于page_size,说明已经是最后一页
|
||||
if len(data) < max_page_size:
|
||||
break
|
||||
# 如果是字典,可能包含分页信息
|
||||
elif isinstance(data, dict):
|
||||
items = data.get("list", data.get("records", []))
|
||||
if items:
|
||||
all_data.extend(items)
|
||||
print(f"第 {page_num} 页获取 {len(items)} 条数据,累计 {len(all_data)} 条")
|
||||
# 检查是否还有下一页
|
||||
total = data.get("total", 0)
|
||||
if total and len(all_data) >= total:
|
||||
break
|
||||
else:
|
||||
break
|
||||
else:
|
||||
break
|
||||
|
||||
page_num += 1
|
||||
|
||||
print(f"\n总共获取 {len(all_data)} 条系部信息")
|
||||
return all_data
|
||||
|
||||
def clear_table(self) -> bool:
|
||||
"""
|
||||
清空系部数据表
|
||||
|
||||
Returns:
|
||||
是否成功
|
||||
"""
|
||||
try:
|
||||
connection = pymysql.connect(**DB_CONFIG)
|
||||
try:
|
||||
with connection.cursor() as cursor:
|
||||
table_name = TABLE_MAPPING["department"]
|
||||
cursor.execute(f"TRUNCATE TABLE `{table_name}`")
|
||||
connection.commit()
|
||||
print(f"✓ 已清空表 {table_name}")
|
||||
return True
|
||||
finally:
|
||||
connection.close()
|
||||
except Exception as e:
|
||||
print(f"✗ 清空表失败: {e}")
|
||||
return False
|
||||
|
||||
def save_to_database(self, data_list: List[Dict]) -> int:
|
||||
"""
|
||||
将系部数据保存到数据库
|
||||
|
||||
Args:
|
||||
data_list: 系部数据列表
|
||||
|
||||
Returns:
|
||||
成功插入的记录数
|
||||
"""
|
||||
if not data_list:
|
||||
print("数据列表为空,跳过保存")
|
||||
return 0
|
||||
|
||||
try:
|
||||
connection = pymysql.connect(**DB_CONFIG)
|
||||
try:
|
||||
current_time = int(time.time() * 1000) # 毫秒时间戳
|
||||
table_name = TABLE_MAPPING["department"]
|
||||
|
||||
with connection.cursor() as cursor:
|
||||
# 构建插入SQL
|
||||
insert_sql = f"""
|
||||
INSERT INTO `{table_name}` (
|
||||
`inserttime`, `updatetime`,
|
||||
`yxsj_yxmc`, `yxsj_yxdm`, `yxsj_sfkkyx`, `yxsj_sfskyx`,
|
||||
`yxsj_sfqy`, `yxsj_yxywmc`, `yxsj_yxjc`, `yxsj_gdjxl`,
|
||||
`yxsj_yxfzr`, `yxsj_kyjxlsx`, `dataMigrateUniqueId`
|
||||
) VALUES (
|
||||
%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s
|
||||
)
|
||||
"""
|
||||
|
||||
success_count = 0
|
||||
for item in data_list:
|
||||
try:
|
||||
cursor.execute(insert_sql, (
|
||||
current_time, current_time, # inserttime, updatetime
|
||||
item.get('yxsj_yxmc'), item.get('yxsj_yxdm'), item.get('yxsj_sfkkyx'), item.get('yxsj_sfskyx'),
|
||||
item.get('yxsj_sfqy'), item.get('yxsj_yxywmc'), item.get('yxsj_yxjc'), item.get('yxsj_gdjxl'),
|
||||
item.get('yxsj_yxfzr'), item.get('yxsj_kyjxlsx'), item.get('dataMigrateUniqueId')
|
||||
))
|
||||
success_count += 1
|
||||
except Exception as e:
|
||||
print(f"插入单条数据失败: {e}, 数据: {item}")
|
||||
|
||||
connection.commit()
|
||||
print(f"✓ 成功插入 {success_count}/{len(data_list)} 条数据到表 {table_name}")
|
||||
return success_count
|
||||
finally:
|
||||
connection.close()
|
||||
except Exception as e:
|
||||
print(f"✗ 保存数据到数据库失败: {e}")
|
||||
return 0
|
||||
|
||||
|
||||
class DepartmentSync:
|
||||
"""系部数据同步类 - 从cx_xbsj表同步到sys_dept表"""
|
||||
|
||||
def __init__(self):
|
||||
"""初始化"""
|
||||
self.parent_dept_id = 101 # 二级学院的dept_id
|
||||
self.parent_ancestors = '0,100,101' # 父节点的ancestors
|
||||
self.tenant_id = '000000'
|
||||
# 排除的部门名称列表(不同步到sys_dept表)
|
||||
self.excluded_dept_names = ['教务处', '基础部', '外聘']
|
||||
|
||||
def get_valid_departments(self) -> List[Dict[str, Any]]:
|
||||
"""
|
||||
从cx_xbsj表中获取符合条件的数据
|
||||
|
||||
Returns:
|
||||
符合条件的系部数据列表
|
||||
"""
|
||||
try:
|
||||
connection = pymysql.connect(**DB_CONFIG)
|
||||
try:
|
||||
with connection.cursor(pymysql.cursors.DictCursor) as cursor:
|
||||
# 查询符合条件的数据:三个字段都等于"是"
|
||||
sql = """
|
||||
SELECT
|
||||
yxsj_yxmc, yxsj_yxdm, yxsj_sfkkyx, yxsj_sfskyx, yxsj_sfqy,
|
||||
yxsj_yxywmc, yxsj_yxjc, yxsj_gdjxl, yxsj_yxfzr, yxsj_kyjxlsx
|
||||
FROM cx_xbsj
|
||||
WHERE yxsj_sfkkyx = '是'
|
||||
AND yxsj_sfskyx = '是'
|
||||
AND yxsj_sfqy = '是'
|
||||
ORDER BY inserttime ASC
|
||||
"""
|
||||
cursor.execute(sql)
|
||||
results = cursor.fetchall()
|
||||
print(f"✓ 从cx_xbsj表中查询到 {len(results)} 条符合条件的数据")
|
||||
return results
|
||||
finally:
|
||||
connection.close()
|
||||
except Exception as e:
|
||||
print(f"✗ 查询cx_xbsj表失败: {e}")
|
||||
return []
|
||||
|
||||
def check_department_exists(self, dept_name: str, dept_category: str) -> bool:
|
||||
"""
|
||||
检查部门是否已存在
|
||||
|
||||
Args:
|
||||
dept_name: 部门名称
|
||||
dept_category: 部门类别编码
|
||||
|
||||
Returns:
|
||||
是否存在
|
||||
"""
|
||||
try:
|
||||
connection = pymysql.connect(**DB_CONFIG)
|
||||
try:
|
||||
with connection.cursor() as cursor:
|
||||
sql = """
|
||||
SELECT COUNT(*) as count
|
||||
FROM sys_dept
|
||||
WHERE dept_name = %s AND dept_category = %s
|
||||
"""
|
||||
cursor.execute(sql, (dept_name, dept_category))
|
||||
result = cursor.fetchone()
|
||||
return result[0] > 0
|
||||
finally:
|
||||
connection.close()
|
||||
except Exception as e:
|
||||
print(f"✗ 检查部门是否存在失败: {e}")
|
||||
return False
|
||||
|
||||
def get_max_order_num(self, parent_id: int) -> int:
|
||||
"""
|
||||
获取指定父节点下的最大order_num
|
||||
|
||||
Args:
|
||||
parent_id: 父部门ID
|
||||
|
||||
Returns:
|
||||
最大order_num,如果没有数据则返回0
|
||||
"""
|
||||
try:
|
||||
connection = pymysql.connect(**DB_CONFIG)
|
||||
try:
|
||||
with connection.cursor() as cursor:
|
||||
sql = """
|
||||
SELECT MAX(order_num) as max_order
|
||||
FROM sys_dept
|
||||
WHERE parent_id = %s
|
||||
"""
|
||||
cursor.execute(sql, (parent_id,))
|
||||
result = cursor.fetchone()
|
||||
return result[0] if result[0] is not None else 0
|
||||
finally:
|
||||
connection.close()
|
||||
except Exception as e:
|
||||
print(f"✗ 获取最大order_num失败: {e}")
|
||||
return 0
|
||||
|
||||
def generate_dept_id(self, base_timestamp: str, index: int) -> int:
|
||||
"""
|
||||
生成dept_id
|
||||
格式:当前时间戳(%Y%m%d%H%M%S)+ 0001开始递增
|
||||
|
||||
Args:
|
||||
base_timestamp: 基础时间戳字符串(格式:%Y%m%d%H%M%S)
|
||||
index: 序号(从1开始)
|
||||
|
||||
Returns:
|
||||
dept_id
|
||||
"""
|
||||
# 序号格式化为4位数字(0001, 0002, ...)
|
||||
sequence = str(index).zfill(4)
|
||||
# 拼接:时间戳 + 序号
|
||||
dept_id_str = base_timestamp + sequence
|
||||
return int(dept_id_str)
|
||||
|
||||
def sync_departments(self) -> Dict[str, Any]:
|
||||
"""
|
||||
同步系部数据到sys_dept表
|
||||
|
||||
Returns:
|
||||
同步结果统计(包含成功、跳过、失败的系部代码列表)
|
||||
"""
|
||||
# 获取符合条件的数据
|
||||
valid_departments = self.get_valid_departments()
|
||||
if not valid_departments:
|
||||
print("没有符合条件的数据需要同步")
|
||||
return {
|
||||
"total": 0,
|
||||
"inserted": 0,
|
||||
"skipped": 0,
|
||||
"failed": 0,
|
||||
"inserted_yxdm": [],
|
||||
"skipped_yxdm": [],
|
||||
"failed_yxdm": []
|
||||
}
|
||||
|
||||
# 生成基础时间戳(用于生成dept_id)
|
||||
base_timestamp = datetime.now().strftime('%Y%m%d%H%M%S')
|
||||
|
||||
# 获取当前最大order_num
|
||||
max_order_num = self.get_max_order_num(self.parent_dept_id)
|
||||
current_order_num = max_order_num
|
||||
|
||||
# 统计信息
|
||||
stats = {
|
||||
"total": len(valid_departments),
|
||||
"inserted": 0,
|
||||
"skipped": 0,
|
||||
"failed": 0,
|
||||
"inserted_yxdm": [], # 成功插入的系部代码列表
|
||||
"skipped_yxdm": [], # 跳过的系部代码列表
|
||||
"failed_yxdm": [] # 失败的系部代码列表
|
||||
}
|
||||
|
||||
# 当前时间
|
||||
current_time = datetime.now()
|
||||
|
||||
try:
|
||||
connection = pymysql.connect(**DB_CONFIG)
|
||||
try:
|
||||
with connection.cursor() as cursor:
|
||||
# 准备插入SQL
|
||||
insert_sql = """
|
||||
INSERT INTO sys_dept (
|
||||
dept_id, tenant_id, parent_id, ancestors, dept_name, dept_category,
|
||||
order_num, leader, phone, email, status, del_flag,
|
||||
create_dept, create_by, create_time, update_by, update_time
|
||||
) VALUES (
|
||||
%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s
|
||||
)
|
||||
"""
|
||||
|
||||
# 用于生成dept_id的序号计数器(只对实际插入的数据计数)
|
||||
insert_index = 0
|
||||
|
||||
# 遍历数据,逐个处理
|
||||
for dept in valid_departments:
|
||||
dept_name = dept.get('yxsj_yxmc')
|
||||
yxsj_yxdm = dept.get('yxsj_yxdm')
|
||||
|
||||
# 验证数据
|
||||
if not dept_name:
|
||||
print(f"⚠ 跳过:部门名称为空 (yxsj_yxdm: {yxsj_yxdm})")
|
||||
stats["skipped"] += 1
|
||||
if yxsj_yxdm:
|
||||
stats["skipped_yxdm"].append(yxsj_yxdm)
|
||||
continue
|
||||
|
||||
if not yxsj_yxdm:
|
||||
print(f"⚠ 跳过:系部代码为空 (dept_name: {dept_name})")
|
||||
stats["skipped"] += 1
|
||||
# 系部代码为空,无法记录
|
||||
continue
|
||||
|
||||
# 检查是否在排除列表中
|
||||
if dept_name in self.excluded_dept_names:
|
||||
print(f"⏭ 跳过排除的部门: {dept_name}")
|
||||
stats["skipped"] += 1
|
||||
stats["skipped_yxdm"].append(yxsj_yxdm)
|
||||
continue
|
||||
|
||||
# 检查dept_name长度(sys_dept表中dept_name是varchar(30))
|
||||
if len(dept_name) > 30:
|
||||
print(f"⚠ 警告:部门名称超过30字符,将被截断: {dept_name} (长度: {len(dept_name)})")
|
||||
dept_name = dept_name[:30]
|
||||
|
||||
# 构建dept_category
|
||||
dept_category = f"xy-{yxsj_yxdm}"
|
||||
|
||||
# 检查是否已存在(使用处理后的dept_name)
|
||||
if self.check_department_exists(dept_name, dept_category):
|
||||
print(f"⏭ 跳过已存在的部门: {dept_name} (dept_category: {dept_category})")
|
||||
stats["skipped"] += 1
|
||||
stats["skipped_yxdm"].append(yxsj_yxdm)
|
||||
continue
|
||||
|
||||
# 递增插入序号(只对实际插入的数据计数)
|
||||
insert_index += 1
|
||||
|
||||
# 生成dept_id
|
||||
dept_id = self.generate_dept_id(base_timestamp, insert_index)
|
||||
|
||||
# 递增order_num
|
||||
current_order_num += 1
|
||||
|
||||
# 准备插入数据
|
||||
try:
|
||||
cursor.execute(insert_sql, (
|
||||
dept_id, # dept_id
|
||||
self.tenant_id, # tenant_id
|
||||
self.parent_dept_id, # parent_id
|
||||
self.parent_ancestors, # ancestors
|
||||
dept_name, # dept_name
|
||||
dept_category, # dept_category
|
||||
current_order_num, # order_num
|
||||
None, # leader
|
||||
None, # phone
|
||||
None, # email
|
||||
'0', # status
|
||||
'0', # del_flag
|
||||
0, # create_dept
|
||||
1, # create_by
|
||||
current_time, # create_time
|
||||
1, # update_by
|
||||
current_time # update_time
|
||||
))
|
||||
stats["inserted"] += 1
|
||||
stats["inserted_yxdm"].append(yxsj_yxdm)
|
||||
print(f"✓ 插入部门: {dept_name} (dept_id: {dept_id}, dept_category: {dept_category}, order_num: {current_order_num})")
|
||||
except Exception as e:
|
||||
stats["failed"] += 1
|
||||
stats["failed_yxdm"].append(yxsj_yxdm)
|
||||
print(f"✗ 插入部门失败: {dept_name}, 错误: {e}")
|
||||
|
||||
# 提交事务
|
||||
connection.commit()
|
||||
print(f"\n✓ 事务提交成功")
|
||||
|
||||
finally:
|
||||
connection.close()
|
||||
except Exception as e:
|
||||
print(f"✗ 同步过程发生错误: {e}")
|
||||
stats["failed"] = stats["total"] - stats["inserted"] - stats["skipped"]
|
||||
|
||||
return stats
|
||||
|
||||
def print_statistics(self, stats: Dict[str, Any]):
|
||||
"""
|
||||
打印统计信息
|
||||
|
||||
Args:
|
||||
stats: 统计信息字典(包含系部代码列表)
|
||||
"""
|
||||
print("\n" + "=" * 60)
|
||||
print("同步统计信息")
|
||||
print("=" * 60)
|
||||
print(f"总数据量: {stats['total']}")
|
||||
print(f"成功插入: {stats['inserted']}")
|
||||
print(f"跳过(已存在): {stats['skipped']}")
|
||||
print(f"失败: {stats['failed']}")
|
||||
print("=" * 60)
|
||||
|
||||
# 输出系部代码列表(逗号分隔)
|
||||
if stats.get('inserted_yxdm'):
|
||||
inserted_yxdm_str = ','.join(stats['inserted_yxdm'])
|
||||
print(f"\n成功插入的系部代码: {inserted_yxdm_str}")
|
||||
|
||||
if stats.get('skipped_yxdm'):
|
||||
skipped_yxdm_str = ','.join(stats['skipped_yxdm'])
|
||||
print(f"跳过的系部代码: {skipped_yxdm_str}")
|
||||
|
||||
if stats.get('failed_yxdm'):
|
||||
failed_yxdm_str = ','.join(stats['failed_yxdm'])
|
||||
print(f"失败的系部代码: {failed_yxdm_str}")
|
||||
|
||||
print("=" * 60)
|
||||
|
||||
|
||||
def main():
|
||||
"""主函数 - 完整同步流程"""
|
||||
# API配置信息
|
||||
APP_ID = "eb68f9d4-b833-4a09-aae8-28e970de1461"
|
||||
APP_KEY = "dyjs_xbxx"
|
||||
FID = "19628" # 单位ID
|
||||
|
||||
print("=" * 60)
|
||||
print("超星系部信息完整同步流程")
|
||||
print("=" * 60)
|
||||
print("流程:超星API -> cx_xbsj表 -> sys_dept表")
|
||||
print("=" * 60)
|
||||
|
||||
# ========== 第一阶段:从超星API获取数据并保存到cx_xbsj表 ==========
|
||||
print("\n" + "=" * 60)
|
||||
print("第一阶段:从超星API获取系部信息")
|
||||
print("=" * 60)
|
||||
|
||||
# 创建API客户端
|
||||
api = ChaoxingAPI(app_id=APP_ID, app_key=APP_KEY, fid=FID)
|
||||
|
||||
# 步骤1: 清空表
|
||||
print("\n步骤1: 清空系部数据表(cx_xbsj)...")
|
||||
api.clear_table()
|
||||
|
||||
# 步骤2: 获取所有数据
|
||||
print("\n步骤2: 获取所有系部信息(自动分页)...")
|
||||
all_departments = api.get_all_departments(max_page_size=500)
|
||||
|
||||
# 步骤3: 保存到数据库
|
||||
if all_departments:
|
||||
print(f"\n步骤3: 保存数据到cx_xbsj表...")
|
||||
saved_count = api.save_to_database(all_departments)
|
||||
print(f"\n✓ 第一阶段完成!共获取 {len(all_departments)} 条数据,成功保存 {saved_count} 条到cx_xbsj表")
|
||||
else:
|
||||
print("\n✗ 未获取到数据,终止流程")
|
||||
return
|
||||
|
||||
# ========== 第二阶段:从cx_xbsj表同步到sys_dept表 ==========
|
||||
print("\n" + "=" * 60)
|
||||
print("第二阶段:从cx_xbsj表同步到sys_dept表")
|
||||
print("=" * 60)
|
||||
print(f"目标父节点: dept_id=101 (二级学院)")
|
||||
print(f"筛选条件: yxsj_sfkkyx='是' AND yxsj_sfskyx='是' AND yxsj_sfqy='是'")
|
||||
print(f"排除部门: 教务处、基础部、外聘")
|
||||
print("=" * 60)
|
||||
|
||||
# 创建同步实例
|
||||
sync = DepartmentSync()
|
||||
|
||||
# 执行同步
|
||||
stats = sync.sync_departments()
|
||||
|
||||
# 打印统计信息
|
||||
sync.print_statistics(stats)
|
||||
|
||||
# ========== 总结 ==========
|
||||
print("\n" + "=" * 60)
|
||||
print("完整同步流程总结")
|
||||
print("=" * 60)
|
||||
print(f"✓ 从超星API获取: {len(all_departments)} 条数据")
|
||||
print(f"✓ 保存到cx_xbsj表: {saved_count} 条数据")
|
||||
print(f"✓ 同步到sys_dept表: 插入 {stats['inserted']} 条,跳过 {stats['skipped']} 条,失败 {stats['failed']} 条")
|
||||
print("=" * 60)
|
||||
|
||||
if stats["inserted"] > 0:
|
||||
print("\n✓ 完整同步流程执行成功!")
|
||||
elif stats["skipped"] == stats["total"]:
|
||||
print("\n✓ 所有数据已存在,无需同步")
|
||||
else:
|
||||
print("\n⚠ 同步过程中出现问题,请检查日志")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
||||
@@ -0,0 +1,954 @@
|
||||
/*
|
||||
Navicat Premium Dump SQL
|
||||
|
||||
Source Server : 47.99.164.66 hn02le.34lkdLKD
|
||||
Source Server Type : MySQL
|
||||
Source Server Version : 50736 (5.7.36)
|
||||
Source Host : 47.99.164.66:3306
|
||||
Source Schema : hzdyjs_xg
|
||||
|
||||
Target Server Type : MySQL
|
||||
Target Server Version : 50736 (5.7.36)
|
||||
File Encoding : 65001
|
||||
|
||||
Date: 12/11/2025 11:26:01
|
||||
*/
|
||||
|
||||
SET NAMES utf8mb4;
|
||||
SET FOREIGN_KEY_CHECKS = 0;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for cx_bjsj
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `cx_bjsj`;
|
||||
CREATE TABLE `cx_bjsj` (
|
||||
`inserttime` bigint(20) DEFAULT NULL COMMENT '提交时间戳',
|
||||
`updatetime` bigint(20) DEFAULT NULL COMMENT '修改时间戳',
|
||||
`bjxx_bjmc` varchar(255) DEFAULT NULL COMMENT '班级名称',
|
||||
`bjxx_bjbh` varchar(255) DEFAULT NULL COMMENT '班级编号',
|
||||
`bjxx_ssyx` varchar(255) DEFAULT NULL COMMENT '所属系部',
|
||||
`bjxx_yxbm` varchar(255) DEFAULT NULL COMMENT '系部编码',
|
||||
`bjxx_zy` varchar(255) DEFAULT NULL COMMENT '专业',
|
||||
`bjxx_zybh` varchar(255) DEFAULT NULL COMMENT '专业编号',
|
||||
`bjxx_rxnf` varchar(255) DEFAULT NULL COMMENT '入学年份',
|
||||
`bjxx_bzr` varchar(255) DEFAULT NULL COMMENT '班主任',
|
||||
`bjxx_bzrgh` varchar(255) DEFAULT NULL COMMENT '班主任工号',
|
||||
`bjxx_szxq` varchar(255) DEFAULT NULL COMMENT '所属校区',
|
||||
`bjxx_xqbm` varchar(255) DEFAULT NULL COMMENT '校区编号',
|
||||
`bjxx_njrs` bigint(20) DEFAULT NULL COMMENT '班级人数',
|
||||
`bjxx_bjzdrs` varchar(255) DEFAULT NULL COMMENT '班级最大人数',
|
||||
`bjxx_ssjys` varchar(255) DEFAULT NULL COMMENT '所属教研室',
|
||||
`bjxx_jysbh` varchar(255) DEFAULT NULL COMMENT '教研室编号',
|
||||
`bjxx_bynf` varchar(255) DEFAULT NULL COMMENT '毕业年份',
|
||||
`bjxx_jbny` varchar(255) DEFAULT NULL COMMENT '建班年月',
|
||||
`bjxx_byxnxq` varchar(255) DEFAULT NULL COMMENT '毕业学年学期',
|
||||
`bjxx_byny` varchar(255) DEFAULT NULL COMMENT '毕业年月',
|
||||
`bjxx_gdjs` varchar(255) DEFAULT NULL COMMENT '固定教室',
|
||||
`bjxx_gdjsbh` varchar(255) DEFAULT NULL COMMENT '固定教室编号',
|
||||
`bjxx_bjjc` varchar(255) DEFAULT NULL COMMENT '班级简称',
|
||||
`bjxx_sfqy` varchar(255) DEFAULT NULL COMMENT '是否启用',
|
||||
`bjxx_sznf` bigint(20) DEFAULT NULL COMMENT '所在年份(num)',
|
||||
`dataMigrateUniqueId` varchar(255) DEFAULT NULL COMMENT '数据迁移字段'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='超星 - 班级数据';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of cx_bjsj
|
||||
-- ----------------------------
|
||||
BEGIN;
|
||||
COMMIT;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for cx_xbsj
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `cx_xbsj`;
|
||||
CREATE TABLE `cx_xbsj` (
|
||||
`inserttime` bigint(20) DEFAULT NULL COMMENT '提交时间戳',
|
||||
`updatetime` bigint(20) DEFAULT NULL COMMENT '修改时间戳',
|
||||
`yxsj_yxmc` varchar(1024) DEFAULT NULL COMMENT '系部名称',
|
||||
`yxsj_yxdm` varchar(1024) DEFAULT NULL COMMENT '系部代码',
|
||||
`yxsj_sfkkyx` varchar(1024) DEFAULT NULL COMMENT '是否开课系部',
|
||||
`yxsj_sfskyx` varchar(1024) DEFAULT NULL COMMENT '是否上课系部',
|
||||
`yxsj_sfqy` varchar(1024) DEFAULT NULL COMMENT '是否启用',
|
||||
`yxsj_yxywmc` varchar(1024) DEFAULT NULL COMMENT '系部英文名称',
|
||||
`yxsj_yxjc` varchar(1024) DEFAULT NULL COMMENT '系部简称',
|
||||
`yxsj_gdjxl` varchar(1024) DEFAULT NULL COMMENT '固定教学楼',
|
||||
`yxsj_yxfzr` varchar(1024) DEFAULT NULL COMMENT '系部负责人',
|
||||
`yxsj_kyjxlsx` varchar(1024) DEFAULT NULL COMMENT '可用教学楼筛选',
|
||||
`dataMigrateUniqueId` varchar(1024) DEFAULT NULL COMMENT '数据迁移字段'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='超星的系部数据';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of cx_xbsj
|
||||
-- ----------------------------
|
||||
BEGIN;
|
||||
COMMIT;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for cx_xg_code
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `cx_xg_code`;
|
||||
CREATE TABLE `cx_xg_code` (
|
||||
`data_id` varchar(255) DEFAULT NULL COMMENT '超星的data_id',
|
||||
`cx_type` varchar(255) DEFAULT NULL COMMENT '超星的type',
|
||||
`cx_value` varchar(255) DEFAULT NULL COMMENT '超星的value',
|
||||
`cx_code` varchar(255) DEFAULT NULL COMMENT '超星的code',
|
||||
`cx_tjr` varchar(255) DEFAULT NULL COMMENT '超星的提交人',
|
||||
`cx_uid` varchar(255) DEFAULT NULL COMMENT '超星的uid',
|
||||
`xg_code` varchar(255) DEFAULT NULL COMMENT '我们学工系统的code',
|
||||
`xg_value` varchar(255) DEFAULT NULL COMMENT '我们学工系统的value',
|
||||
`is_valid` int(11) DEFAULT '1' COMMENT '1-有效 , 0-无效'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='超星教务系统的字典表,对应我们学工系统的转化关系';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of cx_xg_code
|
||||
-- ----------------------------
|
||||
BEGIN;
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61407ab17b293227ba3d2fcc91fad2d921', '班级类别', '正常班级', 'BJLB004', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61bca7cca0f3281fab3d2fcc91fad2d921', '班级类别', '辅修班级', 'BJLB003', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a614772815156e06b383d2fcc91fad2d921', '班级类别', '普通班级', 'BJLB002', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b8153556a79118443d2fcc91fad2d921', '班级类别', '方向班', 'BJLB001', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61d5373898a0ce38523d2fcc91fad2d921', '编制类别', '教学类', 'BZLB008', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6179847fc8b2da78af3d2fcc91fad2d921', '编制类别', '行政类', 'BZLB007', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61fb49c7a256c010da3d2fcc91fad2d921', '编制类别', '教辅类', 'BZLB006', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a611db3ee2841daa3f93d2fcc91fad2d921', '编制类别', '工勤类', 'BZLB005', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61f2d084cbf42269e43d2fcc91fad2d921', '编制类别', '科研类', 'BZLB004', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618256ebb13c950f1c3d2fcc91fad2d921', '编制类别', '校办企业类', 'BZLB003', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6104d1a2b2acdf48093d2fcc91fad2d921', '编制类别', '附设机构类', 'BZLB002', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61bca7106bfbeef8ba3d2fcc91fad2d921', '编制类别', '其他类', 'BZLB001', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61118dd754ddc46faf3d2fcc91fad2d921', '补考类型', '缓考补考', 'BK003', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a611935364ef380dc2f3d2fcc91fad2d921', '补考类型', '补考', 'BK002', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61094d06eda11b52393d2fcc91fad2d921', '补考类型', '正考', 'BK001', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c0b1de044dde89e63d2fcc91fad2d921', '春秋学期', '秋季学期', 'XQ001', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612d12828029f96f2f3d2fcc91fad2d921', '春秋学期', '春季学期', 'XQ002', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6143bbfe680a32ac0a3d2fcc91fad2d921', '春秋学期', '夏季学期', 'XQ003', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES (NULL, '单位办别', '直属(校办)', 'DWBB005', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES (NULL, '单位办别', '民办', 'DWBB004', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES (NULL, '单位办别', '短期', 'DWBB003', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES (NULL, '单位办别', '校企合办', 'DWBB002', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES (NULL, '单位办别', '其它', 'DWBB001', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES (NULL, '单位类别', '院、系', 'DWLB005', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES (NULL, '单位类别', '科研机构', 'DWLB004', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES (NULL, '单位类别', '行政类', 'DWLB003', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES (NULL, '单位类别', '设计类', 'DWLB002', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES (NULL, '单位类别', '其它', 'DWLB001', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61467f95cde9928b3f3d2fcc91fad2d921', '岗位类别', '未添加', 'GWLB057', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a614390ffa7f594ed683d2fcc91fad2d921', '岗位类别', '思想政治工作人员', 'GWLB056', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6194d260f4adb9a0b23d2fcc91fad2d921', '岗位类别', '法医专业人员', 'GWLB055', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6172c0faac951943873d2fcc91fad2d921', '岗位类别', '审计专业人员', 'GWLB054', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a617843192b128050d53d2fcc91fad2d921', '岗位类别', '群众文化专业人员', 'GWLB053', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6173229d1bb676c0703d2fcc91fad2d921', '岗位类别', '档案专业人员', 'GWLB052', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61d8148404ddf99b8d3d2fcc91fad2d921', '岗位类别', '博专业人员', 'GWLB051', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613ed3f1d02828c2083d2fcc91fad2d921', '岗位类别', '图书、资料专业人员', 'GWLB050', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613110a824382987923d2fcc91fad2d921', '岗位类别', '社会科学研究人员', 'GWLB049', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a615270b66f7f0dd7023d2fcc91fad2d921', '岗位类别', '自然科学研究人员', 'GWLB048', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a617d2c0e53628429473d2fcc91fad2d921', '岗位类别', '船舶技术人员(引航)', 'GWLB047', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61199b89e6f08cc6753d2fcc91fad2d921', '岗位类别', '飞行技术人员(机械)', 'GWLB046', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a614654aab59f8c4d013d2fcc91fad2d921', '岗位类别', '飞行技术人员(通信)', 'GWLB045', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6194e86edbc92736463d2fcc91fad2d921', '岗位类别', '飞行技术人员(领航)', 'GWLB044', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61cfa466e70690dba23d2fcc91fad2d921', '岗位类别', '飞行技术人员(驾驶)', 'GWLB043', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61d7dece90e014e88d3d2fcc91fad2d921', '岗位类别', '船舶技术人员(报务)', 'GWLB042', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61024047fde1f36cde3d2fcc91fad2d921', '岗位类别', '船舶技术人员(电机)', 'GWLB041', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613ff83a47d388a36e3d2fcc91fad2d921', '岗位类别', '船舶技术人员(轮机)', 'GWLB040', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612ca9566fd072e45b3d2fcc91fad2d921', '岗位类别', '船舶技术人员(驾驶)', 'GWLB039', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a611ee195bbd908e25b3d2fcc91fad2d921', '岗位类别', '小学教师', 'GWLB038', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a617a03d21fe56e2b423d2fcc91fad2d921', '岗位类别', '公证员', 'GWLB037', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a615f2b5964348df4b63d2fcc91fad2d921', '岗位类别', '律师', 'GWLB036', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a616a024e8f8b6f3cab3d2fcc91fad2d921', '岗位类别', '体育锻炼', 'GWLB035', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6141f3e46df9b90d4f3d2fcc91fad2d921', '岗位类别', '艺术人员(舞台技术)', 'GWLB034', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61f2b15ccb7d3c2e823d2fcc91fad2d921', '岗位类别', '艺术人员(舞美设计)', 'GWLB033', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ada4414e2be707703d2fcc91fad2d921', '岗位类别', '艺术人员(美术)', 'GWLB032', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61529e8233ecaaa4da3d2fcc91fad2d921', '岗位类别', '艺术人员(作曲)', 'GWLB031', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6142fd9440688e81b23d2fcc91fad2d921', '岗位类别', '艺术人员(指挥)', 'GWLB030', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6191e4e7c043a347a73d2fcc91fad2d921', '岗位类别', '艺术人员(导演)', 'GWLB029', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b9ff313eee6dbbea3d2fcc91fad2d921', '岗位类别', '艺术人员(编剧)', 'GWLB028', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619b3994b0612a914d3d2fcc91fad2d921', '岗位类别', '艺术人员(演奏员)', 'GWLB027', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612d1b3011cf3ce1813d2fcc91fad2d921', '岗位类别', '艺术人员(演员)', 'GWLB026', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a617284c9cf91dafc893d2fcc91fad2d921', '岗位类别', '工艺美术人员', 'GWLB025', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618e4c1daceadf91c43d2fcc91fad2d921', '岗位类别', '卫生技术人员(技师)', 'GWLB024', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a616c8009441e4a3bcf3d2fcc91fad2d921', '岗位类别', '卫生技术人员(护理)', 'GWLB023', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6178afd387a50e8e503d2fcc91fad2d921', '岗位类别', '卫生技术人员(药剂)', 'GWLB022', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6162338127fd67a3fe3d2fcc91fad2d921', '岗位类别', '卫生技术人员(医师)', 'GWLB021', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6149a652d85a0fbb163d2fcc91fad2d921', '岗位类别', '播音员', 'GWLB020', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6147a3a01f2a7666e53d2fcc91fad2d921', '岗位类别', '新闻专业人员(编辑)', 'GWLB019', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6162ca48e6942db7fa3d2fcc91fad2d921', '岗位类别', '新闻专业人员(记者)', 'GWLB018', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61cfecd52828de33b43d2fcc91fad2d921', '岗位类别', '翻译人员', 'GWLB017', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61d6ca2b364298825c3d2fcc91fad2d921', '岗位类别', '出版专业人员(校对)', 'GWLB016', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61edd0128875b07cea3d2fcc91fad2d921', '岗位类别', '出版专业人员(技术编辑)', 'GWLB015', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6117968d3d99ce97c33d2fcc91fad2d921', '岗位类别', '出版专业人员(编审)', 'GWLB014', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612bce969241cea9753d2fcc91fad2d921', '岗位类别', '统计专业人员', 'GWLB013', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619da7384c36eb55a13d2fcc91fad2d921', '岗位类别', '会计专业人员', 'GWLB012', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613e012344f16b35223d2fcc91fad2d921', '岗位类别', '经济专业人员', 'GWLB011', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6134dc0ab92b9e65673d2fcc91fad2d921', '岗位类别', '农业技术人员(畜牧)', 'GWLB010', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6138d764aea11621cf3d2fcc91fad2d921', '岗位类别', '农业技术人员(兽医)', 'GWLB009', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61afc99ba3ec129b8f3d2fcc91fad2d921', '岗位类别', '农业技术人员(农艺)', 'GWLB008', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61f284445b43d9da363d2fcc91fad2d921', '岗位类别', '工程技术人员', 'GWLB007', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61edbc7df4f8583a6a3d2fcc91fad2d921', '岗位类别', '实验技术人员', 'GWLB006', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a614d0c43022b4fd8a33d2fcc91fad2d921', '岗位类别', '中学教师', 'GWLB005', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619d9a43a8a5c1a53e3d2fcc91fad2d921', '岗位类别', '技工学校教师(实习指导)', 'GWLB004', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61568b35f17ccc56783d2fcc91fad2d921', '岗位类别', '技工学校教师', 'GWLB003', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b2eba590d56f20053d2fcc91fad2d921', '岗位类别', '中等专业学校教师', 'GWLB002', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6151e878b6c4e0524f3d2fcc91fad2d921', '岗位类别', '高等学校教师', 'GWLB001', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61514c4b803a04e1283d2fcc91fad2d921', '港澳台侨外', '香港同胞', '1', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6103e5d189d913de753d2fcc91fad2d921', '港澳台侨外', '香港同胞亲属', '2', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a617a6a2b34b30c04443d2fcc91fad2d921', '港澳台侨外', '澳门同胞', '3', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61d0a28cd07c20d7a33d2fcc91fad2d921', '港澳台侨外', '澳门同胞亲属', '4', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6121df261a9a94aeca3d2fcc91fad2d921', '港澳台侨外', '台湾同胞', '5', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61aba25739c3e475bf3d2fcc91fad2d921', '港澳台侨外', '台湾同胞亲属', '6', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61a9d81e97d767d2a83d2fcc91fad2d921', '港澳台侨外', '华侨', '11', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612a1b7d3bd0bbb00e3d2fcc91fad2d921', '港澳台侨外', '侨眷', '12', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ab37a81da85cc2923d2fcc91fad2d921', '港澳台侨外', '归侨', '13', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b022d88fe676c9933d2fcc91fad2d921', '港澳台侨外', '归侨子女', '14', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61f9636463ef8b9b793d2fcc91fad2d921', '港澳台侨外', '归国留学人员', '21', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b685eb26769551703d2fcc91fad2d921', '港澳台侨外', '非华裔中国人', '31', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61a567e084779124793d2fcc91fad2d921', '港澳台侨外', '外籍华裔人', '41', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61332c69677b7fd5f13d2fcc91fad2d921', '港澳台侨外', '外国人', '51', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ac854966d673409d3d2fcc91fad2d921', '港澳台侨外', '其他', '99', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a614d385ba3ad4d70a23d2fcc91fad2d921', '国家地区', '津巴布韦', '263', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6103b96125ecfd8a853d2fcc91fad2d921', '国家地区', '扎伊尔', '243', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61da0b07db0c7d9e643d2fcc91fad2d921', '国家地区', '赞比亚', '260', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61328222a240c6f90b3d2fcc91fad2d921', '国家地区', '南非', '27', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618e5f21b4482e89453d2fcc91fad2d921', '国家地区', '南斯拉夫', '381', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a616ebab916e302b4fd3d2fcc91fad2d921', '国家地区', '也门', '967', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619e4fac637ff79e613d2fcc91fad2d921', '国家地区', '越南', '84', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6114e87f50d83748eb3d2fcc91fad2d921', '国家地区', '委内瑞拉', '58', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61887da3e6ecd947c33d2fcc91fad2d921', '国家地区', '圣文森特岛', '1784', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b13b752a38e031ec3d2fcc91fad2d921', '国家地区', '乌兹别克斯坦', '233', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61d390fce8c4c7f7003d2fcc91fad2d921', '国家地区', '乌拉圭', '598', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612de74f8a5eccca203d2fcc91fad2d921', '国家地区', '美国', '1', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c411493371c482bc3d2fcc91fad2d921', '国家地区', '乌干达', '256', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61cd09375cfcab09be3d2fcc91fad2d921', '国家地区', '乌克兰', '380', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612631dc501cd5173c3d2fcc91fad2d921', '国家地区', '坦桑尼亚', '255', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6119f8f806c194d2083d2fcc91fad2d921', '国家地区', '中国台湾省', '886', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61161102924929c2a93d2fcc91fad2d921', '国家地区', '特立尼达和多巴哥', '1809', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619ea96be8ece0777d3d2fcc91fad2d921', '国家地区', '土耳其', '90', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6152b8810deeabd0443d2fcc91fad2d921', '国家地区', '汤加', '676', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a615460ef0a6921c1fe3d2fcc91fad2d921', '国家地区', '突尼斯', '216', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61aefaa5d0d2bd70a13d2fcc91fad2d921', '国家地区', '土库曼斯坦', '993', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61799572f02622932a3d2fcc91fad2d921', '国家地区', '塔吉克斯坦', '992', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6192223ea3858da6ae3d2fcc91fad2d921', '国家地区', '泰国', '66', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61dd61ca8a7ed9fdd83d2fcc91fad2d921', '国家地区', '多哥', '228', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b2c6c9141457b5723d2fcc91fad2d921', '国家地区', '乍得', '235', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6175e241c8702c59513d2fcc91fad2d921', '国家地区', '斯威士兰', '268', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6130288bf17a036afc3d2fcc91fad2d921', '国家地区', '叙利亚', '963', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6196bc394f47c49c2c3d2fcc91fad2d921', '国家地区', '萨尔瓦多', '503', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61448cf9f9cec8c9f53d2fcc91fad2d921', '国家地区', '圣多美和普林西比', '239', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612a7e54e022de0e693d2fcc91fad2d921', '国家地区', '苏里南', '597', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6101cd1527eb9cedcb3d2fcc91fad2d921', '国家地区', '索马里', '252', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a610ddfa8a397ed1fb63d2fcc91fad2d921', '国家地区', '塞内加尔', '221', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612df173cb9e6b3e283d2fcc91fad2d921', '国家地区', '西萨摩亚', '685', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a617f29be26ba9e63de3d2fcc91fad2d921', '国家地区', '东萨摩亚(美)', '684', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a614a01196e55cb42973d2fcc91fad2d921', '国家地区', '圣马力诺', '378', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61a47573e6dffdea4d3d2fcc91fad2d921', '国家地区', '塞拉利昂', '232', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ca2aa52785f2b1073d2fcc91fad2d921', '国家地区', '斯洛伐克', '421', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61f7eb3f1594f88b323d2fcc91fad2d921', '国家地区', '斯洛文尼亚', '386', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61eede4ee388ae05583d2fcc91fad2d921', '国家地区', '新加坡', '65', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619931ac287a5ff1263d2fcc91fad2d921', '国家地区', '瑞典', '46', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613676eca2e0a86b523d2fcc91fad2d921', '国家地区', '苏丹', '249', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61da127de1cee7f7ec3d2fcc91fad2d921', '国家地区', '塞舌尔', '248', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e0c160de01f64a293d2fcc91fad2d921', '国家地区', '所罗门群岛', '677', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61fab92f43596c13293d2fcc91fad2d921', '国家地区', '沙特阿拉伯', '966', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a615ceb502b5ffc78b43d2fcc91fad2d921', '国家地区', '俄罗斯', '7', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6153e5ae4ed5789ad63d2fcc91fad2d921', '国家地区', '罗马尼亚', '40', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61d1d95c679fa785653d2fcc91fad2d921', '国家地区', '留尼旺', '262', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61219722b554201d9c3d2fcc91fad2d921', '国家地区', '卡塔尔', '974', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6140d4be7d816377ac3d2fcc91fad2d921', '国家地区', '巴拉圭', '595', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a611e8cabd30f693ecd3d2fcc91fad2d921', '国家地区', '葡萄牙', '351', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618a78eba879df33113d2fcc91fad2d921', '国家地区', '波多黎各', '1787', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6146833b1f3dcf0e5c3d2fcc91fad2d921', '国家地区', '波兰', '48', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a615a8b29ffd078351b3d2fcc91fad2d921', '国家地区', '巴基斯坦', '92', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61cf4437219f0990103d2fcc91fad2d921', '国家地区', '菲律宾', '63', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c32ace5dd78099bb3d2fcc91fad2d921', '国家地区', '巴布亚新几内亚', '675', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61dd8a986f2c3a32f73d2fcc91fad2d921', '国家地区', '法属玻利尼西亚', '689', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a614d1d914a2dd38e2b3d2fcc91fad2d921', '国家地区', '秘鲁', '51', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c0acd6930f7e72453d2fcc91fad2d921', '国家地区', '巴拿马', '507', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6187484389f3007de23d2fcc91fad2d921', '国家地区', '阿曼', '968', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b8d266ce5f844a383d2fcc91fad2d921', '国家地区', '新西兰', '64', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6110481622d2da2c863d2fcc91fad2d921', '国家地区', '瑙鲁', '674', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a615e1763ce696780873d2fcc91fad2d921', '国家地区', '荷属安的列斯', '599', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613a9a7924134a4ff43d2fcc91fad2d921', '国家地区', '尼泊尔', '977', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619138f25560d019733d2fcc91fad2d921', '国家地区', '挪威', '47', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a611361d18851bfef8c3d2fcc91fad2d921', '国家地区', '荷兰', '31', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619ee6c8c7b7afca2c3d2fcc91fad2d921', '国家地区', '尼加拉瓜', '505', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619b625366e95fb7943d2fcc91fad2d921', '国家地区', '尼日利亚', '234', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6196a6b479067db94d3d2fcc91fad2d921', '国家地区', '尼日尔', '977', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61017db9dd3afd05803d2fcc91fad2d921', '国家地区', '纳米比亚', '264', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61333d19e5389e0c413d2fcc91fad2d921', '国家地区', '莫桑比克', '258', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61cafe6c54147860613d2fcc91fad2d921', '国家地区', '马来西亚', '60', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61d48679c28d88ca333d2fcc91fad2d921', '国家地区', '墨西哥', '52', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612d0764b6808795a83d2fcc91fad2d921', '国家地区', '马拉维', '265', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61a230d9c1a1fbfb3b3d2fcc91fad2d921', '国家地区', '马尔代夫', '960', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61980ab97eec36f6113d2fcc91fad2d921', '国家地区', '毛里求斯', '230', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6131d76494f4ddbaa23d2fcc91fad2d921', '国家地区', '马提尼克', '596', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613d96f779e96e0d7c3d2fcc91fad2d921', '国家地区', '马里亚那群岛', '1670', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61fe8f21d56c085da93d2fcc91fad2d921', '国家地区', '马耳他', '356', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a611449b18a97cc8ca23d2fcc91fad2d921', '国家地区', '蒙特塞拉特岛', '1664', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b6551bd973d19e333d2fcc91fad2d921', '国家地区', '中国澳门特别行政区', '853', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61a077f3a6fc81b5873d2fcc91fad2d921', '国家地区', '蒙古', '976', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6119a8d2873d6dbef73d2fcc91fad2d921', '国家地区', '缅甸', '95', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61efd968439cddd58a3d2fcc91fad2d921', '国家地区', '马里', '223', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a611559efc8e0ea718a3d2fcc91fad2d921', '国家地区', '马达加斯加', '261', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61bb37423b603113cf3d2fcc91fad2d921', '国家地区', '摩尔多瓦', '373', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618b91f0320f9513293d2fcc91fad2d921', '国家地区', '摩纳哥', '377', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61fa85757f5e4c3afb3d2fcc91fad2d921', '国家地区', '摩洛哥', '212', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a617a76496c1fcba6a83d2fcc91fad2d921', '国家地区', '利比亚', '218', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619efe91a7b89e24963d2fcc91fad2d921', '国家地区', '拉脱维亚', '371', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6142c8b3e160c0d8653d2fcc91fad2d921', '国家地区', '卢森堡', '352', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613564e00980b19bcb3d2fcc91fad2d921', '国家地区', '立陶宛', '370', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6167b3358f3e395cc63d2fcc91fad2d921', '国家地区', '莱索托', '266', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b23d80661094e9aa3d2fcc91fad2d921', '国家地区', '利比里亚', '231', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61629c0c441e63ddc23d2fcc91fad2d921', '国家地区', '斯里兰卡', '94', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c8fae80c79aedf403d2fcc91fad2d921', '国家地区', '列支敦士登', '423', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6198fde6ee6b28369f3d2fcc91fad2d921', '国家地区', '圣卢西亚', '1758', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618d5db2537b18816c3d2fcc91fad2d921', '国家地区', '黎巴嫩', '961', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ca27ffe82713102e3d2fcc91fad2d921', '国家地区', '老挝', '856', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61313e1764c259635b3d2fcc91fad2d921', '国家地区', '哈萨克斯坦', '327', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61934e53309dd8c3103d2fcc91fad2d921', '国家地区', '科威特', '965', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ccf6d3801d5fda823d2fcc91fad2d921', '国家地区', '科特迪瓦共和国', '225', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6100f51e66d50bdfa73d2fcc91fad2d921', '国家地区', '韩国', '82', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61f30aea3550a0eb7c3d2fcc91fad2d921', '国家地区', '朝鲜', '850', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b9c83a93a0bd1eaa3d2fcc91fad2d921', '国家地区', '柬埔寨', '855', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c339db2ee073cb8b3d2fcc91fad2d921', '国家地区', '吉尔吉斯坦', '331', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a616540e5480b2526973d2fcc91fad2d921', '国家地区', '肯尼亚', '254', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618876735169f47c3a3d2fcc91fad2d921', '国家地区', '日本', '81', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e8a6316baa1c3c9c3d2fcc91fad2d921', '国家地区', '约旦', '962', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619febb551883f89003d2fcc91fad2d921', '国家地区', '牙买加', '1876', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61fd91c9fa26284d8a3d2fcc91fad2d921', '国家地区', '科特迪瓦', '225', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6111cf3a3ac9b307483d2fcc91fad2d921', '国家地区', '意大利', '39', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6167a16af1f188b6683d2fcc91fad2d921', '国家地区', '冰岛', '354', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61bff5d20d94860aa63d2fcc91fad2d921', '国家地区', '伊朗', '98', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ef8a73ed211704e33d2fcc91fad2d921', '国家地区', '伊拉克', '964', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61d8b90b7130d422f53d2fcc91fad2d921', '国家地区', '印度', '91', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6107e8c784280c1a5f3d2fcc91fad2d921', '国家地区', '以色列', '972', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61419d17814a8de2173d2fcc91fad2d921', '国家地区', '爱尔兰', '353', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61172197f690abc4ed3d2fcc91fad2d921', '国家地区', '印度尼西亚', '62', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a616bc9b20a508afa2b3d2fcc91fad2d921', '国家地区', '匈牙利', '36', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61bca33b9d1d8206d43d2fcc91fad2d921', '国家地区', '海地', '509', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b95bdcb01391195a3d2fcc91fad2d921', '国家地区', '洪都拉斯', '504', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b0f9bf82edf479be3d2fcc91fad2d921', '国家地区', '中国香港特别行政区', '852', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a610abc638ae182fc0e3d2fcc91fad2d921', '国家地区', '圭亚那', '592', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c45378f9f384820a3d2fcc91fad2d921', '国家地区', '关岛', '1671', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a616b38ff58026a51463d2fcc91fad2d921', '国家地区', '危地马拉', '502', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618ece3110b15801fe3d2fcc91fad2d921', '国家地区', '希腊', '30', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612a271ecfb9fc30483d2fcc91fad2d921', '国家地区', '几内亚', '224', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e24a642552d4a4a23d2fcc91fad2d921', '国家地区', '冈比亚', '220', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612a51403290ac6a373d2fcc91fad2d921', '国家地区', '直布罗陀', '350', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a616e4ae85aaa44f83d3d2fcc91fad2d921', '国家地区', '加纳', '233', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61adb0500ac4a52ade3d2fcc91fad2d921', '国家地区', '法属圭亚那', '594', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61fc8b0b924f788eec3d2fcc91fad2d921', '国家地区', '格鲁吉亚', '995', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ed9db48f51fcc13a3d2fcc91fad2d921', '国家地区', '格林纳达', '1809', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ab4f665b88f73efe3d2fcc91fad2d921', '国家地区', '英国', '44', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e5c271ecbe47f3083d2fcc91fad2d921', '国家地区', '加蓬', '241', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6190aa778080b1d0b53d2fcc91fad2d921', '国家地区', '法国', '33', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e785246889bf20033d2fcc91fad2d921', '国家地区', '斐济', '679', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a610d3aa84903f6bf953d2fcc91fad2d921', '国家地区', '芬兰', '358', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6116d31bb5d79bd7893d2fcc91fad2d921', '国家地区', '埃塞俄比亚', '251', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6123c9762a6b549d5a3d2fcc91fad2d921', '国家地区', '西班牙', '34', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619bf91fe366ba22c53d2fcc91fad2d921', '国家地区', '埃及', '20', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61983fa758e1d055543d2fcc91fad2d921', '国家地区', '爱沙尼亚', '372', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612ca960fa4195ec943d2fcc91fad2d921', '国家地区', '厄瓜多尔', '593', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c5f39afb087f3d333d2fcc91fad2d921', '国家地区', '阿尔及利亚', '213', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61392d4a6905b914513d2fcc91fad2d921', '国家地区', '多米尼加共和国', '1890', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a610b162fba36f400763d2fcc91fad2d921', '国家地区', '丹麦', '45', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61a208839693aa49f63d2fcc91fad2d921', '国家地区', '吉布提', '253', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61fdc1d60023c310043d2fcc91fad2d921', '国家地区', '德国', '49', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b38e62a399e8bc5d3d2fcc91fad2d921', '国家地区', '捷克', '420', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61a5e2e08a18ae186b3d2fcc91fad2d921', '国家地区', '塞浦路斯', '357', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61621ff7e55ac737ee3d2fcc91fad2d921', '国家地区', '古巴', '53', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b695a9d7433bdc063d2fcc91fad2d921', '国家地区', '捷克', '420', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b89676d12ece30253d2fcc91fad2d921', '国家地区', '哥斯达黎加', '506', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a610569beac7e3b12b83d2fcc91fad2d921', '国家地区', '哥伦比亚', '57', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6101442b80cf5324673d2fcc91fad2d921', '国家地区', '中国', '86', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a611a6e16b019d7cee03d2fcc91fad2d921', '国家地区', '喀麦隆', '237', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613da958660a6ac7683d2fcc91fad2d921', '国家地区', '智利', '56', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61802b69ebf3d30f053d2fcc91fad2d921', '国家地区', '库克群岛', '682', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a615810e21ba6cddbed3d2fcc91fad2d921', '国家地区', '瑞士', '41', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61985bdc7c45cda9763d2fcc91fad2d921', '国家地区', '刚果', '242', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a610ad14ea1b4aa50203d2fcc91fad2d921', '国家地区', '中非共和国', '236', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b25e9760ea01f0693d2fcc91fad2d921', '国家地区', '开曼群岛', '1345', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a610a70b3c0188895e73d2fcc91fad2d921', '国家地区', '加拿大', '1', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6153484bfaf7a94f6b3d2fcc91fad2d921', '国家地区', '伯利兹', '501', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e986c2fa1d4dd3af3d2fcc91fad2d921', '国家地区', '白俄罗斯', '375', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b7b0d74f22808cc93d2fcc91fad2d921', '国家地区', '博茨瓦纳', '267', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ddf5e224ea1034863d2fcc91fad2d921', '国家地区', '巴哈马', '1242', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a610495cd3ce9e7f5113d2fcc91fad2d921', '国家地区', '巴西', '55', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61bd97ad7d5d1868d13d2fcc91fad2d921', '国家地区', '玻利维亚', '591', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6187fdb01e779248e33d2fcc91fad2d921', '国家地区', '文莱', '673', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a614e35b2b0e1257b6d3d2fcc91fad2d921', '国家地区', '百慕大群岛', '1441', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6137eaca9aa608872d3d2fcc91fad2d921', '国家地区', '巴勒斯坦', '970', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61407203f7fd4bd8cf3d2fcc91fad2d921', '国家地区', '贝宁', '229', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61dbff10bbf6e5456e3d2fcc91fad2d921', '国家地区', '布隆迪', '257', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e9150c88a6384d423d2fcc91fad2d921', '国家地区', '巴林', '973', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b2334c4ee89b3e093d2fcc91fad2d921', '国家地区', '保加利亚', '359', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61124c43903073ddd73d2fcc91fad2d921', '国家地区', '布基纳法索', '226', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61a6a3d60eaa762a333d2fcc91fad2d921', '国家地区', '比利时', '32', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6135f6a7ec5498944c3d2fcc91fad2d921', '国家地区', '孟加拉国', '880', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6116660a1a87fefd303d2fcc91fad2d921', '国家地区', '巴巴多斯', '1246', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a610753b61da0d0e66f3d2fcc91fad2d921', '国家地区', '阿塞拜疆', '994', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a617d4d46e37bd3cdfd3d2fcc91fad2d921', '国家地区', '澳大利亚', '61', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6102df85b3339ce72b3d2fcc91fad2d921', '国家地区', '奥地利', '43', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61279ab48e6a0e56b63d2fcc91fad2d921', '国家地区', '阿根廷', '54', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61197b7be6543ca6aa3d2fcc91fad2d921', '国家地区', '安哥拉', '244', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613f10e9e895e08d913d2fcc91fad2d921', '国家地区', '阿森松', '247', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61dbd3e54b55c560243d2fcc91fad2d921', '国家地区', '亚美尼亚', '374', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61926139d94309cdf73d2fcc91fad2d921', '国家地区', '阿尔巴尼亚', '355', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61eca61f9baaf70e5e3d2fcc91fad2d921', '国家地区', '安圭拉岛', '1264', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6175392b28c49c93d43d2fcc91fad2d921', '国家地区', '安提瓜和巴布达', '1268', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61fe765e3d63b244483d2fcc91fad2d921', '国家地区', '阿富汗', '93', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a611373a68aabfc3ae13d2fcc91fad2d921', '国家地区', '阿拉伯联合酋长国', '971', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a615a95817c1f66dc513d2fcc91fad2d921', '国家地区', '安道尔共和国', '376', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61273cd964f198fba33d2fcc91fad2d921', '婚姻状况', '未婚', '10', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ddc789e6eb230a763d2fcc91fad2d921', '婚姻状况', '已婚', '20', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613613fad3c904ad1a3d2fcc91fad2d921', '婚姻状况', '初婚', '21', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b693f6a4b72242323d2fcc91fad2d921', '婚姻状况', '再婚', '22', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61f0b8ae6469f5d6583d2fcc91fad2d921', '婚姻状况', '复婚', '23', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b04bfe1598e22ecb3d2fcc91fad2d921', '婚姻状况', '丧偶', '30', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612680ddc13b81991a3d2fcc91fad2d921', '婚姻状况', '离婚', '40', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61aa6f69418db124473d2fcc91fad2d921', '婚姻状况', '未说明的婚姻状况', '90', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613725581ad7ed98c33d2fcc91fad2d921', '监考状态', '可监考、可巡考', 'JKZT004', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e71e82bd39e417423d2fcc91fad2d921', '监考状态', '可巡考', 'JKZT003', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c60999b38147a89c3d2fcc91fad2d921', '监考状态', '可监考', 'JKZT002', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61af7bd5c5ce9acb283d2fcc91fad2d921', '监考状态', '未设置', 'JKZT001', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613f186a623b6fe4e93d2fcc91fad2d921', '健康状况', '健康或良好', '1', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61dd1ab0a52ca0de653d2fcc91fad2d921', '健康状况', '一般或较弱', '2', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61733a1a889bc86d523d2fcc91fad2d921', '健康状况', '有慢性病', '3', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61568043de53305e593d2fcc91fad2d921', '健康状况', '残疾', '6', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6167409a7cc19487393d2fcc91fad2d921', '教材类型', '纸质与数字资源结合教材', '3', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619f173ae8ff68ba2c3d2fcc91fad2d921', '教材类型', '数字教材', '2', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6143a91fd0f1f1f7fa3d2fcc91fad2d921', '教材类型', '纸质教材', '1', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61d11d1a6193a576643d2fcc91fad2d921', '教师到课', '正常', '1', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61de48b4d618efe3143d2fcc91fad2d921', '教师到课', '异常', '0', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES (NULL, '教师资格类别', '幼儿园教师资格', 'JSZGLB007', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES (NULL, '教师资格类别', '小学教师资格', 'JSZGLB006', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES (NULL, '教师资格类别', '初级中学教师资格', 'JSZGLB005', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES (NULL, '教师资格类别', '高级中学教师资格', 'JSZGLB004', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES (NULL, '教师资格类别', '中等职业学校教师资格', 'JSZGLB003', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES (NULL, '教师资格类别', '中等职业学校实习指导教师资格', 'JSZGLB002', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES (NULL, '教师资格类别', '高等学校教师资格', 'JSZGLB001', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619ae8a0de9dbb3d1a3d2fcc91fad2d921', '民族', '汉族', '1', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e387476d26556b163d2fcc91fad2d921', '民族', '蒙古族', '2', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618651f816f72622903d2fcc91fad2d921', '民族', '回族', '3', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61775509c63945940f3d2fcc91fad2d921', '民族', '藏族', '4', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61cdb4dcb4a400dd183d2fcc91fad2d921', '民族', '维吾尔族', '5', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6155e1c5274aee5d923d2fcc91fad2d921', '民族', '苗族', '6', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61550bcc799c07e19e3d2fcc91fad2d921', '民族', '彝族', '7', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6155333cf7e47483a23d2fcc91fad2d921', '民族', '壮族', '8', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ee352f2c57e276733d2fcc91fad2d921', '民族', '布依族', '9', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61a0970ef432ecc7283d2fcc91fad2d921', '民族', '朝鲜族', '10', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61d8471584c8ab9ed33d2fcc91fad2d921', '民族', '满族', '11', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a615741ac3c148afa523d2fcc91fad2d921', '民族', '侗族', '12', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c9deb6611aaaa3733d2fcc91fad2d921', '民族', '瑶族', '13', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61062ce9cdb4cf61df3d2fcc91fad2d921', '民族', '白族', '14', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612f88cbb9b071727a3d2fcc91fad2d921', '民族', '土家族', '15', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612da1fa535e891d423d2fcc91fad2d921', '民族', '哈尼族', '16', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613884d04c29474c9c3d2fcc91fad2d921', '民族', '哈萨克族', '17', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ec8dd15972aecafb3d2fcc91fad2d921', '民族', '傣族', '18', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e74d16ac832617d33d2fcc91fad2d921', '民族', '黎族', '19', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61bd9a54ac0682f5b13d2fcc91fad2d921', '民族', '傈僳族', '20', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a616e151976d29915793d2fcc91fad2d921', '民族', '佤族', '21', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6185cd70959d140c8a3d2fcc91fad2d921', '民族', '畲族', '22', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6100cccdbb30a2f1983d2fcc91fad2d921', '民族', '高山族', '23', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b824464741bb89643d2fcc91fad2d921', '民族', '拉祜族', '24', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618dafe666ee7a3f7c3d2fcc91fad2d921', '民族', '水族', '25', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6170d6175f4398a32d3d2fcc91fad2d921', '民族', '东乡族', '26', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612dae20fb266da6c03d2fcc91fad2d921', '民族', '纳西族', '27', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619806b4d63d9f800f3d2fcc91fad2d921', '民族', '景颇族', '28', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6102ee4d426b2de5f73d2fcc91fad2d921', '民族', '柯尔克孜族', '29', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618ece7fc3196f0b863d2fcc91fad2d921', '民族', '土族', '30', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6146240c0dd7afb8313d2fcc91fad2d921', '民族', '达斡尔族', '31', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6135baf6e13d3306a93d2fcc91fad2d921', '民族', '仫佬族', '32', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618047b94ffd9b00e33d2fcc91fad2d921', '民族', '羌族', '33', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c463c4468c13c2993d2fcc91fad2d921', '民族', '布朗族', '34', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ceec056fa9af3fbb3d2fcc91fad2d921', '民族', '撒拉族', '35', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6108ec32a9883d1ef43d2fcc91fad2d921', '民族', '毛难族', '36', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61a4f9478febf3ca373d2fcc91fad2d921', '民族', '仡佬族', '37', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61cc003112df1af65d3d2fcc91fad2d921', '民族', '锡伯族', '38', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61406172eaf4de41d63d2fcc91fad2d921', '民族', '阿昌族', '39', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61d8998217417856ea3d2fcc91fad2d921', '民族', '普米族', '40', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a616298c1af2dd504c13d2fcc91fad2d921', '民族', '塔吉克族', '41', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a616e8203fc01823f733d2fcc91fad2d921', '民族', '怒族', '42', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61fbac4ac8229009613d2fcc91fad2d921', '民族', '乌孜别克族', '43', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ace5793b9e41a5c83d2fcc91fad2d921', '民族', '俄罗斯族', '44', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6166eb88643065dede3d2fcc91fad2d921', '民族', '鄂温克族', '45', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618558fc643f8345723d2fcc91fad2d921', '民族', '德昂族', '46', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619db4fd845459b9033d2fcc91fad2d921', '民族', '保安族', '47', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61569c72ad9d9b8d863d2fcc91fad2d921', '民族', '裕固族', '48', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e83629ebca142fd53d2fcc91fad2d921', '民族', '京族', '49', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61cc95d2929da1e3d03d2fcc91fad2d921', '民族', '塔塔尔族', '50', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a616cc2fc5140a4ca493d2fcc91fad2d921', '民族', '独龙族', '51', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a616efd9f14e6b493c63d2fcc91fad2d921', '民族', '鄂伦春族', '52', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61f1888899395315f43d2fcc91fad2d921', '民族', '赫哲族', '53', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61aa4647839597a52b3d2fcc91fad2d921', '民族', '门巴族', '54', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a611db59fcc8873e23c3d2fcc91fad2d921', '民族', '珞巴族', '55', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612b445120fff0cbf83d2fcc91fad2d921', '民族', '基诺族', '56', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613533908aa03935c93d2fcc91fad2d921', '民族', '穿青人族', '81', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e147badf76dc34413d2fcc91fad2d921', '民族', '傈傈族', '57', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6130771c8589ba0cff3d2fcc91fad2d921', '民族', '其它', '97', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612013798ddb65a8083d2fcc91fad2d921', '民族', '外国血统中国籍人士', '98', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5ad5b15f04e3233679fccbb68198b87b493d2fcc91fad2d921', '年级数据', '2026', '2026', NULL, NULL, NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5ac96f8c0f501705216013a25addb470623d2fcc91fad2d921', '年级数据', '2025', '2025', NULL, NULL, NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5ae420a33aaf2ee708ae8e1a40970d25133d2fcc91fad2d921', '年级数据', '2024', '2024', NULL, NULL, NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5ae420a33aaf2ee7089442a38232e805c73d2fcc91fad2d921', '年级数据', '2023', '2023', NULL, NULL, NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5ae420a33aaf2ee70824284651b7ac3ab43d2fcc91fad2d921', '年级数据', '2022', '2022', NULL, NULL, NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5ae420a33aaf2ee70808dcb88741af9d9a3d2fcc91fad2d921', '年级数据', '2021', '2021', NULL, NULL, NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5ae420a33aaf2ee7087990c71e1d9302593d2fcc91fad2d921', '年级数据', '2020', '2020', NULL, NULL, NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5ae420a33aaf2ee708b8330ce1a2e416083d2fcc91fad2d921', '年级数据', '2019', '2019', NULL, NULL, NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5ae420a33aaf2ee7083cda5cf1a1d2c1c43d2fcc91fad2d921', '年级数据', '2018', '2018', NULL, NULL, NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5ae420a33aaf2ee7082422b242edcbb6183d2fcc91fad2d921', '年级数据', '2017', '2017', NULL, NULL, NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5ae420a33aaf2ee708628db7672766beed3d2fcc91fad2d921', '年级数据', '2016', '2016', NULL, NULL, NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5ae420a33aaf2ee708d19494a3d9725a7c3d2fcc91fad2d921', '年级数据', '2015', '2015', NULL, NULL, NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5ae420a33aaf2ee70819841494c9bf63bb3d2fcc91fad2d921', '年级数据', '2014', '2014', NULL, NULL, NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5ae420a33aaf2ee708c91c749b7a7636973d2fcc91fad2d921', '年级数据', '2013', '2013', NULL, NULL, NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5ae420a33aaf2ee7082efba0a77359c1d73d2fcc91fad2d921', '年级数据', '2012', '2012', NULL, NULL, NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5ae420a33aaf2ee7082528ca56650a13813d2fcc91fad2d921', '年级数据', '2011', '2011', NULL, NULL, NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5ae420a33aaf2ee708c9527abddf68607e3d2fcc91fad2d921', '年级数据', '2010', '2010', NULL, NULL, NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5ae420a33aaf2ee708c66fe6b2e717e4ba3d2fcc91fad2d921', '年级数据', '2009', '2009', NULL, NULL, NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5ae420a33aaf2ee708d31c77dc8f3203bc3d2fcc91fad2d921', '年级数据', '2008', '2008', NULL, NULL, NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5ae420a33aaf2ee7084eddccfb72329a423d2fcc91fad2d921', '年级数据', '2007', '2007', NULL, NULL, NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5ae420a33aaf2ee708ea809a0477e4783c3d2fcc91fad2d921', '年级数据', '2006', '2006', NULL, NULL, NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a617ac810aa8169811f3d2fcc91fad2d921', '是否标志代码', '是', '1', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61423c063a5b1646f03d2fcc91fad2d921', '是否标志代码', '否', '0', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61cfa94642c0b2be1a3d2fcc91fad2d921', '文化程度', '研究生毕业', 'WHCD031', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61936f627472341d973d2fcc91fad2d921', '文化程度', '博士后', 'WHCD030', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61061ab86c178dfff43d2fcc91fad2d921', '文化程度', '博士', 'WHCD029', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618817648d012c74783d2fcc91fad2d921', '文化程度', '硕士', 'WHCD028', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e07b27c9b59fdd3e3d2fcc91fad2d921', '文化程度', '研究生肄业', 'WHCD027', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e728cde66a9ed6013d2fcc91fad2d921', '文化程度', '大学毕业', 'WHCD026', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61fdc951b242f3f6e73d2fcc91fad2d921', '文化程度', '相当大学毕业', 'WHCD025', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61a7cbeb8d878d1ba63d2fcc91fad2d921', '文化程度', '大学肄业', 'WHCD024', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a616d6d7459a6dafc983d2fcc91fad2d921', '文化程度', '大学专科', 'WHCD023', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61a50b4650296dfb523d2fcc91fad2d921', '文化程度', '专科毕业', 'WHCD022', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6120ee229b4a7e599a3d2fcc91fad2d921', '文化程度', '相当专科毕业', 'WHCD021', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6118e138f0f5114edc3d2fcc91fad2d921', '文化程度', '大专肄业', 'WHCD020', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6123635b19bd6c6f133d2fcc91fad2d921', '文化程度', '中专毕业', 'WHCD019', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61824eeac96374fa883d2fcc91fad2d921', '文化程度', '中技毕业', 'WHCD018', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6175b1cbeb00476f8b3d2fcc91fad2d921', '文化程度', '相当中专中技', 'WHCD017', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a616b8cd48990c72c103d2fcc91fad2d921', '文化程度', '中专中技肄业', 'WHCD016', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61115ca984bfff6b933d2fcc91fad2d921', '文化程度', '技工学校毕业', 'WHCD015', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6167b583bae75231e33d2fcc91fad2d921', '文化程度', '技工学校肄业', 'WHCD014', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e020f56889592da73d2fcc91fad2d921', '文化程度', '高中毕业', 'WHCD013', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b944b16902b25a893d2fcc91fad2d921', '文化程度', '职业高中毕业', 'WHCD012', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c716afc8284f335b3d2fcc91fad2d921', '文化程度', '农业高中毕业', 'WHCD011', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e9a8863226eba8963d2fcc91fad2d921', '文化程度', '相当高中毕业', 'WHCD010', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612bf47a21b85504013d2fcc91fad2d921', '文化程度', '高中肄业', 'WHCD009', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61200e5940126972663d2fcc91fad2d921', '文化程度', '职业初中毕业', 'WHCD008', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61d9a5965aa778679b3d2fcc91fad2d921', '文化程度', '农业初中毕业', 'WHCD007', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61670af99607f7121d3d2fcc91fad2d921', '文化程度', '相当初中毕业', 'WHCD006', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61dad3772912627c983d2fcc91fad2d921', '文化程度', '初中肄业', 'WHCD005', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6147bc9bde67e3c6623d2fcc91fad2d921', '文化程度', '小学毕业', 'WHCD004', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61580e9b88b9e3f5733d2fcc91fad2d921', '文化程度', '相当小学毕业', 'WHCD003', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6155fe556a9d6450a23d2fcc91fad2d921', '文化程度', '小学肄业', 'WHCD002', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618b9c5473d79c42ed3d2fcc91fad2d921', '文化程度', '初中毕业', 'WHCD001', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61f75b369f9432b8893d2fcc91fad2d921', '性别', '未说明的性别', '9', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6135c250f52ccae2233d2fcc91fad2d921', '性别', '未知的性别', '0', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619fec528572487d643d2fcc91fad2d921', '性别', '女', '2', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c54f22112281b6333d2fcc91fad2d921', '性别', '男', '1', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613ba48ccf97c048353d2fcc91fad2d921', '培养方式', '中职本科3+4', 'PYFS007', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a617f732194c4ece0203d2fcc91fad2d921', '培养方式', '中高职2.5+2.5', 'PYFS006', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ff439947099511893d2fcc91fad2d921', '培养方式', '中高职3+3', 'PYFS005', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61a77efb499b8ab6503d2fcc91fad2d921', '培养方式', '中高职2+3', 'PYFS004', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61bbe5129a1a96379e3d2fcc91fad2d921', '培养方式', '五年一贯制', 'PYFS003', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618002bfc54ef4293e3d2fcc91fad2d921', '培养方式', '三二分段制', 'PYFS002', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a617b3d20b31c4240803d2fcc91fad2d921', '培养方式', '非分段培养', 'PYFS001', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613798c31c70a2cc3b3d2fcc91fad2d921', '培养层次', '高职', 'PYCC002', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a610ae2d992a104843a3d2fcc91fad2d921', '培养层次', '博士', 'PYCC006', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618f247eff47591b133d2fcc91fad2d921', '培养层次', '硕士', 'PYCC005', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ebfd6357a8f2fff43d2fcc91fad2d921', '培养层次', '本科', 'PYCC004', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c50c21c397bb973f3d2fcc91fad2d921', '培养层次', '专科', 'PYCC003', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a615dc90e56dfc97f363d2fcc91fad2d921', '培养层次', '其他', 'PYCC002', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ffa46ed63d6cbfa23d2fcc91fad2d921', '培养层次', '中职', 'PYCC001', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6188d4456ca3446ad63d2fcc91fad2d921', '入学方式', '统一招生考试/普通入学', 'RXFS013', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61a878b33f4a6ba3323d2fcc91fad2d921', '入学方式', '保送', 'RXFS012', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e2dfc43344fbe06e3d2fcc91fad2d921', '入学方式', '民族班', 'RXFS011', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6152794b79aa382e563d2fcc91fad2d921', '入学方式', '定向培养', 'RXFS010', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6194a2dce787fdac0a3d2fcc91fad2d921', '入学方式', '体育特招', 'RXFS009', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6141a061cb4e180cf13d2fcc91fad2d921', '入学方式', '文艺特招', 'RXFS008', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612cc05f08effef14a3d2fcc91fad2d921', '入学方式', '学生干部保送', 'RXFS007', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61d401e5b0deda6fa53d2fcc91fad2d921', '入学方式', '考试推荐', 'RXFS006', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a614d4e27ee48f2211b3d2fcc91fad2d921', '入学方式', '外校转入', 'RXFS005', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b38de8723421890e3d2fcc91fad2d921', '入学方式', '恢复入学资格', 'RXFS004', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e6b665110e0cffcc3d2fcc91fad2d921', '入学方式', '其他', 'RXFS001', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e7824231aace13c33d2fcc91fad2d921', '学前学历', '中等专科肄业', 'XQXL025', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6182aa200b07a11a243d2fcc91fad2d921', '学前学历', '中等专科结业', 'XQXL024', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61cbc7e03328c63c903d2fcc91fad2d921', '学前学历', '中等专科毕业', 'XQXL023', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612ad87c3e4a933fc33d2fcc91fad2d921', '学前学历', '职业高中肄业', 'XQXL022', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ba5c03739683298b3d2fcc91fad2d921', '学前学历', '职业高中结业', 'XQXL021', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a610aadc850106ad9d53d2fcc91fad2d921', '学前学历', '职业高中毕业', 'XQXL020', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c1d5f9bcac56e9553d2fcc91fad2d921', '学前学历', '技工学校肄业', 'XQXL019', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6160d2fca36fad1cf73d2fcc91fad2d921', '学前学历', '技工学校结业', 'XQXL018', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619a9c14ab11f17d3b3d2fcc91fad2d921', '学前学历', '技工学校毕业', 'XQXL017', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6132ffe8c55e1ca5063d2fcc91fad2d921', '学前学历', '小学肄业', 'XQXL016', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6133e18dad705d94fc3d2fcc91fad2d921', '学前学历', '小学毕业', 'XQXL015', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61cc101110b738c9e03d2fcc91fad2d921', '学前学历', '初中肄业', 'XQXL014', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6173f05bd149ad8d053d2fcc91fad2d921', '学前学历', '初中毕业', 'XQXL013', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a614ed46549db1066c93d2fcc91fad2d921', '学前学历', '普通高中肄业', 'XQXL012', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6107c4d5a68f3b59683d2fcc91fad2d921', '学前学历', '普通高中结业', 'XQXL011', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a610ffea4a937ac08cd3d2fcc91fad2d921', '学前学历', '普通高中毕业', 'XQXL010', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61eb3c2336b4da2f1b3d2fcc91fad2d921', '学前学历', '研究生教育', 'XQXL008', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613e2d5060f50475543d2fcc91fad2d921', '学前学历', '大学本科教育', 'XQXL007', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618135169604e7a7f23d2fcc91fad2d921', '学前学历', '大学专科教育', 'XQXL006', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61388befdbafaf2b8d3d2fcc91fad2d921', '学前学历', '中等职业教育', 'XQXL005', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613b613f47a1cbeb053d2fcc91fad2d921', '学前学历', '普通高级中学教育', 'XQXL004', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61a6074797920892e83d2fcc91fad2d921', '学前学历', '初级中学教育', 'XQXL003', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612fea12a053f04f413d2fcc91fad2d921', '学前学历', '小学教育', 'XQXL002', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a610fa44651ca231e213d2fcc91fad2d921', '学前学历', '其他', 'XQXL001', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6158db717aafc4ac3e3d2fcc91fad2d921', '学生当前状态', '实习', 'XSDQZT002', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6126c983b73a50ca6c3d2fcc91fad2d921', '学生当前状态', '转录失败+实习', 'XSDQZT003', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61442968c635d003653d2fcc91fad2d921', '学生当前状态', '公派出国', 'XSDQZT004', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e8c4d73117bb67ac3d2fcc91fad2d921', '学生当前状态', '下落不明', 'XSDQZT005', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61703ca853c91a69323d2fcc91fad2d921', '学生当前状态', '流失', 'XSDQZT006', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6119f259453b989f873d2fcc91fad2d921', '学生当前状态', '其他', 'XSDQZT007', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61d1de5fc897dd89063d2fcc91fad2d921', '学生当前状态', '保留入学资格', 'XSDQZT005', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61d073f3ee8c70c61b3d2fcc91fad2d921', '学生当前状态', '开除', 'XSDQZT003', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61818c4d722a54cf793d2fcc91fad2d921', '学生当前状态', '在读', 'XSDQZT016', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61f641e32ad4e264f63d2fcc91fad2d921', '学生当前状态', '休学', 'XSDQZT015', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61274319ea656feadd3d2fcc91fad2d921', '学生当前状态', '退学', 'XSDQZT014', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b6089ef2d23595883d2fcc91fad2d921', '学生当前状态', '停学', 'XSDQZT013', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61a94a9ddfbaff95ca3d2fcc91fad2d921', '学生当前状态', '复学', 'XSDQZT012', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619a569c6c6528be003d2fcc91fad2d921', '学生当前状态', '毕业', 'XSDQZT010', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612da5490709a54cdd3d2fcc91fad2d921', '学生当前状态', '结业', 'XSDQZT009', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6195a13f23612d3c953d2fcc91fad2d921', '学生当前状态', '肄业', 'XSDQZT008', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b586ff8ca13516023d2fcc91fad2d921', '学生当前状态', '转学(转出)', 'XSDQZT007', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61f2665fc7133abfbc3d2fcc91fad2d921', '学生当前状态', '死亡', 'XSDQZT006', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a616b338c6e4fb41ab83d2fcc91fad2d921', '学生来源', '应届', 'XSLY002', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a614ddc9f2a067338883d2fcc91fad2d921', '学生来源', '非应届', 'XSLY001', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618599eb7d166b960b3d2fcc91fad2d921', '学生类别', '技工学校学生', 'XSLB005', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b76db294d540f46c3d2fcc91fad2d921', '学生类别', '成人中专学生', 'XSLB004', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619b257e608657ff163d2fcc91fad2d921', '学生类别', '普通中专学生', 'XSLB003', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c13cd03ccdfbe7593d2fcc91fad2d921', '学生类别', '职业高中学生', 'XSLB002', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61a5367c67149e1f8e3d2fcc91fad2d921', '学生类别', '调整后中职学生', 'XSLB001', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6128266a8b63377b083d2fcc91fad2d921', '学位获取方式', '其他', 'JYLB003', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a615d1cabc8321e53573d2fcc91fad2d921', '学位获取方式', '参加学历文凭考试', 'JYLB002', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6119b9686fe236d2f43d2fcc91fad2d921', '学位获取方式', '直接授予', 'JYLB001', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61926864f4e3225ac23d2fcc91fad2d921', '招生对象', '应届初中毕业生', 'ZSDX001', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618837bf50fdc638c03d2fcc91fad2d921', '招生对象', '应届高中毕业生', 'ZSDX002', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6149f6968ea6c34eef3d2fcc91fad2d921', '招生对象', '往届初中毕业生', 'ZSDX003', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6192aaef900510335d3d2fcc91fad2d921', '招生对象', '进城务工人员', 'ZSDX004', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ab95cfc6891e561b3d2fcc91fad2d921', '招生对象', '农民', 'ZSDX005', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a610693cce14172f8843d2fcc91fad2d921', '招生对象', '退役军人', 'ZSDX006', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61da0c111375a9920b3d2fcc91fad2d921', '招生对象', '城镇下岗职工', 'ZSDX007', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b42bb3e6cc2462f43d2fcc91fad2d921', '招生对象', '高职高专学生', 'ZSDX008', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61bf16d83a5413eba63d2fcc91fad2d921', '招生对象', '本科及研究生学生', 'ZSDX009', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61d261e769b2caf6133d2fcc91fad2d921', '招生对象', '其他', 'ZSDX010', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b4de2a28aee96a1d3d2fcc91fad2d921', '招生方式', '统一招生', 'XXZS001', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613f63f938c19438e83d2fcc91fad2d921', '招生方式', '自主招生', 'XXZS002', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c2da78d1a8b2777c3d2fcc91fad2d921', '学制', '八年制', 'XZ001', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618266ab5ca8208e1c3d2fcc91fad2d921', '学制', '七年制', 'XZ002', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e9fa95b311ca152f3d2fcc91fad2d921', '学制', '六年半制', 'XZ003', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613342bf2adfd07af83d2fcc91fad2d921', '学制', '六年制', 'XZ004', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a611a9486d092d432833d2fcc91fad2d921', '学制', '五年半制', 'XZ005', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e1e53962c950c58e3d2fcc91fad2d921', '学制', '四年半制', 'XZ006', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6103179cc4e1f7976d3d2fcc91fad2d921', '学制', '三年半制', 'XZ007', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a611f185f8108cfb9763d2fcc91fad2d921', '学制', '两年半制', 'XZ008', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61da2245db8facfcb93d2fcc91fad2d921', '学制', '两年制', 'XZ009', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61f81bfe674cb5201d3d2fcc91fad2d921', '学制', '一年半制', 'XZ010', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6162ab33a08a9b85b13d2fcc91fad2d921', '学制', '一年制', 'XZ011', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e568e7b2aba47e333d2fcc91fad2d921', '学制', '五年制', 'XZ012', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6147003cbe3f42f8b63d2fcc91fad2d921', '学制', '四年制', 'XZ013', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6132a08994eedde0a83d2fcc91fad2d921', '学制', '三年制', 'XZ014', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6175165dc144e7cff83d2fcc91fad2d921', '学制', '3+2', 'XZ015', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61af396539e08e4e953d2fcc91fad2d921', '学制', '3+1+1', 'XZ016', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a610af514fd51bf39423d2fcc91fad2d921', '血型', '未知血型', '0', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e9dcc4d2c5794c1e3d2fcc91fad2d921', '血型', 'A血型', '1', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619e3d060d6cee82143d2fcc91fad2d921', '血型', 'B血型', '2', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618a2a64e7970d6b863d2fcc91fad2d921', '血型', 'AB血型', '3', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a615ab40c553789468a3d2fcc91fad2d921', '血型', 'O血型', '4', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61aae313c523ef88693d2fcc91fad2d921', '血型', 'RH阳性血型', '5', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6155594a267535b8ac3d2fcc91fad2d921', '血型', 'RH阴性血型', '6', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613d2d867d7da4bbc03d2fcc91fad2d921', '血型', 'HLA血型', '7', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6173b68904be862dda3d2fcc91fad2d921', '血型', '未定血型', '8', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c2d10aff56be0bbb3d2fcc91fad2d921', '血型', '其他血型', '9', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61bd98dd5fcdc918b83d2fcc91fad2d921', '证件类型', '居民身份证', '1', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612d36a243b1d5fb643d2fcc91fad2d921', '证件类型', '军官证', '2', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6160f0074d32525f983d2fcc91fad2d921', '证件类型', '士兵证', '3', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61f62fda81861a36433d2fcc91fad2d921', '证件类型', '文职干部证', '4', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a611b5561c787f9e8df3d2fcc91fad2d921', '证件类型', '部队离退休证', '5', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619a56fd431a26801d3d2fcc91fad2d921', '证件类型', '香港特区护照/身份证明', '6', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61078ca297a5be33213d2fcc91fad2d921', '证件类型', '澳门特区护照/身份证明', '7', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a610be921ec6b630eb03d2fcc91fad2d921', '证件类型', '台湾居民来往大陆通行证', '8', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619a691f3d1d7942533d2fcc91fad2d921', '证件类型', '境外永久居住证', '9', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61a459a8e6305fe2733d2fcc91fad2d921', '证件类型', '护照', 'A', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61904bd1f7e0071ccb3d2fcc91fad2d921', '证件类型', '户口薄', 'B', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61a81ed952eb06823c3d2fcc91fad2d921', '证件类型', '其他', 'Z', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ae443a4daa716b893d2fcc91fad2d921', '政治面貌', '中国共产党党员', '1', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61747dd8f4a9ec156b3d2fcc91fad2d921', '政治面貌', '中国共产党预备党员', '2', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61861b57ed0f0bd82c3d2fcc91fad2d921', '政治面貌', '中国共产主义青年团团员', '3', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6142291d9cba7488f33d2fcc91fad2d921', '政治面貌', '中国国民党革命委员会会员', '4', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a617b0ced706e6bdeab3d2fcc91fad2d921', '政治面貌', '中国民主同盟盟员', '5', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a614c4d31abe6c57d8e3d2fcc91fad2d921', '政治面貌', '中国民主建国会会员', '6', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c63901b2863fa2153d2fcc91fad2d921', '政治面貌', '中国民主促进会会员', '7', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61d9008e99a602acfa3d2fcc91fad2d921', '政治面貌', '中国农工民主党党员', '8', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6102e044192ae74eac3d2fcc91fad2d921', '政治面貌', '中国致公党党员', '9', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61fc862f968488c8da3d2fcc91fad2d921', '政治面貌', '九三学社社员', '10', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618b184b627d4ba7473d2fcc91fad2d921', '政治面貌', '台湾民主自治同盟盟员', '11', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6158f687c4f54d97d83d2fcc91fad2d921', '政治面貌', '无党派民主人士', '12', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61f47e31c4da70f20f3d2fcc91fad2d921', '政治面貌', '群众', '13', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61254a86b36572053b3d2fcc91fad2d921', '专科专业大类', '食品工业类', 'ZYDL096', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6139270c55d616618d3d2fcc91fad2d921', '专科专业大类', '纺织服装类', 'ZYDL095', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a617e7c8afd9bd26d8f3d2fcc91fad2d921', '专科专业大类', '印刷类', 'ZYDL094', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c3b0d642c567cd553d2fcc91fad2d921', '专科专业大类', '包装类', 'ZYDL093', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a615a087527e10479593d2fcc91fad2d921', '专科专业大类', '轻化工类', 'ZYDL092', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6188b5b21fb59c0e653d2fcc91fad2d921', '专科专业大类', '生物技术类', 'ZYDL091', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ce3803c6170c9a543d2fcc91fad2d921', '专科专业大类', '机械设计制造类', 'ZYDL090', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61df9c8b3fb53945c13d2fcc91fad2d921', '专科专业大类', '水文水资源类', 'ZYDL089', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a614d2b44a6d404e0803d2fcc91fad2d921', '专科专业大类', '建筑设计类', 'ZYDL088', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6151477e957de7ac1f3d2fcc91fad2d921', '专科专业大类', '电力技术类', 'ZYDL087', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c52d8449b45945493d2fcc91fad2d921', '专科专业大类', '资源勘查类', 'ZYDL086', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6189994f434c859ed23d2fcc91fad2d921', '专科专业大类', '农业类', 'ZYDL085', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a617898f76c322d630a3d2fcc91fad2d921', '专科专业大类', '公共事业类', 'ZYDL084', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6160a035f18df0deae3d2fcc91fad2d921', '专科专业大类', '公安管理类', 'ZYDL083', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618441cce6fbc3bc403d2fcc91fad2d921', '专科专业大类', '教育类', 'ZYDL082', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61f9b5405fe5100e133d2fcc91fad2d921', '专科专业大类', '新闻出版类', 'ZYDL081', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c03e8b10a20277cf3d2fcc91fad2d921', '专科专业大类', '艺术设计类', 'ZYDL080', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6147ef79c8908c3a8e3d2fcc91fad2d921', '专科专业大类', '旅游类', 'ZYDL079', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6178990b65430816923d2fcc91fad2d921', '专科专业大类', '财政税务类', 'ZYDL078', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61a88572aa482edfc03d2fcc91fad2d921', '专科专业大类', '临床医学类', 'ZYDL077', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6130b92ae9786bddb23d2fcc91fad2d921', '专科专业大类', '电子信息类', 'ZYDL076', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6157f88c3fcfda85ae3d2fcc91fad2d921', '专科专业大类', '铁道运输类', 'ZYDL075', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a611a2202855886529b3d2fcc91fad2d921', '专科专业大类', '药品制造类', 'ZYDL074', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612b3a67d5ae54bdc43d2fcc91fad2d921', '专科专业大类', '化工技术类', 'ZYDL073', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a611c4463e49011b8b73d2fcc91fad2d921', '专科专业大类', '机电设备类', 'ZYDL072', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6115a1eb2910b1d0ef3d2fcc91fad2d921', '专科专业大类', '水利工程与管理类', 'ZYDL071', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61cb73f893d48eec843d2fcc91fad2d921', '专科专业大类', '城乡规划与管理类', 'ZYDL070', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61f48e34f9ae1bfb253d2fcc91fad2d921', '专科专业大类', '热能与发电工程类', 'ZYDL069', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618370f75dc0578d513d2fcc91fad2d921', '专科专业大类', '地质类', 'ZYDL068', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a617c787c9ce88269d73d2fcc91fad2d921', '专科专业大类', '公共管理类', 'ZYDL067', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61093615b8d0ed6a7e3d2fcc91fad2d921', '专科专业大类', '公安指挥类', 'ZYDL066', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c8d230d7ca518daf3d2fcc91fad2d921', '专科专业大类', '语言类', 'ZYDL065', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61aa3ddf0d4f73db513d2fcc91fad2d921', '专科专业大类', '广播影视类', 'ZYDL064', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61d0d505c10ab3fe993d2fcc91fad2d921', '专科专业大类', '表演艺术类', 'ZYDL063', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618050e311bbe5a08f3d2fcc91fad2d921', '专科专业大类', '餐饮类', 'ZYDL062', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a615fe669710e31b3263d2fcc91fad2d921', '专科专业大类', '金融类', 'ZYDL061', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a617d26caf9241c9ffc3d2fcc91fad2d921', '专科专业大类', '护理类', 'ZYDL060', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a611b15ec346899cf063d2fcc91fad2d921', '专科专业大类', '计算机类', 'ZYDL059', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e970d31f754224bf3d2fcc91fad2d921', '专科专业大类', '道路运输类', 'ZYDL058', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e8743579542326003d2fcc91fad2d921', '专科专业大类', '食品药品管理类', 'ZYDL057', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6101d57adc58b2c72f3d2fcc91fad2d921', '专科专业大类', '自动化类', 'ZYDL056', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619f9ba73e0d9622573d2fcc91fad2d921', '专科专业大类', '水利水电设备类', 'ZYDL055', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6197f3e996d212532a3d2fcc91fad2d921', '专科专业大类', '土建施工类', 'ZYDL054', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6115d7f4d308e25c223d2fcc91fad2d921', '专科专业大类', '新能源发电工程类', 'ZYDL053', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a615c3425532046bf013d2fcc91fad2d921', '专科专业大类', '测绘地理信息类', 'ZYDL052', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61d1f7950c3a2228d23d2fcc91fad2d921', '专科专业大类', '公共服务类', 'ZYDL051', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a615dec6f51517ce9573d2fcc91fad2d921', '专科专业大类', '公安技术类', 'ZYDL050', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613ac46fc583a1fb4c3d2fcc91fad2d921', '专科专业大类', '文秘类', 'ZYDL049', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a611395c89ed62df93a3d2fcc91fad2d921', '专科专业大类', '民族文化类', 'ZYDL048', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a616e00a7add3027b923d2fcc91fad2d921', '专科专业大类', '会展类', 'ZYDL047', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61295c6f1a54b81cb73d2fcc91fad2d921', '专科专业大类', '财务会计类', 'ZYDL046', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618192dcfb6eeb8f3e3d2fcc91fad2d921', '专科专业大类', '药学类', 'ZYDL045', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b7bca7ba6f7823e53d2fcc91fad2d921', '专科专业大类', '通信类', 'ZYDL044', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ed5f95e6b7ae2eea3d2fcc91fad2d921', '专科专业大类', '水上运输类', 'ZYDL043', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e8897be1b80bd71d3d2fcc91fad2d921', '专科专业大类', '粮食工业类', 'ZYDL042', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61229428029fc4aa1d3d2fcc91fad2d921', '专科专业大类', '铁道装备类', 'ZYDL041', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a610401c91807523e573d2fcc91fad2d921', '专科专业大类', '水土保持与水环境类', 'ZYDL040', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6188887755e6b27fbe3d2fcc91fad2d921', '专科专业大类', '建筑设备类', 'ZYDL039', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ad37955399237db73d2fcc91fad2d921', '专科专业大类', '黑色金属材料类', 'ZYDL038', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61524674cddfb9f5b23d2fcc91fad2d921', '专科专业大类', '石油与天然气类', 'ZYDL037', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a614f0f67c4b4263ad93d2fcc91fad2d921', '专科专业大类', '侦查类', 'ZYDL036', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612f5f43351056c09a3d2fcc91fad2d921', '专科专业大类', '体育类', 'ZYDL035', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b594f3607773cd873d2fcc91fad2d921', '专科专业大类', '文化服务类', 'ZYDL034', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61661c0e25dbc29f6e3d2fcc91fad2d921', '专科专业大类', '统计类', 'ZYDL033', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6197f87ef1fb9cda5a3d2fcc91fad2d921', '专科专业大类', '医学技术类', 'ZYDL032', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61a42270a7f88993063d2fcc91fad2d921', '专科专业大类', '航空运输类', 'ZYDL031', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c82d2d229b38b5d93d2fcc91fad2d921', '专科专业大类', '粮食储检类', 'ZYDL030', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a610d84950059b1ac733d2fcc91fad2d921', '专科专业大类', '船舶与海洋工程装备类', 'ZYDL029', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6179c2ec29fe3309473d2fcc91fad2d921', '专科专业大类', '建设工程管理类', 'ZYDL028', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6144f8209d7d1c218b3d2fcc91fad2d921', '专科专业大类', '有色金属材料类', 'ZYDL027', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61bc889b870ace66053d2fcc91fad2d921', '专科专业大类', '煤炭类', 'ZYDL026', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b758ee916c9683ad3d2fcc91fad2d921', '专科专业大类', '法律实务类', 'ZYDL025', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ed35d9a5bc01203a3d2fcc91fad2d921', '专科专业大类', '经济贸易类', 'ZYDL024', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a616e431aff5fe4df493d2fcc91fad2d921', '专科专业大类', '康复治疗类', 'ZYDL023', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61f257e629cbad6bd03d2fcc91fad2d921', '专科专业大类', '管道运输类', 'ZYDL022', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61493dc09f74eda4143d2fcc91fad2d921', '专科专业大类', '城市轨道交通类', 'ZYDL021', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61f59e0be4384238623d2fcc91fad2d921', '专科专业大类', '航空装备类', 'ZYDL020', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61c7e8b23bf26ee0703d2fcc91fad2d921', '专科专业大类', '市政工程类', 'ZYDL019', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61db21ce75124d33ea3d2fcc91fad2d921', '专科专业大类', '非金属材料类', 'ZYDL018', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61847f15a3e13734083d2fcc91fad2d921', '专科专业大类', '金属与非金属矿类', 'ZYDL017', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613b56003a1b4d6b003d2fcc91fad2d921', '专科专业大类', '法律执行类', 'ZYDL016', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618ca8c986949bffe43d2fcc91fad2d921', '专科专业大类', '工商管理类', 'ZYDL015', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619a6d5cfed2d261373d2fcc91fad2d921', '专科专业大类', '公共卫生与卫生管理类', 'ZYDL014', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6117cc76380e34d3a03d2fcc91fad2d921', '专科专业大类', '邮政类', 'ZYDL013', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6190ceea4a5716acad3d2fcc91fad2d921', '专科专业大类', '汽车制造类', 'ZYDL012', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61bc2d6d6c3d9fe1263d2fcc91fad2d921', '专科专业大类', '房地产类', 'ZYDL011', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619fe641192b6503a93d2fcc91fad2d921', '专科专业大类', '建筑材料类', 'ZYDL010', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a615fab19c8c67f41193d2fcc91fad2d921', '专科专业大类', '气象类', 'ZYDL009', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e07ce24f6e613cdb3d2fcc91fad2d921', '专科专业大类', '司法技术类', 'ZYDL008', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618c70fdb0f26c16663d2fcc91fad2d921', '专科专业大类', '市场营销类', 'ZYDL007', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6124c525ef76d676373d2fcc91fad2d921', '专科专业大类', '人口与计划生育类', 'ZYDL006', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619efcf8e3c0e5b2703d2fcc91fad2d921', '专科专业大类', '健康管理与促进类', 'ZYDL005', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618e9bd850729ea1413d2fcc91fad2d921', '专科专业大类', '环境保护类', 'ZYDL004', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a613b62b7debc912a423d2fcc91fad2d921', '专科专业大类', '电子商务类', 'ZYDL003', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6180fcfe3b1203d6473d2fcc91fad2d921', '专科专业大类', '物流类', 'ZYDL002', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e1d3d00803f933303d2fcc91fad2d921', '专科专业大类', '安全类', 'ZYDL001', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a612ae1b7054d2534a03d2fcc91fad2d921', '专科专业门类', '农林牧渔大类', 'ZYML019', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61942d84bd27aca9f43d2fcc91fad2d921', '专科专业门类', '资源环境与安全大类', 'ZYML018', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61961e09fbf473b4b03d2fcc91fad2d921', '专科专业门类', '能源动力与材料大类', 'ZYML017', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61b4e7fb25c27075563d2fcc91fad2d921', '专科专业门类', '土木建筑大类', 'ZYML016', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618024fef4add10b1b3d2fcc91fad2d921', '专科专业门类', '水利大类', 'ZYML015', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ef99756562443b4a3d2fcc91fad2d921', '专科专业门类', '装备制造大类', 'ZYML014', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a615b3b6c6a28e13da73d2fcc91fad2d921', '专科专业门类', '生物与化工大类', 'ZYML013', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6126147dd047219fab3d2fcc91fad2d921', '专科专业门类', '轻工纺织大类', 'ZYML012', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61fe8c64e445ed76d03d2fcc91fad2d921', '专科专业门类', '食品药品与粮食大类', 'ZYML011', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a610eb27fa6ba9de7073d2fcc91fad2d921', '专科专业门类', '交通运输大类', 'ZYML010', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6146e04d963361cefb3d2fcc91fad2d921', '专科专业门类', '电子信息大类', 'ZYML009', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6193957add4f415cfd3d2fcc91fad2d921', '专科专业门类', '医药卫生大类', 'ZYML008', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61199b44194c059b143d2fcc91fad2d921', '专科专业门类', '财经商贸大类', 'ZYML007', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a619ef343b154fa3e553d2fcc91fad2d921', '专科专业门类', '旅游大类', 'ZYML006', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a616f71d1b8ce4cc7563d2fcc91fad2d921', '专科专业门类', '文化艺术大类', 'ZYML005', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e4c6d370695fc79f3d2fcc91fad2d921', '专科专业门类', '新闻传播大类', 'ZYML004', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a610867e61545a2a8973d2fcc91fad2d921', '专科专业门类', '教育与体育大类', 'ZYML003', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a618bf686ff4e3388c73d2fcc91fad2d921', '专科专业门类', '公安与司法大类', 'ZYML002', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a615618ae187077a3893d2fcc91fad2d921', '专科专业门类', '公共管理与服务大类', 'ZYML001', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61d93662ff5782e0b93d2fcc91fad2d921', '宗教信仰', '无宗教信仰', '0', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61ab70b4fb00923bb13d2fcc91fad2d921', '宗教信仰', '佛教', '10', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61eda3a5c23c8217cc3d2fcc91fad2d921', '宗教信仰', '喇嘛教', '20', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61644284028a2e301b3d2fcc91fad2d921', '宗教信仰', '道教', '30', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a61e371d1b9c4de6e453d2fcc91fad2d921', '宗教信仰', '天主教', '40', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a6122cc2843ac9923213d2fcc91fad2d921', '宗教信仰', '基督教', '50', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a611e4c16847e24f2793d2fcc91fad2d921', '宗教信仰', '东正教', '60', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a614791238e917ea94d3d2fcc91fad2d921', '宗教信仰', '伊斯兰教', '70', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
INSERT INTO `cx_xg_code` (`data_id`, `cx_type`, `cx_value`, `cx_code`, `cx_tjr`, `cx_uid`, `xg_code`, `xg_value`, `is_valid`) VALUES ('5232511f6c7a0c5af4ae913694c76a616956565400ca8a0c3d2fcc91fad2d921', '宗教信仰', '其他', '99', '杨家伟', '187319430', NULL, NULL, 1);
|
||||
COMMIT;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for cx_xssj
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `cx_xssj`;
|
||||
CREATE TABLE `cx_xssj` (
|
||||
`inserttime` bigint(20) DEFAULT NULL COMMENT '提交时间戳',
|
||||
`updatetime` bigint(20) DEFAULT NULL COMMENT '修改时间戳',
|
||||
`xsjbxx_xm` varchar(255) DEFAULT NULL COMMENT '姓名',
|
||||
`xsjbxx_xh` varchar(255) DEFAULT NULL COMMENT '学号',
|
||||
`xsjbxx_lxdh` varchar(255) DEFAULT NULL COMMENT '联系电话',
|
||||
`xsjbxx_sfzjlx` varchar(255) DEFAULT NULL COMMENT '身份证件类型',
|
||||
`xsjbxx_sfzjh` varchar(255) DEFAULT NULL COMMENT '身份证件号',
|
||||
`dataMigrateUniqueId` varchar(255) DEFAULT NULL COMMENT '迁移数据唯一标识',
|
||||
`xsjbxx_bjxx` varchar(255) DEFAULT NULL COMMENT '班级信息',
|
||||
`xsjbxx_bjbh` varchar(255) DEFAULT NULL COMMENT '班级编号',
|
||||
`xsjbxx_szxq` varchar(255) DEFAULT NULL COMMENT '所在校区',
|
||||
`xsjbxx_xqdm` varchar(255) DEFAULT NULL COMMENT '校区代码',
|
||||
`xsjbxx_sznj` varchar(255) DEFAULT NULL COMMENT '所在年级',
|
||||
`xsjbxx_rxnj` varchar(255) DEFAULT NULL COMMENT '入学年份',
|
||||
`xsjbxx_yxxx` varchar(255) DEFAULT NULL COMMENT '系部信息',
|
||||
`xsjbxx_yxdm` varchar(255) DEFAULT NULL COMMENT '系部代码',
|
||||
`xsjbxx_zyxx` varchar(255) DEFAULT NULL COMMENT '专业信息',
|
||||
`xsjbxx_zydm` varchar(255) DEFAULT NULL COMMENT '专业代码',
|
||||
`xsjbxx_bzrgh` varchar(255) DEFAULT NULL COMMENT '班主任工号',
|
||||
`xsjbxx_xsdqzt` varchar(255) DEFAULT NULL COMMENT '学生当前状态',
|
||||
`xsjbxx_xssfzx` varchar(255) DEFAULT NULL COMMENT '学生是否在校',
|
||||
`xsjbxx_xjydlx` varchar(255) DEFAULT NULL COMMENT '学籍异动类型',
|
||||
`xsjbxx_pycc` varchar(255) DEFAULT NULL COMMENT '培养层次',
|
||||
`xsjbxx_xz` varchar(255) DEFAULT NULL COMMENT '学制',
|
||||
`xsjbxx_xb` varchar(255) DEFAULT NULL COMMENT '性别',
|
||||
`xsjbxx_csrq` varchar(255) DEFAULT NULL COMMENT '出生日期',
|
||||
`xsjbxx_gj` varchar(255) DEFAULT NULL COMMENT '国籍',
|
||||
`xsjbxx_jtzz` varchar(255) DEFAULT NULL COMMENT '家庭现住址',
|
||||
`xsjbxx_jtyzbm` varchar(255) DEFAULT NULL COMMENT '家庭邮政编码',
|
||||
`xsjbxx_jtlxr` varchar(255) DEFAULT NULL COMMENT '家庭联系人',
|
||||
`xsjbxx_jtdh` varchar(255) DEFAULT NULL COMMENT '家庭电话',
|
||||
`xsjbxx_fmxm1` varchar(255) DEFAULT NULL COMMENT '成员1姓名',
|
||||
`xsjbxx_fmxm2` varchar(255) DEFAULT NULL COMMENT '成员2姓名',
|
||||
`xsjbxx_cygx1` varchar(255) DEFAULT NULL COMMENT '成员1关系',
|
||||
`xsjbxx_cygx2` varchar(255) DEFAULT NULL COMMENT '成员2关系',
|
||||
`xsjbxx_cysfwjhr1` varchar(255) DEFAULT NULL COMMENT '成员1是否为监护人',
|
||||
`xsjbxx_cysfwjhr2` varchar(255) DEFAULT NULL COMMENT '成员2是否为监护人',
|
||||
`xsjbxx_fmsjh1` varchar(255) DEFAULT NULL COMMENT '成员1联系电话',
|
||||
`xsjbxx_fmsjh2` varchar(255) DEFAULT NULL COMMENT '成员2联系电话',
|
||||
`xsjbxx_fmzjlx1` varchar(255) DEFAULT NULL COMMENT '成员1证件类型',
|
||||
`xsjbxx_fmzjlx2` varchar(255) DEFAULT NULL COMMENT '成员2证件类型',
|
||||
`xsjbxx_fmzjh1` varchar(255) DEFAULT NULL COMMENT '成员1证件号',
|
||||
`xsjbxx_fmzjh2` varchar(255) DEFAULT NULL COMMENT '成员2证件号',
|
||||
`xsjbxx_xmpy` varchar(255) DEFAULT NULL COMMENT '姓名拼音',
|
||||
`xsjbxx_xjzt` varchar(255) DEFAULT NULL COMMENT '学籍状态'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='超星 - 学生数据';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of cx_xssj
|
||||
-- ----------------------------
|
||||
BEGIN;
|
||||
COMMIT;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for cx_xsydsj
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `cx_xsydsj`;
|
||||
CREATE TABLE `cx_xsydsj` (
|
||||
`inserttime` bigint(20) DEFAULT NULL COMMENT '提交时间戳',
|
||||
`updatetime` bigint(20) DEFAULT NULL COMMENT '修改时间戳',
|
||||
`xjyd_yjsqsj` varchar(255) DEFAULT NULL COMMENT '提交申请时间',
|
||||
`xjyd_ydsxxq` varchar(255) DEFAULT NULL COMMENT '异动生效学期',
|
||||
`xjydsp_ydlx` varchar(255) DEFAULT NULL COMMENT '异动类型',
|
||||
`xjydsp_sqrxh` varchar(255) DEFAULT NULL COMMENT '申请人学号',
|
||||
`xjydsp_xm` varchar(255) DEFAULT NULL COMMENT '姓名',
|
||||
`xjydsp_ydqssxq` varchar(255) DEFAULT NULL COMMENT '异动前所属校区',
|
||||
`xjydsp_ydqsznj` varchar(255) DEFAULT NULL COMMENT '异动前所在年级',
|
||||
`xjydsp_ydqszyx` varchar(255) DEFAULT NULL COMMENT '异动前所在院系',
|
||||
`xjydsp_ydqszzy` varchar(255) DEFAULT NULL COMMENT '异动前所在专业',
|
||||
`xjydsp_ydqszbj` varchar(255) DEFAULT NULL COMMENT '异动前所在班级',
|
||||
`xjydsp_ydqxz` varchar(255) DEFAULT NULL COMMENT '异动前学制',
|
||||
`xjydsp_ydhszbj` varchar(255) DEFAULT NULL COMMENT '异动后所在班级',
|
||||
`xjydsp_ydhsznj` varchar(255) DEFAULT NULL COMMENT '异动后所在年级',
|
||||
`xjydsp_ydhszyx` varchar(255) DEFAULT NULL COMMENT '异动后所在院系',
|
||||
`xjydsp_ydhszzy` varchar(255) DEFAULT NULL COMMENT '异动后所在专业',
|
||||
`xjydsp_ydhssxq` varchar(255) DEFAULT NULL COMMENT '异动后所在校区',
|
||||
`xjydsp_ydhxz` varchar(255) DEFAULT NULL COMMENT '异动后学制',
|
||||
`xjydsp_ydhbzrgh` varchar(255) DEFAULT NULL COMMENT '异动后班主任工号',
|
||||
`xjyd_name` varchar(255) DEFAULT NULL COMMENT '新名字',
|
||||
`xjydsp_sqyy` varchar(255) DEFAULT NULL COMMENT '申请原因',
|
||||
`xjydsp_ydhbzr` varchar(255) DEFAULT NULL COMMENT '异动后班主任',
|
||||
`xjydsp_sxqm` varchar(255) DEFAULT NULL COMMENT '手写签名',
|
||||
`xjydsp_zmfj` varchar(255) DEFAULT NULL COMMENT '证明附件',
|
||||
`xjyd_shzt` varchar(255) DEFAULT NULL COMMENT '审核状态',
|
||||
`xjydsp_ydhyxbh` varchar(255) DEFAULT NULL COMMENT '异动后院系编号',
|
||||
`xjydsp_ydhzybh` varchar(255) DEFAULT NULL COMMENT '异动后专业编号',
|
||||
`xjydsp_ydhbjbh` varchar(255) DEFAULT NULL COMMENT '异动后班级编号'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='超星-学生异动数据';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of cx_xsydsj
|
||||
-- ----------------------------
|
||||
BEGIN;
|
||||
COMMIT;
|
||||
|
||||
-- ----------------------------
|
||||
-- Table structure for cx_zysj
|
||||
-- ----------------------------
|
||||
DROP TABLE IF EXISTS `cx_zysj`;
|
||||
CREATE TABLE `cx_zysj` (
|
||||
`inserttime` bigint(20) DEFAULT NULL COMMENT '提交时间戳',
|
||||
`updatetime` bigint(20) DEFAULT NULL COMMENT '修改时间戳',
|
||||
`zysj_zymc` varchar(255) DEFAULT NULL COMMENT '专业名称',
|
||||
`zysj_zybh` varchar(255) DEFAULT NULL COMMENT '专业编号',
|
||||
`zysj_ssyx` varchar(255) DEFAULT NULL COMMENT '所属系部',
|
||||
`zysj_xbdm` varchar(255) DEFAULT NULL COMMENT '系部代码',
|
||||
`zysj_kbzt` varchar(255) DEFAULT NULL COMMENT '是否启用',
|
||||
`zysj_xz` varchar(255) DEFAULT NULL COMMENT '学制',
|
||||
`zysj_pycc` varchar(255) DEFAULT NULL COMMENT '培养层次',
|
||||
`zysj_xzm` varchar(255) DEFAULT NULL COMMENT '学制码',
|
||||
`zysj_sfdlmc` varchar(255) DEFAULT NULL COMMENT '是否大类名称',
|
||||
`zysj_zyywmc` varchar(255) DEFAULT NULL COMMENT '专业英文名称',
|
||||
`zysj_zyjc` varchar(255) DEFAULT NULL COMMENT '专业简称',
|
||||
`zysj_sfkz` varchar(255) DEFAULT NULL COMMENT '是否扩招',
|
||||
`zysj_qyyxsx` varchar(255) DEFAULT NULL COMMENT '启用院系筛选',
|
||||
`zysj_xxdm` varchar(255) DEFAULT NULL COMMENT '学校代码',
|
||||
`zysj_zymldm` varchar(255) DEFAULT NULL COMMENT '专业目录代码',
|
||||
`zysj_pzszny` varchar(255) DEFAULT NULL COMMENT '批准设置年月',
|
||||
`zysj_sczsny` varchar(255) DEFAULT NULL COMMENT '首次招生年月',
|
||||
`zysj_sfzdzy` varchar(255) DEFAULT NULL COMMENT '是否重点专业',
|
||||
`zysj_zdzyjbmc` varchar(255) DEFAULT NULL COMMENT '重点专业级别名称',
|
||||
`zysj_zdzyjbm` varchar(255) DEFAULT NULL COMMENT '重点专业级别码',
|
||||
`zysj_zdzylxmc` varchar(255) DEFAULT NULL COMMENT '重点专业类型名称',
|
||||
`zysj_zdzylxm` varchar(255) DEFAULT NULL COMMENT '重点专业类型码',
|
||||
`zysj_sszyqmc` varchar(255) DEFAULT NULL COMMENT '所属专业群名称',
|
||||
`zysj_sszyqh` varchar(255) DEFAULT NULL COMMENT '所属专业群号',
|
||||
`zysj_sjzt` varchar(255) DEFAULT NULL COMMENT '数据状态',
|
||||
`zysj_sjztm` varchar(255) DEFAULT NULL COMMENT '数据状态码',
|
||||
`zysj_sjcjsj` varchar(255) DEFAULT NULL COMMENT '数据采集时间',
|
||||
`dataMigrateUniqueId` varchar(255) DEFAULT NULL COMMENT '数据迁移字段'
|
||||
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='超星-专业数据';
|
||||
|
||||
-- ----------------------------
|
||||
-- Records of cx_zysj
|
||||
-- ----------------------------
|
||||
BEGIN;
|
||||
COMMIT;
|
||||
|
||||
SET FOREIGN_KEY_CHECKS = 1;
|
||||
Reference in new issue
Block a user