| | |
| | | @ManagerAuth |
| | | public R page(@RequestParam(defaultValue = "1") Integer curr, |
| | | @RequestParam(defaultValue = "10") Integer limit, |
| | | @RequestParam(required = false) String followerName, |
| | | @RequestParam(required = false) String conditionName, |
| | | @RequestParam(required = false) String condition, |
| | | @RequestParam(required = false, value = "dept_id") Long deptId, |
| | | @RequestParam(required = false, value = "user_id") Long userId){ |
| | | List<Integer> ids = new ArrayList<>(); |
| | | if (!Cools.isEmpty(followerName)){ |
| | | User username = userService.selectOne(new EntityWrapper<User>().eq("username", followerName)); |
| | | if (!Cools.isEmpty(username)){ |
| | | List<Integer> cstmrIds = cstmrFollService.selectCstmrIdUserId(username.getId().intValue()); |
| | | for (Integer id : cstmrIds){ |
| | | ids.add(id); |
| | | } |
| | | }else { |
| | | return R.error("未查询到跟进人信息!"); |
| | | } |
| | | } |
| | | if (!Cools.isEmpty(conditionName)){ |
| | | switch (conditionName){ |
| | | case "director": |
| | |
| | | |
| | | } |
| | | } |
| | | return R.ok(cstmrService.getPage1(new Page<>(curr, limit) |
| | | return R.ok(cstmrService.getPage3(new Page<>(curr, limit) |
| | | , getHostId() |
| | | , deptId == null ? null : String.valueOf(deptId) |
| | | , userId == null ? getUserId() : userId |
| | | , Cools.isEmpty(followerName) ? null : ids |
| | | , conditionName |
| | | , condition) |
| | | ); |
| | |
| | | import com.zy.crm.manager.entity.CstmrFoll; |
| | | import com.baomidou.mybatisplus.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | import org.springframework.stereotype.Repository; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Mapper |
| | | @Repository |
| | | public interface CstmrFollMapper extends BaseMapper<CstmrFoll> { |
| | | |
| | | List<Integer> selectCstmrIdUserId(@Param("userId")Integer userId); |
| | | } |
| | |
| | | |
| | | List<Cstmr> listByPage2(Page<Cstmr> page, @Param("hostId")Long hostId, @Param("deptId") Long deptId, @Param("userId") Long userId,@Param("roleId") Long roleId, @Param("conditionName") String conditionName ,@Param("condition") String condition); |
| | | List<Cstmr> listByPage1(Page<Cstmr> page, @Param("hostId")Long hostId, @Param("deptId") String deptId, @Param("userId") Long userId, @Param("conditionName") String conditionName ,@Param("condition") String condition); |
| | | List<Cstmr> listByPage3(Page<Cstmr> page, @Param("hostId")Long hostId, @Param("deptId") String deptId, @Param("userId") Long userId,@Param("cstmrIds") List<Integer> cstmrIds, @Param("conditionName") String conditionName ,@Param("condition") String condition); |
| | | List<Cstmr> listByPage(Page<Cstmr> page, @Param("hostId")Long hostId, @Param("deptId") String deptId, @Param("userId") Long userId,@Param("condition") String condition); |
| | | |
| | | int updateDeptIdByUserId(@Param("userId")Long userId, @Param("deptId")Long deptId); |
| | |
| | | import com.zy.crm.manager.entity.CstmrFoll; |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | |
| | | public interface CstmrFollService extends IService<CstmrFoll> { |
| | | import java.util.List; |
| | | |
| | | public interface CstmrFollService extends IService<CstmrFoll> { |
| | | List<Integer> selectCstmrIdUserId(Integer cstmrIds); |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.service.IService; |
| | | import com.zy.crm.manager.entity.Cstmr; |
| | | |
| | | import java.util.List; |
| | | |
| | | public interface CstmrService extends IService<Cstmr> { |
| | | |
| | | Cstmr selectByUuid(Long hostId, String uuid); |
| | |
| | | |
| | | Page<Cstmr> getPage2(Page<Cstmr> page, Long hostId, Long deptId, Long userId,Long roleId, String conditionName, String condition); |
| | | Page<Cstmr> getPage1(Page<Cstmr> page, Long hostId, String deptId, Long userId, String conditionName, String condition); |
| | | Page<Cstmr> getPage3(Page<Cstmr> page, Long hostId, String deptId, Long userId, List<Integer> cstmrIds, String conditionName, String condition); |
| | | Page<Cstmr> getPage(Page<Cstmr> page, Long hostId, String deptId, Long userId, String condition); |
| | | |
| | | int updateDeptIdByUserId(Long userId, Long deptId); |
| | |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Service("cstmrFollService") |
| | | public class CstmrFollServiceImpl extends ServiceImpl<CstmrFollMapper, CstmrFoll> implements CstmrFollService { |
| | | |
| | | @Override |
| | | public List<Integer> selectCstmrIdUserId(Integer userId) { |
| | | return this.baseMapper.selectCstmrIdUserId(userId); |
| | | } |
| | | } |
| | |
| | | import com.baomidou.mybatisplus.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Service("cstmrService") |
| | | public class CstmrServiceImpl extends ServiceImpl<CstmrMapper, Cstmr> implements CstmrService { |
| | | |
| | |
| | | } |
| | | |
| | | @Override |
| | | public Page<Cstmr> getPage3(Page<Cstmr> page, Long hostId, String deptId, Long userId, List<Integer> cstmrIds, String conditionName, String condition) { |
| | | if (cstmrIds==null){ |
| | | return page.setRecords(baseMapper.listByPage1(page, hostId, deptId, userId,conditionName, condition)); |
| | | }else { |
| | | return page.setRecords(baseMapper.listByPage3(page, hostId, deptId, userId,cstmrIds,conditionName, condition)); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | public Page<Cstmr> getPage(Page<Cstmr> page, Long hostId, String deptId, Long userId, String condition) { |
| | | return page.setRecords(baseMapper.listByPage(page, hostId, deptId, userId, condition)); |
| | | } |
| | |
| | | |
| | | </resultMap> |
| | | |
| | | <select id="selectCstmrIdUserId" resultMap="BaseResultMap"> |
| | | SELECT DISTINCT cstmr_id FROM [dbo].[man_cstmr_foll] WHERE user_id = #{userId} order by cstmr_id |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="listByPage3" resultMap="BaseResultMap"> |
| | | SELECT |
| | | mc.* |
| | | FROM man_cstmr mc |
| | | LEFT JOIN sys_dept sd ON mc.dept_id = sd.id |
| | | WHERE 1=1 |
| | | <choose> |
| | | <when test="deptId != null and deptId != ''"> |
| | | AND ( |
| | | (CHARINDEX(','+#{deptId}+',', ','+sd.path+',') > 0 OR sd.id = #{deptId}) |
| | | or |
| | | ( |
| | | user_id = #{userId} |
| | | or |
| | | mc.id in |
| | | ( |
| | | select |
| | | cstmr_id |
| | | from man_cstmr_foll |
| | | where 1=1 |
| | | and user_id = #{userId} |
| | | ) |
| | | ) |
| | | ) |
| | | </when> |
| | | <otherwise> |
| | | and |
| | | ( |
| | | user_id = #{userId} |
| | | or |
| | | mc.id in |
| | | ( |
| | | select |
| | | cstmr_id |
| | | from man_cstmr_foll |
| | | where 1=1 |
| | | and user_id = #{userId} |
| | | ) |
| | | ) |
| | | </otherwise> |
| | | </choose> |
| | | <if test="cstmrIds != null"> |
| | | and mc.id in |
| | | <foreach collection="cstmrIds" item="cstmrId" index="index" open="(" close=")" separator=","> |
| | | #{cstmrId} |
| | | </foreach> |
| | | </if> |
| | | <if test="hostId != null"> |
| | | and mc.host_id = #{hostId} |
| | | </if> |
| | | <choose> |
| | | <when test="conditionName != null and conditionName != ''"> |
| | | <if test="condition != null and condition != ''"> |
| | | <if test="conditionName == 'uuid'"> |
| | | and mc.uuid like concat('%',#{condition},'%') |
| | | </if> |
| | | <if test="conditionName == 'name'"> |
| | | and mc.name like concat('%',#{condition},'%') |
| | | </if> |
| | | <if test="conditionName == 'simple'"> |
| | | and mc.simple like concat('%',#{condition},'%') |
| | | </if> |
| | | <if test="conditionName == 'rela'"> |
| | | and mc.rela like concat('%',#{condition},'%') |
| | | </if> |
| | | <if test="conditionName == 'tel'"> |
| | | and mc.tel like concat('%',#{condition},'%') |
| | | </if> |
| | | <if test="conditionName == 'contacts'"> |
| | | and mc.contacts like concat('%',#{condition},'%') |
| | | </if> |
| | | <if test="conditionName == 'remarks'"> |
| | | and mc.remarks like concat('%',#{condition},'%') |
| | | </if> |
| | | <if test="conditionName == 'director'"> |
| | | and mc.director = #{condition} |
| | | </if> |
| | | <if test="conditionName == 'addr'"> |
| | | and mc.addr like concat('%',#{condition},'%') |
| | | </if> |
| | | </if> |
| | | </when> |
| | | <otherwise> |
| | | <if test="condition != null and condition != ''"> |
| | | and ( |
| | | mc.uuid like concat('%',#{condition},'%') |
| | | or mc.name like concat('%',#{condition},'%') |
| | | or mc.simple like concat('%',#{condition},'%') |
| | | or mc.rela like concat('%',#{condition},'%') |
| | | or mc.tel like concat('%',#{condition},'%') |
| | | or mc.contacts like concat('%',#{condition},'%') |
| | | or mc.remarks like concat('%',#{condition},'%') |
| | | or mc.director like concat('%',#{condition},'%') |
| | | or mc.addr like concat('%',#{condition},'%') |
| | | ) |
| | | </if> |
| | | </otherwise> |
| | | </choose> |
| | | |
| | | |
| | | ORDER BY mc.create_time DESC |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | |
| | | // 树形图 |
| | | var organizationTree; |
| | | window.loadTree = function(conditionName,condition){ |
| | | window.loadTree = function(followerName,conditionName,condition){ |
| | | var loadIndex = layer.load(2); |
| | | $.ajax({ |
| | | url: baseUrl+"/dept/user/tree/auth", |
| | | headers: {'token': localStorage.getItem('token')}, |
| | | data: { |
| | | 'conditionName': conditionName, |
| | | 'condition': condition |
| | | 'followerName' : followerName, |
| | | 'conditionName' : conditionName, |
| | | 'condition' : condition |
| | | }, |
| | | method: 'POST', |
| | | success: function (res) { |
| | |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <div class="layui-inline"> |
| | | <input class="layui-input" type="text" name="followerName" placeholder="跟进人" autocomplete="off" style="border-color: #e1e1e1"> |
| | | </div> |
| | | <div class="layui-inline"> |
| | | <label class="layui-form-label">选择框</label> |
| | | <div class="layui-input-block"> |
| | | <select id="conditionNameSelect" name="conditionName" lay-verify="required"> |
| | | <select id="conditionNameSelect" name="conditionName" lay-search> |
| | | <option value = "" > 请选择... </option> |
| | | <option value="name" >客户名称</option> |
| | | <option value="uuid" >客户代码</option> |
| | |
| | | </select> |
| | | </div> |
| | | </div> |
| | | <!-- <div class="layui-inline>--> |
| | | <!-- <input class="layui-input" type="text" name="conditionName" placeholder="搜索字段" autocomplete="off" style="border-color: #e1e1e1">--> |
| | | <!-- </div>--> |
| | | <div class="layui-inline"> |
| | | <input class="layui-input" type="text" name="condition" placeholder="值" autocomplete="off" style="border-color: #e1e1e1"> |
| | | </div> |