package com.napa.pulse.service.interfaces; import com.napa.pulse.dto.ActionResult; import com.napa.pulse.dto.ActionResultItem; import com.napa.pulse.dto.ProductGroupDTO; import com.napa.pulse.entity.pulseui.GroupCodes; import com.napa.pulse.entity.pulseui.HierarchyItem; import com.napa.pulse.entity.pulseui.NewNumberMasterItemDto; import com.napa.pulse.entity.pulseui.ProductGroupType; import com.napa.pulse.entity.security.User; import java.util.List; import java.util.Map; public interface ProductGroupService { List getProductGroups(Integer userId); List getGroupCodeGroups(Integer userId); ActionResultItem> getProductsByGroup(User user, Integer groupId); ActionResultItem>> getGroupCodesByGroup(User user, Integer groupId); ActionResultItem> getFullHierarchy(User user); List getNewNumberMasterData(); List getProductGroupTypes(User user); ActionResultItem createNewProductGroup(User user, String groupName, Integer groupType, String listOfHierarchiesString); ActionResultItem createNewGroupCodeGroup(User user, String groupName, Integer groupType, String listOfHierarchiesString); ActionResult addProductsToGroups(User user, String productIds, String groupIds); ActionResult addGroupCodesToGroups(User user, String groupCodes, String groupIds); void saveKeyline(Integer userId, Integer siteId, String productListString); ActionResultItem> getKeyline(Integer siteId, User user); void deleteProductGrp(Integer productGroupId); void updateProductGroup(Integer userId, Integer productGroupId, String newGroupName, Boolean newGlobalFlag, String newProductsString); void deleteGroupCodeGroup(Integer productGroupId); void updateGroupCodeGroup(Integer userId, Integer productGroupId, String newGroupName, Boolean newGlobalFlag, String newProductsString); ActionResultItem>> getAllGroupCodes(); }