Date dateStart = checkedUnit.getCkUnitBegindate();
Date dateEnd = checkedUnit.getCkUnitEnddate();
String message = null;
AjaxJson j = new AjaxJson();
message = "选中的单位表添加成功";
String topOrgCode = "A01";//省节点,相当首节点
String secondOrgCode = topOrgCode + "___";//市节点,相当第二级,全覆盖,如果是topOrgCode+"%"的话,是为省以下所有节点
// hql.append(" where t.orgCode like 'A01%' ");
String thirdOrgCode = secondOrgCode + "___";//县节点,抽取该节点数据
// hql.append(" where t.orgCode like 'A01___' ");
List<TSDepart> departList = new ArrayList<TSDepart>();
StringBuffer hql = new StringBuffer(" from TSDepart t ");
hql.append(" where t.orgCode like '" + secondOrgCode + "'");
departList = systemService.findHql(hql.toString());//获取二级市级
List<CheckedUnitEntity> batchCheckedUnits = new ArrayList<CheckedUnitEntity>();//生成实体列表
System.out.println(departList);
for (TSDepart tsDepart: departList) {
String lvOrgCode = tsDepart.getOrgCode(); //获取市级单位编码
String yingOrgCode = lvOrgCode + "___"; //该市下的直属单位,不含再下级单位
List<TSDepart> subDepartList = new ArrayList<TSDepart>();
StringBuffer subHql = new StringBuffer(" from TSDepart t ");
subHql.append(" where t.orgCode like '" + yingOrgCode + "'");
subDepartList = systemService.findHql(subHql.toString());//获取二级市级下本级即县级
List<TSDepart> chkDepartList = new ArrayList<TSDepart>();
CommonFunction comFun = new CommonFunction();
chkDepartList = comFun.getSubStringByRadom(subDepartList, 1);
for(TSDepart subTsDepart: chkDepartList) {//操作被选出来的单位
CheckedUnitEntity myCheckedUnit = new CheckedUnitEntity();
// myCheckedUnit = checkedUnit;//存储前台传过来的实体数据
String id = UUID.randomUUID().toString();
myCheckedUnit.setId(id);
myCheckedUnit.setCkUnitName(subTsDepart.getDepartname());
myCheckedUnit.setCkUnitOrgcode(subTsDepart.getOrgCode());
myCheckedUnit.setCkUnitBegindate(dateStart);
myCheckedUnit.setCkUnitEnddate(dateEnd);
batchCheckedUnits.add(myCheckedUnit);
}
}//对每一个市进行操作
try {
checkedUnitService.batchSave(batchCheckedUnits);
systemService.addLog(message, Globals.Log_Type_INSERT, Globals.Log_Leavel_INFO);
} catch (Exception e) {
// TODO: handle exception
}
逐级解构层级关系数据
最新推荐文章于 2024-03-13 11:49:24 发布
本文通过Java代码展示了如何逐级解构层级关系数据,从省级节点开始,遍历市级和县级单位,使用特定的编码规则筛选并生成新的数据实体。在过程中,利用HQL查询获取所需单位,并通过随机函数选择部分单位进行操作。最后将生成的实体批量保存到数据库。
摘要由CSDN通过智能技术生成