package cn.com.lzt.exchangeaccount.service; import cn.com.lzt.exchangeaccount.entity.TBExchangeAccountEntity; import org.jeecgframework.core.common.service.CommonService; import java.io.Serializable; import java.util.Date; import java.util.List; public interface TBExchangeAccountServiceI extends CommonService{ public void delete(TBExchangeAccountEntity entity) throws Exception; public Serializable save(TBExchangeAccountEntity entity) throws Exception; public void saveOrUpdate(TBExchangeAccountEntity entity) throws Exception; /** * 变更余额 * @param userId 用户id * @param year 年份 * @param useTime 使用时间 在调休扣减时,判断能否使用去年账户 * @param hour 加班时间 * @param remark 备注 * @param sourceType 来源类型 * @param sourceId 来源id * @param yearMonth 工资结算月份 只在sourceType 为 buttonRemove 和buttonRemoveLastYear 时有用 * @return 剩余 */ double changeBalance(String userId,String year,Date useTime ,double hour,String remark,TBExchangeAccountEntity.sourceType sourceType,String sourceId,String yearMonth); /** * 获得调休账户余额 * @param userId * @param year 使用账户年份 * @param useTime 使用时间 * @return */ double getBalance(String userId,String year,Date useTime); //清空去年所有账户余额 boolean clearLastYearAccount(String yearMonth); //通过id清空账户 boolean clearAccountByIds(List ids, String yearMonth); /** *清空特定账户余额 * @param userId 用户id * @param year 年 * @param yearMonth 工资结算月份 * @return */ boolean clearAccount(String userId, String year,String yearMonth); /** * 根据date返回账户年度,如果date为null则按当前时间计算 * @param date * @return */ String getYear(Date date); }