package com.doumee.service.business; import com.doumee.dao.business.dto.TelecomLineInfoDTO; import com.doumee.dao.business.model.Category; import com.doumee.dao.business.model.JkCustomer; import com.doumee.dao.business.vo.TelecomCategoryDataVO; import com.doumee.dao.business.vo.TelecomJkLineListVO; import com.doumee.dao.business.vo.TelecomLineCountVO; import com.doumee.dao.business.vo.TelecomLineDataVO; import com.doumee.service.business.third.model.LoginUserInfo; import com.doumee.service.business.third.model.PageData; import com.doumee.service.business.third.model.PageWrap; import com.doumee.dao.business.model.JkSketch; import org.springframework.web.multipart.MultipartFile; import java.util.List; /** * 交控-线路优化记录信息表Service定义 * @author 江蹄蹄 * @date 2025/09/28 09:01 */ public interface JkSketchService { /** * 创建 * * @param jkSketch 实体对象 * @return Integer */ Integer create(JkSketch jkSketch); /** * 主键删除 * * @param id 主键 */ void deleteById(Integer id); /** * 删除 * * @param jkSketch 实体对象 */ void delete(JkSketch jkSketch); void initAyncsJob(); /** * 批量主键删除 * * @param ids 主键集 */ void deleteByIdInBatch(List ids); /** * 主键更新 * * @param jkSketch 实体对象 */ JkSketch updateById(JkSketch jkSketch ); JkSketch initOriginDistance(JkSketch jkSketch ); /** * 批量主键更新 * * @param jkSketchs 实体集 */ void updateByIdInBatch(List jkSketchs); /** * 主键查询 * * @param id 主键 * @return JkSketch */ JkSketch findById(Integer id); /** * 条件查询单条记录 * * @param jkSketch 实体对象 * @return JkSketch */ JkSketch findOne(JkSketch jkSketch); /** * 条件查询 * * @param jkSketch 实体对象 * @return List */ List findList(JkSketch jkSketch); /** * 分页查询 * * @param pageWrap 分页对象 * @return PageData */ PageData findPage(PageWrap pageWrap); /** * 条件统计 * * @param jkSketch 实体对象 * @return long */ long count(JkSketch jkSketch); List importBatch(MultipartFile file, String dateInfo, LoginUserInfo loginUser); void startUpdateLineAsync(JkSketch model); void distanceCustomer(Category model ); Category checkDataValid(JkSketch model); JkSketch updateSketchLine(JkSketch jkSketch); void startEditSketchLineAsync(JkSketch model); void startInitOriginDistanceBatch(JkSketch list); /** * 车辆线路 - 电信使用 * @param telecomLineInfoDTO * @return */ List getLineForTelecom(TelecomLineInfoDTO telecomLineInfoDTO); /** * 线路总计与主子线路数据 - 电信使用 * @return */ TelecomLineCountVO getTelecomLineCount(TelecomLineInfoDTO telecomLineInfoDTO); /** * 线路优化对比数据 * @param telecomLineInfoDTO * @return */ List getTelecomLineDistance(TelecomLineInfoDTO telecomLineInfoDTO); /** * 线路数据 * @param telecomLineInfoDTO * @return */ List getTelecomLineInfo(TelecomLineInfoDTO telecomLineInfoDTO); }