package com.budwk.app; import cn.afterturn.easypoi.excel.ExcelImportUtil; import cn.afterturn.easypoi.excel.annotation.Excel; import cn.afterturn.easypoi.excel.entity.ImportParams; import cn.hutool.core.codec.Base64; import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.util.IdcardUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.digest.DigestUtil; import cn.hutool.http.HttpRequest; import cn.hutool.http.HttpUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONObject; import cn.hutool.json.JSONUtil; import com.budwk.app.base.utils.ManyAddOrRenewUtil; import com.budwk.app.base.utils.PwdUtil; import com.budwk.app.sys.models.*; import com.budwk.app.sys.services.SysDictService; import com.budwk.app.sys.services.SysUnitService; import com.budwk.app.sys.services.SysUserService; import com.budwk.app.web.commons.auth.utils.SecurityUtil; import com.budwk.app.zhgh.democratic.teachercongress.delegate.models.Teacher_congress_delegate; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.Data; import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet; import org.apache.poi.ss.usermodel.Workbook; import org.apache.poi.ss.util.CellRangeAddress; import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.junit.Test; import org.junit.runner.RunWith; import org.nutz.boot.test.junit4.NbJUnit4Runner; import org.nutz.dao.Chain; import org.nutz.dao.Cnd; import org.nutz.dao.Dao; import org.nutz.dao.Sqls; import org.nutz.dao.sql.Sql; import org.nutz.ioc.loader.annotation.Inject; import org.nutz.ioc.loader.annotation.IocBean; import org.nutz.json.Json; import org.nutz.lang.Files; import org.nutz.lang.Lang; import org.nutz.lang.random.R; import org.nutz.lang.util.NutMap; import javax.validation.ConstraintViolation; import javax.validation.Validation; import javax.validation.Validator; import javax.validation.ValidatorFactory; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.util.*; import java.util.function.Function; import java.util.stream.Collectors; @IocBean @RunWith(NbJUnit4Runner.class) public class JugTest { @Inject private SysDictService sysDictService; @Inject private SysUserService sysUserService; @Inject private SysUnitService sysUnitService; @Inject private Dao dao; @Test public void t0001() { String s = """ {"@odata.context":"$metadata#DS0005_1926887238437818371","value":[{"机构编码":"006","机构名称":"教务处(教育教学发展与评估中心合署)[创新创业教育办公室(中心)挂靠](下设现代教育技术中心)/现代教育技术中心","机构类别":"4","隶属机构":"100085","是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2024-11-20T02:56:28.187Z"},{"机构编码":"100001","机构名称":"党委办公室(保密办公室合署)","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100006","机构名称":"党委组织部(党校合署)","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100010","机构名称":"机关与直属单位党委","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100014","机构名称":"党委宣传部","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100021","机构名称":"党委统战部(社会主义学院合署)","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100025","机构名称":"纪委","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100029","机构名称":"校长办公室[法律事务中心(信访办公室合署)挂靠]","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100036","机构名称":"研究生院(党委研究生工作部合署)(下设招生办公室、学位办公室、培养办公室、教育管理与就业办公室、综合办公室)","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100044","机构名称":"学科建设处(“双一流”建设办公室合署)","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100047","机构名称":"科学技术研究院(应用研究院合署)(下设军工办公室)","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100056","机构名称":"人文社会科学研究院","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100060","机构名称":"人力资源处(党委教师工作部合署)(下设人才服务与管理办公室)","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100068","机构名称":"国际合作与交流处(港澳台事务办公室合署)(下设留学生管理办公室、孔子学院办公室)","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100075","机构名称":"学生工作处(党委学生工作部、人民武装部合署)(下设心理健康教育中心)","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100085","机构名称":"教务处(教育教学发展与评估中心合署)[创新创业教育办公室(中心)挂靠](下设现代教育技术中心)","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100093","机构名称":"财务处(下设财务结算中心)","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100100","机构名称":"审计处","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100106","机构名称":"保卫处(党委保卫部合署)","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100112","机构名称":"后勤管理处(下设公用后勤服务保障中心)(校医院挂靠)","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100148","机构名称":"基建处","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100158","机构名称":"发展规划处(党委发展规划部合署)(下设校地合作办公室)","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100161","机构名称":"资产管理处(采购中心挂靠)","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100167","机构名称":"信息化建设管理处(下设网络与信息中心)","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100178","机构名称":"离退休工作处(离退休党工委合署)","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100183","机构名称":"继续教育学院","机构类别":"10","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"直属单位(教辅机构)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100188","机构名称":"工会","机构类别":"11","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"群团组织","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100192","机构名称":"团委","机构类别":"11","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"群团组织","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100193","机构名称":"美育中心","机构类别":"10","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"直属单位(教辅机构)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100199","机构名称":"发展委员会(下设董事会及基金会工作办公室、校友工作办公室)","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100203","机构名称":"档案馆","机构类别":"10","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"直属单位(教辅机构)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100204","机构名称":"博物馆","机构类别":"10","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"直属单位(教辅机构)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100205","机构名称":"灵岩融创区建设管理委员会办公室","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100218","机构名称":"图书馆","机构类别":"10","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"直属单位(教辅机构)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100234","机构名称":"图书馆(出版社有限责任公司)","机构类别":"6","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"附属单位","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100251","机构名称":"实验室与设备管理处(分析测试中心合署)","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100268","机构名称":"国际文化教育学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100276","机构名称":"文学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100286","机构名称":"学报编辑部(《中国美术教育》编辑部挂靠)","机构类别":"10","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"直属单位(教辅机构)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100296","机构名称":"外国语学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100324","机构名称":"历史文博学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100347","机构名称":"商学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100364","机构名称":"法学院(下设中国法治现代化研究院)","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100387","机构名称":"教育科学学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100401","机构名称":"心理学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100423","机构名称":"公共管理学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100439","机构名称":"新闻与传播学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100458","机构名称":"音乐学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100472","机构名称":"美术学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100492","机构名称":"体育科学学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100511","机构名称":"计算机与电子信息学院 人工智能学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100546","机构名称":"物理科学与技术学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100564","机构名称":"化学与材料科学学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100587","机构名称":"地理科学学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100605","机构名称":"生命科学学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100631","机构名称":"电气与自动化工程学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100646","机构名称":"能源与机械工程学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100658","机构名称":"金陵女子学院 社会学院 会计学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100678","机构名称":"强化培养学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100684","机构名称":"中北学院","机构类别":"6","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"附属单位","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100700","机构名称":"泰州学院","机构类别":"6","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"附属单位","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100744","机构名称":"附属实验学校","机构类别":"6","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"附属单位","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100749","机构名称":"数学科学学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100777","机构名称":"后勤管理处(资产经营有限责任公司)","机构类别":"6","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"附属单位","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100782","机构名称":"教师教育学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100788","机构名称":"校领导","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100791","机构名称":"博士后流动站","机构类别":"13","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"历史遗留机构","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100800","机构名称":"环境学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100801","机构名称":"马克思主义学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100802","机构名称":"海洋科学与工程学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100803","机构名称":"食品与制药工程学院","机构类别":"1","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"教学院系","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100804","机构名称":"随园校区办公室","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100805","机构名称":"紫金校区办公室","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100806","机构名称":"基础教育合作处","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100807","机构名称":"南京师范大学培训中心(江苏省高校师资培训中心合署)","机构类别":"10","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"直属单位(教辅机构)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"100808","机构名称":"教务处(教育教学发展与评估中心合署)[创新创业教育办公室(中心)挂靠](下设现代教育技术中心)/教务处","机构类别":"4","隶属机构":"100085","是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2024-11-20T02:56:28.187Z"},{"机构编码":"100809","机构名称":"科学技术研究院(应用研究院合署)(下设军工办公室)/科学技术研究院","机构类别":"4","隶属机构":"100047","是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2024-11-20T02:56:28.187Z"},{"机构编码":"100810","机构名称":"科学技术研究院(应用研究院合署)(下设军工办公室)/军工办公室","机构类别":"4","隶属机构":"100047","是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2024-11-20T02:56:28.187Z"},{"机构编码":"100900","机构名称":"党委巡察工作办公室","机构类别":"4","隶属机构":null,"是否撤销_name":"否","是否撤销":"0","机构类别_name":"党务部门(含团委、工会)","更新时间":"2025-05-26T06:40:43.011Z"},{"机构编码":"101","机构名称":"入校后统一分配/辅导员","机构类别":null,"隶属机构":"100","是否撤销_name":"否","是否撤销":"0","机构类别_name":null,"更新时间":"2024-11-20T02:56:28.187Z"},{"机构编码":"139801","机构名称":"后勤管理处(下设公用后勤服务保障中心)(校医院挂靠)/公用后勤服务保障中心","机构类别":null,"隶属机构":"100112","是否撤销_name":"否","是否撤销":"0","机构类别_name":null,"更新时间":"2024-11-20T02:56:28.187Z"},{"机构编码":"139802","机构名称":"后勤管理处(下设公用后勤服务保障中心)(校医院挂靠)/后勤管理处","机构类别":null,"隶属机构":"100112","是否撤销_name":"否","是否撤销":"0","机构类别_name":null,"更新时间":"2024-11-20T02:56:28.187Z"},{"机构编码":"139803","机构名称":"后勤管理处(下设公用后勤服务保障中心)(校医院挂靠)/校医院","机构类别":null,"隶属机构":"100112","是否撤销_name":"否","是否撤销":"0","机构类别_name":null,"更新时间":"2024-11-20T02:56:28.187Z"},{"机构编码":"139804","机构名称":"法学院(下设中国法治现代化研究院)/法学院","机构类别":null,"隶属机构":"100364","是否撤销_name":"否","是否撤销":"0","机构类别_name":null,"更新时间":"2024-11-20T02:56:28.187Z"},{"机构编码":"139805","机构名称":"法学院(下设中国法治现代化研究院)/中国法治现代化研究院","机构类别":null,"隶属机构":"100364","是否撤销_name":"否","是否撤销":"0","机构类别_name":null,"更新时间":"2024-11-20T02:56:28.187Z"}]} """; JSONObject entries = JSONUtil.parseObj(s); JSONArray value = entries.getJSONArray("value"); List units = value.stream().map(item -> { JSONObject jsonObject = (JSONObject) item; Sys_unit sysUnit = new Sys_unit(); sysUnit.setId(jsonObject.getStr("机构编码")); sysUnit.setName(jsonObject.getStr("机构名称")); sysUnit.setUnitcode(jsonObject.getStr("机构编码")); sysUnit.setParentId(StrUtil.blankToDefault(jsonObject.getStr("隶属机构"), "1")); return sysUnit; }).toList(); dao.fastInsert(units); } @Test public void t003() { String s = """ "党政_副处调", 专任教师, 管理_免职, 校办企业, 党政_科员, 专业技术人员, 教辅_实验教学, 管理_团委书记, 管理_办事员, 管理_学生辅导员, 管理_院党委副书记, 管理_本科生教务员, 党政_正科职, 党政_正处职, 无, 党政_副处职, 党政_副厅职, 管理_副院长, 管理_科研秘书, 管理_研究生教务员, 工勤人员, 管理_院党委书记, 管理_专职组织员、人事秘书, 教辅_工勤人员, 党政_正处调, 教辅_实验设备维护, 管理_科研辅助人员, 管理_办公室主任, 教辅_图书资料员, 党政_副科职, 党政_秘书, 管理_成教生教务员, 管理_其他正科职, 管理_正处调, 管理_副处调, 管理_管理, 教辅_其他人员, 管理_学科秘书, 管理_机构秘书, 党政_副省职, 管理_院长, 党政_正厅职, 管理_科研副院长; """; String[] split = s.split(","); String parentId = "c78bb5c7bc264b928307508357dea4f0"; for (String string : split) { Sys_dict dict = new Sys_dict(); dict.setCode(string.trim()); dict.setName(string.trim()); dict.setHasChildren(false); dict.setDisabled(false); sysDictService.save(dict, parentId); } } @Test public void t004() { String appId = "1926887238437818370"; String secret = "32df31fcf4fc43f9a647ee1f47134f36"; List allUsers = new ArrayList<>(); int skip = 0; int totalCount = 0; boolean firstRequest = true; do { long ts = System.currentTimeMillis(); String sign = Base64.encode(DigestUtil.md5Hex(appId + secret + ts, CharsetUtil.CHARSET_UTF_8)); HttpRequest httpRequest = HttpUtil.createPost("https://sjzcpt.nnu.edu.cn/cdsp/data-api/v2/DS0040"); httpRequest.header("Content-Type", "application/json"); httpRequest.header("appId", appId); httpRequest.header("timestamp", String.valueOf(ts)); httpRequest.header("sign", sign); HashMap reqBody = new HashMap<>(); reqBody.put("$count", true); reqBody.put("$skip", skip); reqBody.put("$top", 1000); httpRequest.body(JSONUtil.toJsonStr(reqBody)); String resBody = httpRequest.execute().body(); JSONObject entries = JSONUtil.parseObj(resBody); if (firstRequest) { totalCount = entries.getInt("@odata.count", 0); firstRequest = false; } JSONArray value = entries.getJSONArray("value"); if (!value.isEmpty()) { List list = value.stream().map(item -> (JSONObject) item).toList(); allUsers.addAll(list); skip += list.size(); } else { break; } } while (skip < totalCount); Files.write(new File("C:\\Users\\administrator\\Desktop\\博士后.txt"),allUsers); System.out.println(allUsers.size()); } @Test public void userPwd(){ List users = dao.query(Sys_user.class, Cnd.NEW()); String pwd = "1"; for (Sys_user user : users) { user.setSalt(R.UU32()); user.setPassword(PwdUtil.getPassword(pwd, user.getSalt())); } dao.update(users,"password|salt"); } @Inject private ManyAddOrRenewUtil manyAddOrRenewUtil; @Test public void test11111(){ // File file = new File("C:\\temp\\response.json"); // // JSONObject entries = JSONUtil.parseObj(FileUtil.readUtf8String(file)); // // JSONArray records = entries.getJSONArray("records"); // List list = records.stream().map(item -> (JSONObject) item).toList(); // // // 工号集合 // List loginNameList = list.stream().map(v -> v.getStr("rydm")).toList(); //// Sql sql = Sqls.create("update sys_user set member = 1, welfareMember = 1 where loginname in (@loginNameList)") //// .setParam("loginNameList", loginNameList); //// dao.execute(sql); // // Sql sql = Sqls.create("select id from sys_user where loginname in (@loginNameList)").setParam("loginNameList", loginNameList); // sql.setCallback(Sqls.callback.strList()); // dao.execute(sql); // List userIds = sql.getList(String.class); // // List roleList = userIds.stream().map(v -> { // Sys_user_role userRole = new Sys_user_role(); // userRole.setUserId(v); // userRole.setRoleId("6d603b652abee584ba6274dc1fcee3bb"); // return userRole; // }).toList(); // // dao.clear(Sys_user_role.class, Cnd.where("userId", "in", userIds)); // dao.insert(roleList); // Sql sql = Sqls.create("select id from sys_user group by id"); // sql.setCallback(Sqls.callback.strList()); // dao.execute(sql); // List userIds = sql.getList(String.class); // List roleList = userIds.stream().map(v -> { // Sys_user_role userRole = new Sys_user_role(); // userRole.setUserId(v); // userRole.setRoleId("65195ad8f52c4d7d8864624e583b801b"); // return userRole; // }).toList(); // dao.insert(roleList); List list = dao.query(Sys_user.class, Cnd.NEW()); for (Sys_user v : list) { if (StrUtil.isNotBlank(v.getIdCard())) { if (v.getIdCard().length() == 18 || v.getIdCard().length() == 15) { try { int genderByIdCard = IdcardUtil.getGenderByIdCard(v.getIdCard()); v.setSex(genderByIdCard == 1 ? "男" : "女"); } catch (Exception e) { e.printStackTrace(); v.setSex(null); } } } } dao.update(list, "sex"); } }