package com.fjhx.contract.mapper; import com.alibaba.fastjson.JSONObject; import com.fjhx.contract.entity.Contract; import org.apache.ibatis.annotations.Param; import org.springblade.core.mp.mapper.BladeMapper; import org.springblade.core.tenant.annotation.TenantIgnore; import org.springframework.stereotype.Repository; import java.util.List; import java.util.Map; /** * 外销合同 */ @Repository public interface ContractMapper extends BladeMapper { /** * 列表 * * @param condition * @return */ @TenantIgnore List getList(Map condition); /** * 列表-总条数 * * @param condition * @return */ @TenantIgnore Integer getListCount(Map condition); /** * 修改合同状态(合同状态如果走到后面不允许回滚) * * @param ids * @param status * @param updateUser * @return */ int updateStatusById(@Param("ids") List ids, @Param("status") Integer status, @Param("updateUser") String updateUser); /** * 根据合同号获取下一个版本号 * * @param code * @return */ Integer getNextVersionByCode(@Param("code") String code); /** * 客户画像:销售分析列表 * * @param condition 查询条件 * @return */ List getSalesAnalysisList(Map condition); /** * 客户画像:销售分析列表总数 * * @param condition 查询条件 * @return */ Integer getSalesAnalysisListCount(Map condition); /** * 客户画像:销售分析下拉合同列表 * * @param tenantId customerId 查询条件 * @return */ List getContractSelect(@Param("tenantId") String tenantId, @Param("customerId") String customerId); /** * 通过客户id查询列表 * * @param condition * @return */ @TenantIgnore List getByCustomerId(Map condition); /** * 统计--柱状图 * * @param tenantId 租户ID * @param customerId 客户ID * @param contractStartStr 开始时间 * @param contractEndStr 结束时间 * @return */ @TenantIgnore List getByCustomerIdAndDWM(@Param("tenantId") String tenantId, @Param("customerId") String customerId, @Param("contractStartStr") String contractStartStr, @Param("contractEndStr") String contractEndStr ); /** * 统计--销售额和订单数 * * @param tenantId 租户ID * @param customerId 客户ID * @param contractStartStr 开始时间 * @param contractEndStr 结束时间 * @return */ @TenantIgnore List getByCustomerIdSumDWM(@Param("tenantId") String tenantId, @Param("customerId") String customerId, @Param("contractStartStr") String contractStartStr, @Param("contractEndStr") String contractEndStr, @Param("type") Integer type ); /** * 统计-单天订单总数和销售额 * * @param tenantId 租户ID * @param customerId 客户ID * @param contractStartStr 开始时间 * @param contractEndStr 结束时间 * @return */ @TenantIgnore List getByCustomerIdSumDayDWM(@Param("tenantId") String tenantId, @Param("customerId") String customerId, @Param("contractStartStr") String contractStartStr, @Param("contractEndStr") String contractEndStr, @Param("type") Integer type ); /** * 客户画像--样品单-外销合同列表查询 * * @param condition * @return */ @TenantIgnore List getHuaXList(Map condition); /** * 客户画像--样品单-外销合同列表查询-总条数 * * @param condition * @return */ @TenantIgnore Integer getHuaXListCount(Map condition); /** * 领导看板--统计全球-获取经纬度坐标 * * @param condition * @return */ @TenantIgnore List getContractGlobal(Map condition); /** * 领导看板--统计国家 * * @param condition * @return */ @TenantIgnore List getContractCountry(Map condition); /** * 领导看板--统计客户 * * @param condition * @return */ @TenantIgnore List getContractCustomer(Map condition); /** * 领导看板--统计业务员 * * @param condition * @return */ @TenantIgnore List getContractUser(Map condition); /** * 领导看板--统计产品 * * @param condition * @return */ @TenantIgnore List getContractProductPrice(Map condition); /** * 领导看板--统计产品数量 * * @param condition * @return */ @TenantIgnore List getContractProductOrder(Map condition); /** * 领导看板--订单分析-订单增长 * * @param tenantId 租户ID * @param contractStartStr 开始时间 * @param contractEndStr 结束时间 * @return */ @TenantIgnore List getSumBoardDayYMD(@Param("tenantId") String tenantId, @Param("customerId") String customerId, @Param("contractStartStr") String contractStartStr, @Param("contractEndStr") String contractEndStr, @Param("type") Integer type ); /** * 领导看板--订单分析-统计总订单量-销售额 * * @param tenantId 租户ID * @param contractStartStr 开始时间 * @param contractEndStr 结束时间 * @return */ @TenantIgnore List getSumBoardOrder(@Param("tenantId") String tenantId, @Param("contractStartStr") String contractStartStr, @Param("contractEndStr") String contractEndStr, @Param("type") Integer type ); /** * 领导看板--订单分析-订单增长 * * @param tenantId 租户ID * @param contractStartStr 开始时间 * @param contractEndStr 结束时间 * @return */ @TenantIgnore List getSumBoardStatusDayYMD(@Param("tenantId") String tenantId, @Param("contractStartStr") String contractStartStr, @Param("contractEndStr") String contractEndStr, @Param("type") Integer type ); /** * 移交 * * @param tenantId 租户id * @param customerId 客户id,要移交的客户 * @param userId 业务员id,移交给新的业务员id */ void transfer(@Param("tenantId") String tenantId, @Param("customerId") String customerId, @Param("userId") String userId); /** * 查询总条数 */ @TenantIgnore List getSumContractByYMD(Map condition); /** * 查询金额 */ @TenantIgnore Double getSumContractPriceByYMD(Map condition); /** * 统计总销售额 */ @TenantIgnore String getContractSumPrice(Map condition); /** * 统计下单客户数 */ @TenantIgnore Integer getContractSumCustomer(Map condition); /** * 统计订单数 */ @TenantIgnore String getContractSumOrder(Map condition); /** * 查询总条数 */ @TenantIgnore List getDailyContract(@Param("tenantId") String tenantId, @Param("dataType") Integer dataType, @Param("createUser") String createUser); /** * 查询总条数 */ @TenantIgnore Integer getDailyContractCount(@Param("tenantId") String tenantId, @Param("dataType") Integer dataType, @Param("createUser") String createUser); /** * 查询总条数 */ @TenantIgnore Integer getUserDailyContractCount(Map condition); /** * 总览-订单跟踪-统计总额 */ @TenantIgnore List getOrderTailAfterSum(@Param("tenantId") String tenantId, @Param("userId") String userId); /** * 总览-订单跟踪-统计总额 */ @TenantIgnore List getOrderTailAfterSumStaus(@Param("tenantId") String tenantId, @Param("userId") String userId); /** * 根据用户ID查询 * * @param userIds 业务员ID集合 * @param year 年度 * @param dataType 数据类型 * @return */ @TenantIgnore List getByUserIds(@Param("userIds") List userIds, @Param("year") String year, @Param("dataType") int dataType); /** * 根据用户ID查询 * * @param userIds 业务员ID集合 * @param year 年度 * @param dataType 数据类型 * @return */ @TenantIgnore List getByUserIdsJoin(@Param("userIds") List userIds, @Param("year") String year, @Param("dataType") int dataType); /** * 根据子编号前缀代码统计 * * @param prefixCode 子编号前缀代码 * @param countryId 国家ID * @param customerId 客户ID * @param productId 产品ID * @param tenantId 租户ID * @param userId 用户ID * @param dataType 数据类型:0、外销合同;1、样品单 * @return */ @TenantIgnore Integer getCount( @Param("prefixCode") int prefixCode, @Param("countryId") String countryId, @Param("customerId") String customerId, @Param("productId") String productId, @Param("tenantId") String tenantId, @Param("userId") String userId, @Param("dataType") int dataType ); /** * 查询销售信息 * * @param condition 查询条件 * @return */ @TenantIgnore List getOrderSale(Map condition); /** * 查询销售合同ID * * @param condition 查询条件 * @return */ @TenantIgnore List getContractIds(Map condition); }