Commit 5af0cb00 authored by lcl's avatar lcl

联系人及工作代办

parent 7a8b3afb
...@@ -2,7 +2,7 @@ package com.dsk.web.controller.business; ...@@ -2,7 +2,7 @@ package com.dsk.web.controller.business;
import com.dsk.common.core.controller.BaseController; import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult; import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.domain.entity.BusinessBacklog; import com.dsk.system.domain.business.BusinessBacklog;
import com.dsk.common.core.page.TableDataInfo; import com.dsk.common.core.page.TableDataInfo;
import com.dsk.system.service.IBusinessBacklogService; import com.dsk.system.service.IBusinessBacklogService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
...@@ -11,8 +11,6 @@ import lombok.extern.slf4j.Slf4j; ...@@ -11,8 +11,6 @@ import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List;
/** /**
* 项目工作待办Controller * 项目工作待办Controller
* *
...@@ -36,8 +34,7 @@ public class BusinessBacklogController extends BaseController ...@@ -36,8 +34,7 @@ public class BusinessBacklogController extends BaseController
public TableDataInfo list(BusinessBacklog businessBacklog) public TableDataInfo list(BusinessBacklog businessBacklog)
{ {
startPage(); startPage();
List<BusinessBacklog> list = businessBacklogService.selectBusinessBacklogList(businessBacklog); return getDataTable(businessBacklogService.selectBusinessBacklogList(businessBacklog));
return getDataTable(list);
} }
/** /**
...@@ -63,6 +60,15 @@ public class BusinessBacklogController extends BaseController ...@@ -63,6 +60,15 @@ public class BusinessBacklogController extends BaseController
return toAjax(businessBacklogService.updateBusinessBacklog(businessBacklog)); return toAjax(businessBacklogService.updateBusinessBacklog(businessBacklog));
} }
/**
* 获取项目工作代办逾期数量
*/
@GetMapping("/overdue/count/{businessId}")
public AjaxResult overdueCount(@PathVariable Integer businessId)
{
return AjaxResult.success(businessBacklogService.overdueCount(businessId));
}
// /** // /**
// * 导出项目工作待办列表 // * 导出项目工作待办列表
// */ // */
......
package com.dsk.web.controller.customer;
import com.dsk.common.annotation.RepeatSubmit;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.AjaxResult;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.system.domain.customer.ContactInfo;
import com.dsk.system.domain.customer.dto.ContactInfoSearchDto;
import com.dsk.system.service.IContactInfoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* 联系人(ContactInfo)表控制层
*
* @author makejava
* @since 2023-07-25 17:18:00
*/
@RestController
@RequestMapping("/contact/info")
public class ContactInfoController extends BaseController {
/**
* 服务对象
*/
@Autowired
private IContactInfoService baseService;
/**
* 联系人列表
*/
// @PreAuthorize("@ss.hasPermi('contact:list')")
@GetMapping("/list")
public TableDataInfo selectPageList(ContactInfoSearchDto dto){
startPage();
return getDataTable(baseService.selectList(dto));
}
/**
* 联系人详情
*/
// @PreAuthorize("@ss.hasPermi('contact:info')")
@GetMapping("/{id}")
public AjaxResult info(@PathVariable Long id){
return AjaxResult.success(baseService.selectById(id));
}
/**
* 添加用户联系人
*/
// @PreAuthorize("@ss.hasPermi('contact:add')")
@PostMapping()
@RepeatSubmit()
public AjaxResult add(@RequestBody ContactInfo baen){
return AjaxResult.success(baseService.insert(baen));
}
/**
* 编辑用户联系人
*/
// @PreAuthorize("@ss.hasPermi('contact:edit')")
@PutMapping()
@RepeatSubmit()
public AjaxResult edit(@RequestBody ContactInfo baen){
return AjaxResult.success(baseService.update(baen));
}
/**
* 删除用户联系人
*/
// @PreAuthorize("@ss.hasPermi('contact:del')")
@DeleteMapping("/{id}")
@RepeatSubmit()
public AjaxResult del(@PathVariable("id") Long id){
return AjaxResult.success(baseService.deleteById(id));
}
}
package com.dsk.common.core.domain.entity; package com.dsk.system.domain.business;
import java.util.Date; import java.util.Date;
import com.dsk.common.core.domain.BaseEntity; import com.dsk.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.annotation.JsonFormat;
import com.dsk.common.annotation.Excel; import com.dsk.common.annotation.Excel;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle; import org.apache.commons.lang3.builder.ToStringStyle;
...@@ -14,6 +15,7 @@ import org.apache.commons.lang3.builder.ToStringStyle; ...@@ -14,6 +15,7 @@ import org.apache.commons.lang3.builder.ToStringStyle;
* @author lxl * @author lxl
* @date 2023-05-17 * @date 2023-05-17
*/ */
@Data
public class BusinessBacklog extends BaseEntity public class BusinessBacklog extends BaseEntity
{ {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
...@@ -34,82 +36,17 @@ public class BusinessBacklog extends BaseEntity ...@@ -34,82 +36,17 @@ public class BusinessBacklog extends BaseEntity
private String task; private String task;
/** 完成时间 */ /** 完成时间 */
@JsonFormat(pattern = "yyyy-MM-dd") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd") @Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date finishTime; private Date finishTime;
/** 完成时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "到期时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date dueTime;
/** 状态(2已完成,1进行中,0逾期) */ /** 状态(2已完成,1进行中,0逾期) */
@Excel(name = "状态(2已完成,1进行中,0逾期)") @Excel(name = "状态 0:进行中 1:已到期")
private Integer state; private Integer state;
public void setId(Integer id)
{
this.id = id;
}
public Integer getId()
{
return id;
}
public void setBusinessId(Integer businessId)
{
this.businessId = businessId;
}
public Integer getBusinessId()
{
return businessId;
}
public void setTarget(String target)
{
this.target = target;
}
public String getTarget()
{
return target;
}
public void setTask(String task)
{
this.task = task;
}
public String getTask()
{
return task;
}
public void setFinishTime(Date finishTime)
{
this.finishTime = finishTime;
}
public Date getFinishTime()
{
return finishTime;
}
public void setState(Integer state)
{
this.state = state;
}
public Integer getState()
{
return state;
}
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.MULTI_LINE_STYLE)
.append("id", getId())
.append("businessId", getBusinessId())
.append("target", getTarget())
.append("task", getTask())
.append("finishTime", getFinishTime())
.append("state", getState())
.append("createTime", getCreateTime())
.append("updateTime", getUpdateTime())
.toString();
}
} }
package com.dsk.system.domain.business.vo;
import com.dsk.common.annotation.Excel;
import com.dsk.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.util.Date;
/**
* 项目工作待办对象 business_backlog
*
* @author lxl
* @date 2023-05-17
*/
@Data
public class BusinessBacklogListVo {
private static final long serialVersionUID = 1L;
/** $column.columnComment */
private Integer id;
/** 项目id */
private Integer businessId;
/** 关联客户 */
private String target;
/** 待办工作内容 */
private String task;
/** 完成时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "完成时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date finishTime;
/** 完成时间 */
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@Excel(name = "到期时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
private Date dueTime;
/** 状态(2已完成,1进行中,0逾期) */
@Excel(name = "状态 0:进行中 1:已到期 2:已逾期")
private Integer state;
}
package com.dsk.system.domain.customer;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* 用户联系人(CustomerContact)实体类
*
* @author makejava
* @since 2023-07-25 17:18:00
*/
@Data
@NoArgsConstructor
@Accessors(chain = true)
@TableName("contact_info")
public class ContactInfo implements Serializable {
private static final long serialVersionUID = -22461377492423075L;
@TableId(value = "id",type = IdType.AUTO)
private Long id;
/**
* 客户id
*/
private String customerId;
/**
* 项目id
*/
private Integer projectId;
/**
* 姓名
*/
private String name;
/**
* 性别
*/
private String sex;
/**
* 角色
*/
private String role;
/**
* 职位
*/
private String position;
/**
* 联系方式
*/
private String contactInformation;
/**
* 企业id
*/
private Integer companyId;
/**
* 城投企业id
*/
private String uipId;
/**
* 企业名称
*/
private String companyName;
/**
* 备注
*/
private String remark;
private String createBy;
private Date createTime;
private String updateBy;
private Long updateId;
private Date updateTime;
}
package com.dsk.system.domain.customer.dto;
import lombok.Data;
import java.io.Serializable;
/**
* @author lcl
* @create 2023/5/16
*/
@Data
public class ContactInfoSearchDto implements Serializable {
/**
* 项目id
*/
private Integer projectId;
/**
* 企业名称
*/
private String companyName;
/**
* 客户id
*/
private String customerId;
}
...@@ -10,10 +10,22 @@ import java.io.Serializable; ...@@ -10,10 +10,22 @@ import java.io.Serializable;
*/ */
@Data @Data
public class CustomerSearchDto implements Serializable { public class CustomerSearchDto implements Serializable {
/**
* 企业id
*/
private Integer companyId;
/**
* 城投企业id
*/
private String uipId;
/** /**
* 企业名称 * 企业名称
*/ */
private String companyName; private String companyName;
/**
* 客户id
*/
private String customerId;
/** /**
* 用户id * 用户id
*/ */
......
package com.dsk.system.domain.customer.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.Date;
/**
* 用户联系人(CustomerContact)实体类
*
* @author makejava
* @since 2023-07-25 17:18:00
*/
@Data
public class ContactInfoListVo implements Serializable {
private static final long serialVersionUID = -22461377492423075L;
private Long id;
/**
* 客户id
*/
private String customerId;
/**
* 项目id
*/
private Integer projectId;
/**
* 项目名称
*/
private String projectName;
/**
* 姓名
*/
private String name;
/**
* 性别
*/
private String sex;
/**
* 角色
*/
private String role;
/**
* 职位
*/
private String position;
/**
* 联系方式
*/
private String contactInformation;
/**
* 企业id
*/
private Integer companyId;
/**
* 城投企业id
*/
private String uipId;
/**
* 企业名称
*/
private String companyName;
/**
* 更新人
*/
private String updateBy;
}
package com.dsk.system.mapper; package com.dsk.system.mapper;
import com.dsk.common.core.domain.entity.BusinessBacklog; import com.dsk.system.domain.business.BusinessBacklog;
import com.dsk.system.domain.business.vo.BusinessBacklogListVo;
import java.util.List; import java.util.List;
...@@ -26,7 +27,7 @@ public interface BusinessBacklogMapper ...@@ -26,7 +27,7 @@ public interface BusinessBacklogMapper
* @param businessBacklog 项目工作待办 * @param businessBacklog 项目工作待办
* @return 项目工作待办集合 * @return 项目工作待办集合
*/ */
public List<BusinessBacklog> selectBusinessBacklogList(BusinessBacklog businessBacklog); public List<BusinessBacklogListVo> selectBusinessBacklogList(BusinessBacklog businessBacklog);
/** /**
* 新增项目工作待办 * 新增项目工作待办
...@@ -60,9 +61,6 @@ public interface BusinessBacklogMapper ...@@ -60,9 +61,6 @@ public interface BusinessBacklogMapper
*/ */
public int deleteBusinessBacklogByIds(Long[] ids); public int deleteBusinessBacklogByIds(Long[] ids);
/** Integer overdueCount(Integer businessId);
* 修改工作待办逾期状态
* @return
*/
int updateBacklogState();
} }
package com.dsk.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.dsk.system.domain.customer.ContactInfo;
import com.dsk.system.domain.customer.dto.ContactInfoSearchDto;
import com.dsk.system.domain.customer.vo.ContactInfoListVo;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* 用户联系人(CustomerContact)表数据库访问层
*
* @author makejava
* @since 2023-07-25 17:18:05
*/
@Mapper
public interface ContactInfoMapper extends BaseMapper<ContactInfo> {
List<ContactInfoListVo> selectPageList(ContactInfoSearchDto dto);
}
package com.dsk.system.service; package com.dsk.system.service;
import com.dsk.common.core.domain.entity.BusinessBacklog; import com.dsk.system.domain.business.BusinessBacklog;
import com.dsk.system.domain.business.vo.BusinessBacklogListVo;
import java.util.List; import java.util.List;
...@@ -26,7 +27,7 @@ public interface IBusinessBacklogService ...@@ -26,7 +27,7 @@ public interface IBusinessBacklogService
* @param businessBacklog 项目工作待办 * @param businessBacklog 项目工作待办
* @return 项目工作待办集合 * @return 项目工作待办集合
*/ */
public List<BusinessBacklog> selectBusinessBacklogList(BusinessBacklog businessBacklog); public List<BusinessBacklogListVo> selectBusinessBacklogList(BusinessBacklog businessBacklog);
/** /**
* 新增项目工作待办 * 新增项目工作待办
...@@ -59,4 +60,7 @@ public interface IBusinessBacklogService ...@@ -59,4 +60,7 @@ public interface IBusinessBacklogService
* @return 结果 * @return 结果
*/ */
public int deleteBusinessBacklogById(Long id); public int deleteBusinessBacklogById(Long id);
Integer overdueCount(Integer businessId);
} }
package com.dsk.system.service;
import com.dsk.system.domain.customer.ContactInfo;
import com.dsk.system.domain.customer.dto.ContactInfoSearchDto;
import com.dsk.system.domain.customer.vo.ContactInfoListVo;
import java.util.List;
/**
* 用户联系人(CustomerContact)表服务接口
*
* @author makejava
* @since 2023-07-25 17:18:05
*/
public interface IContactInfoService {
/**
* 查询数据列表
*/
List<ContactInfoListVo> selectList(ContactInfoSearchDto dto);
/**
* 通过ID查询单条数据
*
* @param id 主键
* @return 实例对象
*/
ContactInfo selectById(Long id);
/**
* 新增数据
*
* @param bean 实例对象
* @return 实例对象
*/
boolean insert(ContactInfo bean);
/**
* 修改数据
*
* @param bean 实例对象
* @return 实例对象
*/
boolean update(ContactInfo bean);
/**
* 通过主键删除数据
*
* @param id 主键
* @return 是否成功
*/
boolean deleteById(Long id);
}
package com.dsk.system.service.impl; package com.dsk.system.service.impl;
import com.dsk.common.core.domain.entity.BusinessBacklog; import cn.hutool.core.bean.BeanException;
import cn.hutool.core.util.ObjectUtil;
import com.dsk.system.domain.business.BusinessBacklog;
import com.dsk.common.exception.base.BaseException; import com.dsk.common.exception.base.BaseException;
import com.dsk.common.utils.DateUtils; import com.dsk.common.utils.DateUtils;
import com.dsk.system.domain.business.vo.BusinessBacklogListVo;
import com.dsk.system.mapper.BusinessBacklogMapper; import com.dsk.system.mapper.BusinessBacklogMapper;
import com.dsk.system.service.IBusinessBacklogService; import com.dsk.system.service.IBusinessBacklogService;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled; import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -22,9 +25,8 @@ import java.util.List; ...@@ -22,9 +25,8 @@ import java.util.List;
*/ */
@Service @Service
@Slf4j @Slf4j
public class BusinessBacklogServiceImpl implements IBusinessBacklogService public class BusinessBacklogServiceImpl implements IBusinessBacklogService {
{ @Resource
@Autowired
private BusinessBacklogMapper businessBacklogMapper; private BusinessBacklogMapper businessBacklogMapper;
/** /**
...@@ -34,8 +36,7 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService ...@@ -34,8 +36,7 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
* @return 项目工作待办 * @return 项目工作待办
*/ */
@Override @Override
public BusinessBacklog selectBusinessBacklogById(Integer id) public BusinessBacklog selectBusinessBacklogById(Integer id) {
{
return businessBacklogMapper.selectBusinessBacklogById(id); return businessBacklogMapper.selectBusinessBacklogById(id);
} }
...@@ -46,8 +47,10 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService ...@@ -46,8 +47,10 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
* @return 项目工作待办 * @return 项目工作待办
*/ */
@Override @Override
public List<BusinessBacklog> selectBusinessBacklogList(BusinessBacklog businessBacklog) public List<BusinessBacklogListVo> selectBusinessBacklogList(BusinessBacklog businessBacklog) {
{ if (ObjectUtil.isEmpty(businessBacklog.getBusinessId())) {
throw new BeanException("项目id不能为空!");
}
return businessBacklogMapper.selectBusinessBacklogList(businessBacklog); return businessBacklogMapper.selectBusinessBacklogList(businessBacklog);
} }
...@@ -59,12 +62,8 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService ...@@ -59,12 +62,8 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
*/ */
@Override @Override
@Transactional @Transactional
public int insertBusinessBacklog(BusinessBacklog businessBacklog) public int insertBusinessBacklog(BusinessBacklog businessBacklog) {
{ if (businessBacklog.getDueTime().before(new Date())) throw new BaseException("到期时间必须大于当前时间");
if(businessBacklog.getFinishTime().before(new Date())) throw new BaseException("完成时间必须大于当前时间");
businessBacklog.setCreateTime(DateUtils.getNowDate());
//新增记录,状态默认 进行中
businessBacklog.setState(1);
return businessBacklogMapper.insertBusinessBacklog(businessBacklog); return businessBacklogMapper.insertBusinessBacklog(businessBacklog);
} }
...@@ -76,16 +75,23 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService ...@@ -76,16 +75,23 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
*/ */
@Override @Override
@Transactional @Transactional
public int updateBusinessBacklog(BusinessBacklog businessBacklog) public int updateBusinessBacklog(BusinessBacklog businessBacklog) {
{ if (ObjectUtil.isEmpty(businessBacklog.getId())) {
//从完成状态修改到为完成,判断是否已逾期 throw new BeanException("id不能为空!");
BusinessBacklog backlog = selectBusinessBacklogById(businessBacklog.getId()); }
if (businessBacklog.getState() == 1 && backlog.getState() == 2 && backlog.getFinishTime().before(new Date())) { if (ObjectUtil.isEmpty(businessBacklog.getState())) {
businessBacklog.setState(0); throw new BeanException("状态不能为空!");
businessBacklog.setUpdateTime(new Date()); }
return businessBacklogMapper.updateBusinessBacklog(businessBacklog); switch (businessBacklog.getState()) {
case 0:
businessBacklog.setFinishTime(null);
break;
case 1:
businessBacklog.setFinishTime(new Date());
break;
default:
throw new BeanException("状态参数错误!");
} }
businessBacklog.setUpdateTime(new Date());
return businessBacklogMapper.updateBusinessBacklog(businessBacklog); return businessBacklogMapper.updateBusinessBacklog(businessBacklog);
} }
...@@ -96,8 +102,7 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService ...@@ -96,8 +102,7 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
* @return 结果 * @return 结果
*/ */
@Override @Override
public int deleteBusinessBacklogByIds(Long[] ids) public int deleteBusinessBacklogByIds(Long[] ids) {
{
return businessBacklogMapper.deleteBusinessBacklogByIds(ids); return businessBacklogMapper.deleteBusinessBacklogByIds(ids);
} }
...@@ -108,17 +113,12 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService ...@@ -108,17 +113,12 @@ public class BusinessBacklogServiceImpl implements IBusinessBacklogService
* @return 结果 * @return 结果
*/ */
@Override @Override
public int deleteBusinessBacklogById(Long id) public int deleteBusinessBacklogById(Long id) {
{
return businessBacklogMapper.deleteBusinessBacklogById(id); return businessBacklogMapper.deleteBusinessBacklogById(id);
} }
/** @Override
* 定时修改工作待办逾期状态 public Integer overdueCount(Integer businessId) {
*/ return businessBacklogMapper.overdueCount(businessId);
@Scheduled(cron = "0 0 0 * * ?")//每天凌晨0点执行一次
public void judgeOverdue() {
int updateBacklogState = businessBacklogMapper.updateBacklogState();
if (updateBacklogState > 1) log.info("定时修改工作待办逾期状态");
} }
} }
...@@ -264,7 +264,6 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService { ...@@ -264,7 +264,6 @@ public class BusinessInfoServiceImpl implements IBusinessInfoService {
if (!CheckUtils.isPhone(businessInfo.getConstructionPhone()) || !CheckUtils.isPhone(businessInfo.getSupervisorPhone())) if (!CheckUtils.isPhone(businessInfo.getConstructionPhone()) || !CheckUtils.isPhone(businessInfo.getSupervisorPhone()))
throw new BaseException("500", "请输入正确的电话号码"); throw new BaseException("500", "请输入正确的电话号码");
} }
businessInfo.setUpdateTime(DateUtils.getNowDate());
//查询企业的城投id和建设库id //查询企业的城投id和建设库id
Map map = queryUipIdOrCid(businessInfo.getConstructionUnit()); Map map = queryUipIdOrCid(businessInfo.getConstructionUnit());
if (map.containsKey("jskEid")) { if (map.containsKey("jskEid")) {
......
package com.dsk.system.service.impl;
import cn.hutool.core.bean.BeanException;
import com.dsk.common.core.domain.model.LoginUser;
import com.dsk.common.utils.SecurityUtils;
import com.dsk.system.domain.customer.ContactInfo;
import com.dsk.system.domain.customer.dto.ContactInfoSearchDto;
import com.dsk.system.domain.customer.vo.ContactInfoListVo;
import com.dsk.system.mapper.ContactInfoMapper;
import com.dsk.system.service.IContactInfoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.List;
/**
* 用户联系人(CustomerContact)表服务实现类
*
* @author makejava
* @since 2023-07-25 17:18:04
*/
@Slf4j
@Service
public class ContactInfoServiceImpl implements IContactInfoService {
@Resource
private ContactInfoMapper baseMapper;
@Override
public List<ContactInfoListVo> selectList(ContactInfoSearchDto dto) {
return baseMapper.selectPageList(dto);
}
@Override
public ContactInfo selectById(Long id) {
return baseMapper.selectById(id);
}
@Override
public boolean insert(ContactInfo bean) {
verifyParameter(bean);
return baseMapper.insert(bean) > 0;
}
@Override
public boolean update(ContactInfo bean) {
if (ObjectUtils.isEmpty(bean.getId())) throw new BeanException("id不能为空!");
verifyParameter(bean);
return baseMapper.updateById(bean) > 0;
}
@Override
public boolean deleteById(Long id) {
return baseMapper.deleteById(id) > 0;
}
/**
* 参数验证
*/
private void verifyParameter(ContactInfo bean) {
// if (ObjectUtils.isEmpty(bean.getCustomerId())) throw new BeanException("客户id不能为空!");
LoginUser loginUser = SecurityUtils.getLoginUser();
bean.setCreateBy(loginUser.getUser().getNickName());
bean.setUpdateId(loginUser.getUserId());
bean.setUpdateBy(loginUser.getUser().getNickName());
}
}
...@@ -4,7 +4,7 @@ ...@@ -4,7 +4,7 @@
"http://mybatis.org/dtd/mybatis-3-mapper.dtd"> "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.system.mapper.BusinessBacklogMapper"> <mapper namespace="com.dsk.system.mapper.BusinessBacklogMapper">
<resultMap type="com.dsk.common.core.domain.entity.BusinessBacklog" id="BusinessBacklogResult"> <resultMap type="com.dsk.system.domain.business.BusinessBacklog" id="BusinessBacklogResult">
<result property="id" column="id"/> <result property="id" column="id"/>
<result property="businessId" column="business_id"/> <result property="businessId" column="business_id"/>
<result property="target" column="target"/> <result property="target" column="target"/>
...@@ -21,22 +21,21 @@ ...@@ -21,22 +21,21 @@
target, target,
task, task,
finish_time, finish_time,
state, due_time,
if(due_time &lt; now() and state = 0, 2 ,state) state,
create_time, create_time,
update_time update_time
from business_backlog from business_backlog
</sql> </sql>
<select id="selectBusinessBacklogList" parameterType="com.dsk.common.core.domain.entity.BusinessBacklog" <select id="selectBusinessBacklogList" parameterType="com.dsk.system.domain.business.vo.BusinessBacklogListVo"
resultMap="BusinessBacklogResult"> resultMap="BusinessBacklogResult">
<include refid="selectBusinessBacklogVo"/> <include refid="selectBusinessBacklogVo"/>
<where> where business_id = #{businessId}
<if test="businessId != null ">and business_id = #{businessId}</if>
<if test="target != null and target != ''">and target = #{target}</if> <if test="target != null and target != ''">and target = #{target}</if>
<if test="task != null and task != ''">and task = #{task}</if> <if test="task != null and task != ''">and task = #{task}</if>
<if test="finishTime != null ">and finish_time = #{finishTime}</if> <if test="finishTime != null ">and finish_time = #{finishTime}</if>
<if test="state != null ">and state = #{state}</if> <if test="state != null ">and state = #{state}</if>
</where>
ORDER BY create_time DESC ORDER BY create_time DESC
</select> </select>
...@@ -45,47 +44,25 @@ ...@@ -45,47 +44,25 @@
where id = #{id} where id = #{id}
</select> </select>
<insert id="insertBusinessBacklog" parameterType="com.dsk.common.core.domain.entity.BusinessBacklog" <insert id="insertBusinessBacklog" parameterType="com.dsk.system.domain.business.BusinessBacklog"
useGeneratedKeys="true" keyProperty="id"> useGeneratedKeys="true" keyProperty="id">
insert into business_backlog insert into business_backlog
<trim prefix="(" suffix=")" suffixOverrides=","> <trim prefix="(" suffix=")" suffixOverrides=",">
<if test="businessId != null">business_id,</if> <if test="businessId != null">business_id,</if>
<if test="target != null">target,</if> <if test="target != null">target,</if>
<if test="task != null">task,</if> <if test="task != null">task,</if>
<if test="finishTime != null">finish_time,</if> <if test="dueTime != null">due_time,</if>
<if test="state != null">state,</if>
<if test="createTime != null">create_time,</if>
<if test="updateTime != null">update_time,</if>
</trim> </trim>
<trim prefix="values (" suffix=")" suffixOverrides=","> <trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="businessId != null">#{businessId},</if> <if test="businessId != null">#{businessId},</if>
<if test="target != null">#{target},</if> <if test="target != null">#{target},</if>
<if test="task != null">#{task},</if> <if test="task != null">#{task},</if>
<if test="finishTime != null">#{finishTime},</if> <if test="dueTime != null">#{dueTime},</if>
<if test="state != null">#{state},</if>
<if test="createTime != null">#{createTime},</if>
<if test="updateTime != null">#{updateTime},</if>
</trim> </trim>
</insert> </insert>
<update id="updateBusinessBacklog" parameterType="com.dsk.common.core.domain.entity.BusinessBacklog"> <update id="updateBusinessBacklog" parameterType="com.dsk.system.domain.business.BusinessBacklog">
update business_backlog update business_backlog set finish_time = #{finishTime}, state = #{state} where id = #{id}
<trim prefix="SET" suffixOverrides=",">
<if test="businessId != null">business_id = #{businessId},</if>
<if test="target != null">target = #{target},</if>
<if test="task != null">task = #{task},</if>
<if test="finishTime != null">finish_time = #{finishTime},</if>
<if test="state != null">state = #{state},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
</trim>
where id = #{id}
</update>
<update id="updateBacklogState">
update business_backlog
set state = 0
where state = 1
and finish_time &lt; CURRENT_TIMESTAMP
</update> </update>
<delete id="deleteBusinessBacklogById" parameterType="Long"> <delete id="deleteBusinessBacklogById" parameterType="Long">
...@@ -100,4 +77,8 @@ ...@@ -100,4 +77,8 @@
#{id} #{id}
</foreach> </foreach>
</delete> </delete>
<select id="overdueCount" resultType="java.lang.Integer">
select count(id) from business_backlog where business_id = #{businessId} and due_time &lt; now() and state = 0
</select>
</mapper> </mapper>
...@@ -356,8 +356,6 @@ ...@@ -356,8 +356,6 @@
<if test="projectType != null">project_type = #{projectType},</if> <if test="projectType != null">project_type = #{projectType},</if>
<if test="projectCategory != null">project_category = #{projectCategory},</if> <if test="projectCategory != null">project_category = #{projectCategory},</if>
<if test="isPrivate != null">is_private = #{isPrivate},</if> <if test="isPrivate != null">is_private = #{isPrivate},</if>
<if test="createTime != null">create_time = #{createTime},</if>
<if test="updateTime != null">update_time = #{updateTime},</if>
<if test="status != null">status = #{status},</if> <if test="status != null">status = #{status},</if>
<if test="customerId != null">customer_id = #{customerId},</if> <if test="customerId != null">customer_id = #{customerId},</if>
<if test="evaluationBidWay != null">evaluation_bid_way = #{evaluationBidWay},</if> <if test="evaluationBidWay != null">evaluation_bid_way = #{evaluationBidWay},</if>
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.dsk.system.mapper.ContactInfoMapper">
<select id="selectPageList" resultType="com.dsk.system.domain.customer.vo.ContactInfoListVo">
select
cc.id, cc.customer_id, cc.project_id, bi.project_name, cc.name, cc.sex, cc.role,
cc.position, cc.contact_information, cc.company_id, cc.uip_id, cc.company_name,
cc.update_by
from contact_info cc
left join business_info bi on cc.project_id = bi.id
<where>
<if test="cc.customerId != null and cc.customerId !='' "> and (cc.customer_id = #{customerId} or cc.company_name =#{companyName})</if>
<if test="cc.projectId != null "> and cc.project_id = #{projectId} </if>
</where>
order by cc.create_time desc
</select>
</mapper>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment