package com.zt.life.modules.mainPart.taskReliability.service; 
 | 
  
 | 
import com.alibaba.fastjson.JSON; 
 | 
import com.zt.common.service.BaseService; 
 | 
import com.zt.common.utils.TreeUtils; 
 | 
import com.zt.common.utils.TreeUtils2; 
 | 
import com.zt.life.modules.mainPart.taskReliability.dao.OperatConditModelDao; 
 | 
import com.zt.life.modules.mainPart.taskReliability.model.ModelNodes; 
 | 
import com.zt.life.modules.mainPart.taskReliability.model.ModelRbd; 
 | 
import com.zt.life.modules.mainPart.taskReliability.model.OperatConditModel; 
 | 
import org.springframework.stereotype.Service; 
 | 
import com.zt.common.db.query.QueryFilter; 
 | 
  
 | 
import javax.annotation.Resource; 
 | 
import java.util.HashMap; 
 | 
import java.util.List; 
 | 
import java.util.Map; 
 | 
  
 | 
  
 | 
/** 
 | 
 * operat_condit_model 
 | 
 * 
 | 
 * @author zt generator 
 | 
 * @since 1.0.0 2024-03-29 
 | 
 */ 
 | 
@Service 
 | 
public class OperatConditModelService extends BaseService<OperatConditModelDao, OperatConditModel> { 
 | 
  
 | 
    /** 
 | 
     * 分页查询 
 | 
     * 
 | 
     * @param queryFilter 
 | 
     * @return 
 | 
     */ 
 | 
    public List<OperatConditModel> page(QueryFilter queryFilter) { 
 | 
        List<OperatConditModel> list = baseDao.getList(queryFilter.getQueryParams()); 
 | 
        for (OperatConditModel conditModel : list) { 
 | 
            List<ModelRbd> modelList = baseDao.getModelList(conditModel.getProductId()); 
 | 
            conditModel.setModelList(modelList); 
 | 
        } 
 | 
        return TreeUtils2.build(list); 
 | 
    } 
 | 
  
 | 
  
 | 
    public Map getModelNodes(Long shipId) { 
 | 
        List<ModelNodes> list = baseDao.getModelNodes(shipId); 
 | 
        Map<String, String> map = new HashMap<>(); 
 | 
        for (ModelNodes node : list) { 
 | 
            map.put(node.getModelId().toString(), node.getNodeIds()); 
 | 
        } 
 | 
        //String json= JSON.toJSONString(map); 
 | 
        return map; 
 | 
    } 
 | 
  
 | 
    /** 
 | 
     * 删除 
 | 
     * 
 | 
     * @param ids 
 | 
     */ 
 | 
    public void delete(Long[] ids) { 
 | 
        super.deleteLogic(ids); 
 | 
    } 
 | 
  
 | 
    public void save(OperatConditModel parent) { 
 | 
        Long operatConditId = parent.getOperatConditId(); 
 | 
        baseDao.deleteByOperatConditId(operatConditId); 
 | 
        this.saveIteration(parent); 
 | 
    } 
 | 
    public void saveIteration(OperatConditModel parent) { 
 | 
        baseDao.insert(parent); 
 | 
        for (OperatConditModel sub : parent.getChildren()) { 
 | 
            this.saveIteration(sub); 
 | 
        } 
 | 
    } 
 | 
} 
 |