中扬CRM客户关系管理系统
LSH
2023-07-26 a4aa79c7f7832669aee04e315c303531e782c521
#甲方单位页面优化
11个文件已修改
169 ■■■■■ 已修改文件
src/main/java/com/zy/crm/manager/controller/CstmrController.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/mapper/CstmrFollMapper.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/mapper/CstmrMapper.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/service/CstmrFollService.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/service/CstmrService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/service/impl/CstmrFollServiceImpl.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/service/impl/CstmrServiceImpl.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/CstmrFollMapper.xml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/resources/mapper/CstmrMapper.xml 103 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/cstmr/cstmr.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/views/cstmr/cstmr.html 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/crm/manager/controller/CstmrController.java
@@ -67,10 +67,23 @@
    @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":
@@ -84,10 +97,11 @@
            }
        }
        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)
        );
src/main/java/com/zy/crm/manager/mapper/CstmrFollMapper.java
@@ -3,10 +3,13 @@
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);
}
src/main/java/com/zy/crm/manager/mapper/CstmrMapper.java
@@ -19,6 +19,7 @@
    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);
src/main/java/com/zy/crm/manager/service/CstmrFollService.java
@@ -3,6 +3,8 @@
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);
}
src/main/java/com/zy/crm/manager/service/CstmrService.java
@@ -4,6 +4,8 @@
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);
@@ -12,6 +14,7 @@
    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);
src/main/java/com/zy/crm/manager/service/impl/CstmrFollServiceImpl.java
@@ -6,7 +6,12 @@
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);
    }
}
src/main/java/com/zy/crm/manager/service/impl/CstmrServiceImpl.java
@@ -8,6 +8,8 @@
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 {
@@ -50,6 +52,15 @@
    }
    @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));
    }
src/main/resources/mapper/CstmrFollMapper.xml
@@ -10,4 +10,8 @@
    </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>
src/main/resources/mapper/CstmrMapper.xml
@@ -290,4 +290,107 @@
        </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>
src/main/webapp/static/js/cstmr/cstmr.js
@@ -81,14 +81,15 @@
    // 树形图
    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) {
src/main/webapp/views/cstmr/cstmr.html
@@ -65,9 +65,12 @@
                </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>
@@ -81,9 +84,6 @@
                            </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>