Commit 784188c7 authored by 施翔轲's avatar 施翔轲

劳务供应商挂靠风险列表相关

parent fe40394b
......@@ -205,6 +205,7 @@ tenant:
- cb_subject
- cb_project_other
- s_materiel_project
- labor_leader_customer_risk
# MyBatisPlus配置
# https://baomidou.com/config/
......
package com.dsk.cscec.controller;
import com.dsk.common.core.controller.BaseController;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.domain.R;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.LaborLeaderCustomerRisk;
import com.dsk.cscec.domain.bo.AddLaborLeaderCustomerRiskBo;
import com.dsk.cscec.domain.bo.QueryLaborLeaderCustomerRisk;
import com.dsk.cscec.service.LaborLeaderCustomerRiskService;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
* 劳务队长供应商挂靠风险表(LaborLeaderCustomerRisk)表控制层
*
* @author sxk
* @since 2024-06-04 17:28:40
*/
@RestController
@RequestMapping("laborLeaderCustomerRisk")
public class LaborLeaderCustomerRiskController extends BaseController {
/**
* 服务对象
*/
@Resource
private LaborLeaderCustomerRiskService baseService;
/**
* 添加挂靠风险记录
*/
@PostMapping("/addRiskRecord")
public R<Void> addRiskRecord(@Validated @RequestBody AddLaborLeaderCustomerRiskBo addBo) {
return toAjax(baseService.addRiskRecord(addBo));
}
/**
* 查询挂靠风险列表
*/
@GetMapping("/queryRiskList")
public TableDataInfo<LaborLeaderCustomerRisk> queryRiskList(QueryLaborLeaderCustomerRisk queryBo, PageQuery pageQuery) {
return baseService.queryRiskList(queryBo, pageQuery);
}
}
package com.dsk.cscec.domain;
import com.baomidou.mybatisplus.annotation.TableId;
import com.dsk.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
/**
* 劳务队长供应商挂靠风险表(LaborLeaderCustomerRisk)实体类
*
* @author sxk
* @since 2024-06-04 17:28:40
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class LaborLeaderCustomerRisk extends BaseEntity implements Serializable {
private static final long serialVersionUID = -52043090383272703L;
/**
* 风险ID
*/
@TableId(value = "risk_id")
private Long riskId;
/**
* 供应商企业ID
*/
private Integer customerCid;
/**
* 劳务队长姓名
*/
private String leaderName;
/**
* 劳务队长身份证号
*/
private String laborCaptainIdCard;
/**
* 劳务队长联系电话
*/
private String laborCaptainPhone;
/**
* 挂靠单位(供应商名称)
*/
private String customerName;
/**
* 不良事由
*/
private String badReason;
/**
* 不良行为情形
*/
private String badBehaviorSituation;
/**
* 数据来源(0:自主添加,1:系统添加)
*/
private Integer dataSource;
}
......@@ -37,6 +37,7 @@ public class AddDCustomerLaborLeaderBo {
/**
* 劳务队长联系电话
*/
@NotBlank(message = "劳务队长联系电话不能为空")
private String laborCaptainPhone;
/**
* 队伍规模人数
......
package com.dsk.cscec.domain.bo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @author sxk
* @date 2024.06.05
* @time 09:21
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class AddLaborLeaderCustomerRiskBo {
/**
* 劳务队长姓名
*/
@NotBlank(message = "劳务队长姓名不能为空")
private String leaderName;
/**
* 劳务队长身份证号
*/
@NotBlank(message = "劳务队长身份证号不能为空")
private String laborCaptainIdCard;
/**
* 劳务队长联系电话
*/
@NotBlank(message = "劳务队长联系电话不能为空")
private String laborCaptainPhone;
/**
* 挂靠单位(供应商名称)
*/
@NotBlank(message = "挂靠单位名称不能为空")
private String customerName;
/**
* 不良事由
*/
@NotBlank(message = "不良事由不能为空")
private String badReason;
/**
* 不良行为情形
*/
@NotBlank(message = "不良行为情形不能为空")
private String badBehaviorSituation;
/**
* 数据来源(0:自主添加,1:系统添加)
*/
@NotNull(message = "数据来源不能为空")
private Integer dataSource;
}
package com.dsk.cscec.domain.bo;
import com.dsk.cscec.domain.LaborLeaderCustomerRisk;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* @author sxk
* @date 2024.06.05
* @time 10:00
*/
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
public class QueryLaborLeaderCustomerRisk extends LaborLeaderCustomerRisk {
/**
* 发生开始日期
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date startDate;
/**
* 发生结束日期
*/
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date endDate;
}
package com.dsk.cscec.mapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.dsk.cscec.domain.DProject;
import com.dsk.cscec.domain.LaborLeaderCustomerRisk;
import org.apache.ibatis.annotations.Param;
/**
* 劳务队长供应商挂靠风险表(LaborLeaderCustomerRisk)表数据库访问层
*
* @author makejava
* @since 2024-06-04 17:28:40
*/
public interface LaborLeaderCustomerRiskMapper extends BaseMapper<LaborLeaderCustomerRisk> {
/**
* 查询挂靠风险列表
*/
Page<LaborLeaderCustomerRisk> queryRiskList(@Param("page") Page<LaborLeaderCustomerRisk> page, @Param(Constants.WRAPPER) QueryWrapper<DProject> wrapper);
}
package com.dsk.cscec.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.cscec.domain.LaborLeaderCustomerRisk;
import com.dsk.cscec.domain.bo.AddLaborLeaderCustomerRiskBo;
import com.dsk.cscec.domain.bo.QueryLaborLeaderCustomerRisk;
/**
* 劳务队长供应商挂靠风险表(LaborLeaderCustomerRisk)表服务接口
*
* @author sxk
* @since 2024-06-04 17:28:40
*/
public interface LaborLeaderCustomerRiskService extends IService<LaborLeaderCustomerRisk> {
/**
* 添加挂靠风险记录
*/
Integer addRiskRecord(AddLaborLeaderCustomerRiskBo addBo);
/**
* 查询挂靠风险列表
*/
TableDataInfo<LaborLeaderCustomerRisk> queryRiskList(QueryLaborLeaderCustomerRisk queryBo, PageQuery pageQuery);
}
......@@ -26,10 +26,11 @@ import com.dsk.cscec.mapper.DSubcontractMapper;
import com.dsk.cscec.service.ICustomerInfoService;
import com.dsk.search.service.BusinessOpportunityRadarService;
import jodd.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
......@@ -42,17 +43,13 @@ import java.util.Map;
*/
@Service
public class CustomerInfoServiceImpl extends ServiceImpl<DCustomerMapper, DCustomer> implements ICustomerInfoService {
@Autowired
@Resource
private DSubcontractMapper subcontractMapper;
@Autowired
@Resource
private BusinessOpportunityRadarService opportunityRadarService;
@Autowired
@Resource
private AdvisoryBodyMapper advisoryBodyMapper;
@Autowired
@Resource
private DSubcontractMapper dSubcontractMapper;
@Override
......@@ -269,6 +266,7 @@ public class CustomerInfoServiceImpl extends ServiceImpl<DCustomerMapper, DCusto
* 添加劳务队队长
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Integer addLaborLeader(AddDCustomerLaborLeaderBo bo) {
DCustomer customer = BeanUtil.toBean(bo, DCustomer.class);
//如果数据库中存在该供应商,则填充相应信息
......
package com.dsk.cscec.service.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.lang.Assert;
import cn.hutool.core.map.MapUtil;
import cn.hutool.core.util.IdUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.dsk.common.core.domain.PageQuery;
import com.dsk.common.core.page.TableDataInfo;
import com.dsk.common.utils.StringUtils;
import com.dsk.cscec.domain.DProject;
import com.dsk.cscec.domain.LaborLeaderCustomerRisk;
import com.dsk.cscec.domain.bo.AddLaborLeaderCustomerRiskBo;
import com.dsk.cscec.domain.bo.QueryLaborLeaderCustomerRisk;
import com.dsk.cscec.mapper.LaborLeaderCustomerRiskMapper;
import com.dsk.cscec.service.LaborLeaderCustomerRiskService;
import com.dsk.search.service.BusinessOpportunityRadarService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.ObjectUtils;
import javax.annotation.Resource;
import java.util.Map;
/**
* 劳务队长供应商挂靠风险表(LaborLeaderCustomerRisk)表服务实现类
*
* @author makejava
* @since 2024-06-04 17:28:40
*/
@Service("laborLeaderCustomerRiskService")
public class LaborLeaderCustomerRiskServiceImpl extends ServiceImpl<LaborLeaderCustomerRiskMapper, LaborLeaderCustomerRisk> implements LaborLeaderCustomerRiskService {
@Resource
private LaborLeaderCustomerRiskMapper baseMapper;
@Resource
private BusinessOpportunityRadarService opportunityRadarService;
/**
* 添加挂靠风险记录
*/
@Override
@Transactional(rollbackFor = Exception.class)
public Integer addRiskRecord(AddLaborLeaderCustomerRiskBo addBo) {
LaborLeaderCustomerRisk risk = BeanUtil.toBean(addBo, LaborLeaderCustomerRisk.class);
risk.setRiskId(IdUtil.getSnowflakeNextId());
//查询供应商cid
Map<String, Object> map = opportunityRadarService.enterpriseByName(addBo.getCustomerName());
if (!ObjectUtils.isEmpty(map.get("data"))) {
Map<String, Object> data = BeanUtil.beanToMap(map.get("data"));
Integer companyId = MapUtil.getInt(data, "jskEid");
Assert.notNull(companyId, "挂靠单位不存在或请填写完整单位名称");
risk.setCustomerCid(companyId);
}
risk.setLeaderName(addBo.getLeaderName());
risk.setLaborCaptainIdCard(addBo.getLaborCaptainIdCard());
risk.setLaborCaptainPhone(addBo.getLaborCaptainPhone());
risk.setCustomerName(addBo.getCustomerName());
risk.setBadReason("挂靠风险");
risk.setBadBehaviorSituation(addBo.getLeaderName() + "已存在于" + addBo.getCustomerName() + ",存在挂靠风险");
return baseMapper.insert(risk);
}
/**
* 查询挂靠风险列表
*/
@Override
public TableDataInfo<LaborLeaderCustomerRisk> queryRiskList(QueryLaborLeaderCustomerRisk queryBo, PageQuery pageQuery) {
QueryWrapper<DProject> wrapper = Wrappers.query();
wrapper
.like(StringUtils.isNotBlank(queryBo.getLeaderName()), "leader_name", queryBo.getLeaderName())
.like(StringUtils.isNotBlank(queryBo.getCustomerName()), "customer_name", queryBo.getCustomerName())
.gt(ObjectUtil.isNotNull(queryBo.getStartDate()), "create_time", queryBo.getStartDate())
.lt(ObjectUtil.isNotNull(queryBo.getEndDate()), "create_time", queryBo.getEndDate())
.between(ObjectUtil.isNotNull(queryBo.getStartDate()) && ObjectUtil.isNotNull(queryBo.getEndDate()),
"create_time",
queryBo.getStartDate(),
queryBo.getEndDate())
.orderByDesc("create_time");
Page<LaborLeaderCustomerRisk> page = baseMapper.queryRiskList(pageQuery.build(), wrapper);
page.getRecords().parallelStream().forEach(item -> {
//关键字标红
if (StringUtils.isNotBlank(queryBo.getLeaderName())) {
item.setLeaderName(StringUtils.markInRed(item.getLeaderName(), queryBo.getLeaderName()));
}
if (StringUtils.isNotBlank(queryBo.getCustomerName())) {
item.setCustomerName(StringUtils.markInRed(item.getCustomerName(), queryBo.getCustomerName()));
}
});
return TableDataInfo.build(page);
}
}
<?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.cscec.mapper.LaborLeaderCustomerRiskMapper">
<select id="queryRiskList" resultType="com.dsk.cscec.domain.LaborLeaderCustomerRisk">
select risk_id,
customer_cid,
leader_name,
labor_captain_id_card,
labor_captain_phone,
customer_name,
bad_reason,
bad_behavior_situation,
data_source,
create_time
from labor_leader_customer_risk ${ew.getCustomSqlSegment}
</select>
</mapper>
\ No newline at end of file
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