如下
/**
* list 转换成tree
* @param allList
* @param parentNode
* @return
*/
private List<LaJlItemDir> createItemDirDataJhzl(List<LaJlItemDir> itemDirList){
List<LaJlItemDir> arrayList = new ArrayList<LaJlItemDir>();
for (int i=0; i< itemDirList.size(); i++) {
Map<String, Object> param = new HashMap<String, Object>();
param.put("pid", itemDirList.get(i).getId());
List<LaJlItemDir> itemDirList_son = dataService.list(TREE_SQL_ID, param);
for (LaJlItemDir laJlItemDirDto2 : itemDirList_son) {
itemDirList.add(laJlItemDirDto2);
}
createItemDirDataJhzl(itemDirList_son);
arrayList.add(itemDirList.get(i));
}
return arrayList;
}
调用的方法传入
/**
* 用于根据相关信息查询当前页面记录
*
* @param param
* 相关参数
* @return list 当前页数据记录
*/
@Override
public List<LaJlItemDir> listJhgl(Map<String, Object> param) {
List<LaJlItemDir> createItemDirDataJhzl = new ArrayList<LaJlItemDir>();
if (param.get("pid")!=null&&!"".equals(param.get("pid"))) {
Map<String, Object> pMap = new HashMap<String, Object>();
pMap.put("pid", param.get("pid"));
List<LaJlItemDir> list = dataService.list(TREE_SQL_ID, pMap);
createItemDirDataJhzl = createItemDirDataJhzl(list);
}else {
List<LaJlItemDir> list = dataService.list(TREE_SQL_ID);
for (LaJlItemDir laJlItemDir : list) {
createItemDirDataJhzl.add(laJlItemDir);
}
}
ArrayList<LaJlItemDir> arrayList = new ArrayList<LaJlItemDir>();
for (LaJlItemDir laJlItemDir : createItemDirDataJhzl) {
if ("fxgc".equals(laJlItemDir.getType())) {
arrayList.add(laJlItemDir);
}
}
for (LaJlItemDir laJlItemDir : arrayList) {
Map<String, Object> dirMap = new HashMap<String, Object>();
dirMap.put("notes", laJlItemDir.getId());
List<LaJlWork> worklist = manageInformationService.getWorks(dirMap);
if (worklist.size()!=0) {
laJlItemDir.setActualStart(worklist.get(0).getCreatedTime());
if (worklist.get(0).getInspectLotCode()!=null&&!"".equals(worklist.get(0).getInspectLotCode())) {
laJlItemDir.setPlanNum(Double.parseDouble(worklist.get(0).getInspectLotCode()));
}
laJlItemDir.setPlacticalNum(worklist.get(worklist.size()-1).getWork());
if (laJlItemDir.getPlanNum()!=null&&laJlItemDir.getPlacticalNum()!=null) {
if (laJlItemDir.getPlacticalNum()==0) {
laJlItemDir.setCompletionRate((double) 0);
}else {
laJlItemDir.setCompletionRate(laJlItemDir.getPlanNum()/laJlItemDir.getPlacticalNum());
}
}
if (!"已完成".equals(laJlItemDir.getStatus())) {
if (worklist.get(worklist.size()-1).getWork()==worklist.get(0).getWork()) {
laJlItemDir.setStatus("待确认");
}else if(worklist.get(worklist.size()-1).getWork()==0&&worklist.get(0).getWork()==0){
laJlItemDir.setStatus("未开始");
}else {
laJlItemDir.setStatus("进行中");
}
}else {
laJlItemDir.setStatus("已完成");
}
}else {
if (laJlItemDir.getStatus()==null&&!"已完成".equals(laJlItemDir.getStatus())) {
laJlItemDir.setStatus("未开始");
}
}
}
ArrayList<LaJlItemDir> arrayList2 = new ArrayList<LaJlItemDir>();
for (LaJlItemDir laJlItemDir : arrayList) {
boolean flag = true;
if (param.get("name")!=null&&!"".equals(param.get("name"))) {
if (laJlItemDir.getName().contains(param.get("name").toString())) {
}else {
flag = false;
}
}
if (param.get("status")!=null&&!"".equals(param.get("status"))) {
if (laJlItemDir.getStatus().contains(param.get("status").toString())) {
}else {
flag = false;
}
}
if (flag) {
arrayList2.add(laJlItemDir);
}
}
if (param.get("page")!=null&¶m.get("rows")!=null) {
List<LaJlItemDir> arrayList1 = new ArrayList<LaJlItemDir>();
String pageStr = param.get("page").toString();
String rowsStr = param.get("rows").toString();
int page = Integer.parseInt(pageStr);
int rows = Integer.parseInt(rowsStr);
int num =page*rows-rows;
if(arrayList2.size()<page*rows){
for(int i=num;i<arrayList2.size();i++){
arrayList1.add(arrayList2.get(i));
}
}else{
for(int i=num;i<num+rows;i++){
arrayList1.add(arrayList2.get(i));
}
}
param.put("size", arrayList2.size());
return arrayList1;
}else {
param.put("size", arrayList2.size());
return arrayList2;
}
}
end