diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/controller/CusMainController.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/controller/CusMainController.java index f661e73..325eb69 100644 --- a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/controller/CusMainController.java +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/controller/CusMainController.java @@ -14,13 +14,18 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.core.domain.entity.SysUser; +import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.cus.domain.CusMainSeas; import com.ruoyi.cus.domain.CusTimeAxis; import com.ruoyi.cus.service.ICusImportService; +import com.ruoyi.cus.service.ICusMainSeasService; import com.ruoyi.cus.service.ICusTimeAxisService; import com.ruoyi.cus.vo.CusMainVO; import com.ruoyi.cus.vo.MainVO; import com.ruoyi.utils.CodeGenerator; +import org.springframework.beans.BeanUtils; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -59,6 +64,8 @@ public class CusMainController extends BaseController { private ICusImportService cusImportService; @Autowired private ICusTimeAxisService cusTimeAxisService; + @Autowired + private ICusMainSeasService cusMainSeasService; /** * 生成客户编码 @@ -233,4 +240,27 @@ public class CusMainController extends BaseController { return success(cusMainService.getOtherInfo(cusId)); } + /** + * 转入公海 + */ + @PostMapping("/moveToSeas") + public AjaxResult moveToSeas(@RequestBody CusMain cusMain){ + SysUser sysUser = SecurityUtils.getLoginUser().getUser(); + cusMain = cusMainService.getById(cusMain.getId()); + //转到公海表 + CusMainSeas cusMainSeas = new CusMainSeas(); + BeanUtils.copyProperties(cusMain, cusMainSeas); + cusMainSeasService.save(cusMainSeas); + //时间轴信息 + CusTimeAxis cusTimeAxis = new CusTimeAxis(); + cusTimeAxis.setBusiMaxCatg("客户迁移"); + cusTimeAxis.setBusiCatg("迁移"); + cusTimeAxis.setContent("转入公海,操作人:"+sysUser.getNickName()); + cusTimeAxis.setCusId(cusMain.getId()); + cusTimeAxisService.saveNewTimeAxis(cusTimeAxis); + //真删除客户主表信息 + cusMainService.deleteCusMain(cusMain.getId()); + return success(); + } + } diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/controller/CusMainSeasController.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/controller/CusMainSeasController.java index d63d5aa..847deb0 100644 --- a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/controller/CusMainSeasController.java +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/controller/CusMainSeasController.java @@ -6,6 +6,7 @@ import java.util.List; import javax.servlet.http.HttpServletResponse; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.cus.vo.MainVO; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -49,7 +50,7 @@ public class CusMainSeasController extends BaseController @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize) { Page page = new Page<>(pageNum, pageSize); - IPage list = cusMainSeasService.queryListPage(cusMainSeas,page); + IPage list = cusMainSeasService.queryListPage(cusMainSeas,page); return success(list); } diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/mapper/CusMainMapper.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/mapper/CusMainMapper.java index 1419254..31ee731 100644 --- a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/mapper/CusMainMapper.java +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/mapper/CusMainMapper.java @@ -19,4 +19,11 @@ import org.apache.ibatis.annotations.Mapper; public interface CusMainMapper extends BaseMapper { IPage queryListPage(@Param("entity") MainVO entity, Page page); + + /** + * 真删除客户-配合移入公海客户使用 + * @author vinjor-M + * @date 14:47 2025/11/24 + **/ + int deleteCusById(@Param("id")String id); } diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/mapper/CusMainSeasMapper.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/mapper/CusMainSeasMapper.java index 2bdb5bd..288d6a7 100644 --- a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/mapper/CusMainSeasMapper.java +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/mapper/CusMainSeasMapper.java @@ -4,6 +4,7 @@ import java.util.List; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.cus.domain.CusMainSeas; +import com.ruoyi.cus.vo.MainVO; import org.apache.ibatis.annotations.Param; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Mapper; @@ -17,5 +18,5 @@ import org.apache.ibatis.annotations.Mapper; @Mapper public interface CusMainSeasMapper extends BaseMapper { - IPage queryListPage(@Param("entity") CusMainSeas entity, Page page); + IPage queryListPage(@Param("entity") CusMainSeas entity, Page page); } diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/ICusMainSeasService.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/ICusMainSeasService.java index 11401ad..14a13ef 100644 --- a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/ICusMainSeasService.java +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/ICusMainSeasService.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.cus.domain.CusMainSeas; +import com.ruoyi.cus.vo.MainVO; /** * 公海客户信息Service接口 @@ -13,5 +14,5 @@ import com.ruoyi.cus.domain.CusMainSeas; * @date 2025-11-24 */ public interface ICusMainSeasService extends IService { - IPage queryListPage(CusMainSeas pageReqVO, Page page); + IPage queryListPage(CusMainSeas pageReqVO, Page page); } diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/ICusMainService.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/ICusMainService.java index 2c0ae86..295fa20 100644 --- a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/ICusMainService.java +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/ICusMainService.java @@ -72,5 +72,11 @@ public interface ICusMainService extends IService { **/ void saveOrUpdateByCusName(List cusMainList); + /** + * 删除客户信息真删除--配合移入公海使用 + * @author vinjor-M + * @date 14:45 2025/11/24 + **/ + void deleteCusMain(String id); } diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/impl/CusMainSeasServiceImpl.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/impl/CusMainSeasServiceImpl.java index fb55ed1..e1a508e 100644 --- a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/impl/CusMainSeasServiceImpl.java +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/impl/CusMainSeasServiceImpl.java @@ -1,9 +1,13 @@ package com.ruoyi.cus.service.impl; import java.util.List; + +import com.alibaba.fastjson2.JSON; import com.ruoyi.common.utils.DateUtils; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.cus.vo.MainVO; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; @@ -24,7 +28,13 @@ public class CusMainSeasServiceImpl extends ServiceImpl queryListPage(CusMainSeas pageReqVO, Page page) { - return cusMainSeasMapper.queryListPage(pageReqVO, page); + public IPage queryListPage(CusMainSeas pageReqVO, Page page) { + IPage list = cusMainSeasMapper.queryListPage(pageReqVO, page); + list.getRecords().forEach(item->{ + if(StringUtils.isNotEmpty(item.getCusLabels())){ + item.setCusLabelList(JSON.parseArray(item.getCusLabels())); + } + }); + return list; } } diff --git a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/impl/CusMainServiceImpl.java b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/impl/CusMainServiceImpl.java index 7d1f794..476f9eb 100644 --- a/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/impl/CusMainServiceImpl.java +++ b/dl_admin/ruoyi-admin/src/main/java/com/ruoyi/cus/service/impl/CusMainServiceImpl.java @@ -333,4 +333,16 @@ public class CusMainServiceImpl extends ServiceImpl impl } } + /** + * 删除客户信息真删除--配合移入公海使用 + * + * @param id + * @author vinjor-M + * @date 14:45 2025/11/24 + */ + @Override + public void deleteCusMain(String id) { + cusMainMapper.deleteCusById(id); + } + } diff --git a/dl_admin/ruoyi-admin/src/main/resources/mapper/cus/CusMainMapper.xml b/dl_admin/ruoyi-admin/src/main/resources/mapper/cus/CusMainMapper.xml index 8ea6000..86cc47c 100644 --- a/dl_admin/ruoyi-admin/src/main/resources/mapper/cus/CusMainMapper.xml +++ b/dl_admin/ruoyi-admin/src/main/resources/mapper/cus/CusMainMapper.xml @@ -84,4 +84,8 @@ cm.if_star DESC, cm.create_time DESC + + + DELETE FROM cus_main WHERE id = #{id} + \ No newline at end of file diff --git a/dl_admin/ruoyi-admin/src/main/resources/mapper/cus/CusMainSeasMapper.xml b/dl_admin/ruoyi-admin/src/main/resources/mapper/cus/CusMainSeasMapper.xml index b237ccb..3607282 100644 --- a/dl_admin/ruoyi-admin/src/main/resources/mapper/cus/CusMainSeasMapper.xml +++ b/dl_admin/ruoyi-admin/src/main/resources/mapper/cus/CusMainSeasMapper.xml @@ -29,20 +29,43 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" select id, if_star, cus_labels, cus_code, full_name, short_name, cus_type, country, zone_name, main_prods, site_url, remark, files, del_flag, creator, create_time, updater, update_time from cus_main_seas - + SELECT + cms.*, + cc.cus_from AS cusFrom, + cc.cus_level AS cusLevel, + cc.busi_type AS busiType, + cc.contact_address AS contactAddress, + cct.`name` AS contactName, + cmg.user_name AS userName , + cmg.follow_step AS followStep + FROM + cus_main_seas cms + LEFT JOIN cus_company cc ON cms.id = cc.cus_id + AND cc.del_flag = '0' + LEFT JOIN cus_manager cmg ON cms.id = cmg.cus_id + AND cmg.del_flag = '0' + LEFT JOIN cus_contacts cct ON cms.id = cct.cus_id + AND cct.if_default = 1 + AND cct.del_flag = '0' + WHERE + cms.del_flag = '0' + + AND cms.cus_code = #{entity.cusCode} + + + AND cms.full_name LIKE CONCAT('%',#{entity.fullName},'%') + + + AND cms.short_name LIKE CONCAT('%',#{entity.shortName},'%') + + + AND cms.cus_type = #{entity.cusType} + + GROUP BY + cms.id + ORDER BY + cms.if_star DESC, + cms.create_time DESC \ No newline at end of file diff --git a/dl_vue/src/api/cus/main.js b/dl_vue/src/api/cus/main.js index 6bcdde9..3eb785d 100644 --- a/dl_vue/src/api/cus/main.js +++ b/dl_vue/src/api/cus/main.js @@ -66,6 +66,14 @@ export function setIfStar(data) { data: data }) } +// 移入公海 +export function moveToSeas(data) { + return request({ + url: '/cus/main/moveToSeas', + method: 'post', + data: data + }) +} // 删除客户信息 export function delMain(id) { diff --git a/dl_vue/src/views/cus/main/index.vue b/dl_vue/src/views/cus/main/index.vue index b9491ee..cb017e7 100644 --- a/dl_vue/src/views/cus/main/index.vue +++ b/dl_vue/src/views/cus/main/index.vue @@ -285,7 +285,7 @@