Commit d6893485 authored by chenyuxi's avatar chenyuxi

feat: 瓜子接口提交

parent 392d2ebf
......@@ -62,15 +62,11 @@ public class TGzOfferInfo extends BaseEntity {
@ExcelProperty("流程ID(瓜子推过来的主键)")
@Schema(description = "流程ID(瓜子推过来的主键)")
private String bizId;
/**
* 接收时间
*/
@ExcelAttribute(name = "接收时间", isDate = true)
@ExcelProperty("接收时间")
@Schema(description = "接收时间")
private Date receiveTime;
/**
* Offer状态(3:待发送Offer,4:待接受Offer,5:拒绝Offer,7:接受offer,9:候选人填写信息,10:取消offer,12:候选人信息审核,13:待签署,8:合同审核通过。99:已归档)
* Offer状态
* (3:待发送Offer,4:待接受Offer,5:拒绝Offer,7:接受offer,9:候选人填写信息,10:取消offer,
* 12:候选人信息审核,13:待签署,8:合同审核通过,99:已归档,98:信息待收集,97:候选人审核通过)
*/
@ExcelAttribute(name = "Offer状态(3:待发送Offer,4:待接受Offer,5:拒绝Offer,7:接受offer,9:候选人填写信息,10:取消offer,12:候选人信息审核,13:待签署,8:合同审核通过。99:已归档)", isNotEmpty = true, errorInfo = "Offer状态(3:待发送Offer,4:待接受Offer,5:拒绝Offer,7:接受offer,9:候选人填写信息,10:取消offer,12:候选人信息审核,13:待签署,8:合同审核通过。99:已归档)不能为空", maxLength = 2)
@NotBlank(message = "Offer状态(3:待发送Offer,4:待接受Offer,5:拒绝Offer,7:接受offer,9:候选人填写信息,10:取消offer,12:候选人信息审核,13:待签署,8:合同审核通过。99:已归档)不能为空")
......
......@@ -17,8 +17,11 @@
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TGzOfferInfo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDate;
/**
* 瓜子offer信息接收表
*
......@@ -28,5 +31,19 @@ import lombok.Data;
@Data
public class TGzOfferInfoVo extends TGzOfferInfo {
// @Schema(description = "人员类别展示值")
// private String empTypeLabel;
//
// @Schema(description = "外签类型展示值")
// private String outSginTypeLabel;
/**
* 查询使用:接收时间开始
*/
private LocalDate createTimeStart;
/**
* 查询使用:接收时间结束
*/
private LocalDate createTimeEnd;
}
......@@ -54,7 +54,7 @@ public class LGuaziOfferRecordController {
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<LGuaziOfferRecord>> getLGuaziOfferRecordPage(Page<LGuaziOfferRecord> page, LGuaziOfferRecord lGuaziOfferRecord) {
return new R<>(lGuaziOfferRecordService.getLGuaziOfferRecordPage(page,lGuaziOfferRecord));
return new R<>(lGuaziOfferRecordService.getLGuaziOfferRecordPage(page,lGuaziOfferRecord));
}
/**
......
......@@ -19,6 +19,7 @@ package com.yifu.cloud.plus.v1.yifu.archives.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TGzOfferInfoVo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
......@@ -58,7 +59,7 @@ public class TGzOfferInfoController {
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TGzOfferInfo>> getTGzOfferInfoPage(Page<TGzOfferInfo> page, TGzOfferInfo tGzOfferInfo) {
public R<IPage<TGzOfferInfoVo>> getTGzOfferInfoPage(Page<TGzOfferInfoVo> page, TGzOfferInfoVo tGzOfferInfo) {
return new R<>(tGzOfferInfoService.getTGzOfferInfoPage(page,tGzOfferInfo));
}
......@@ -70,11 +71,36 @@ public class TGzOfferInfoController {
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('archives_tgzofferinfo_get')")
@GetMapping("/{id}" )
@PreAuthorize("@pms.hasPermission('archives_tgzofferinfo_get')" )
public R<TGzOfferInfo> getById(@PathVariable("id" ) String id) {
return R.ok(tGzOfferInfoService.getById(id));
public R<TGzOfferInfo> getById(@PathVariable("id" ) Integer id) {
return R.ok(tGzOfferInfoService.getDataById(id));
}
/**
* 修改瓜子offer信息接收表
* @param tGzOfferInfo 瓜子offer信息接收表
* @return R
*/
@Operation(summary = "修改瓜子offer信息接收表")
@SysLog("修改瓜子offer信息接收表" )
@PutMapping
// @PreAuthorize("@pms.hasPermission('archives_tgzofferinfo_edit')" )
public R<String> updateById(@RequestBody TGzOfferInfo tGzOfferInfo) {
return tGzOfferInfoService.updateDataById(tGzOfferInfo);
}
/**
* 瓜子offer手动状态更新
* @param tGzOfferInfo 瓜子offer信息接收表
* @return R
*/
@Operation(summary = "瓜子offer手动状态更新")
@SysLog("瓜子offer手动状态更新" )
@PutMapping("/updateStatus")
// @PreAuthorize("@pms.hasPermission('archives_tgzofferinfo_edit')" )
public R<String> updateStatus(@RequestBody TGzOfferInfo tGzOfferInfo) {
return tGzOfferInfoService.updateStatus(tGzOfferInfo);
}
/**
* 新增瓜子offer信息接收表
* @param tGzOfferInfo 瓜子offer信息接收表
......@@ -88,19 +114,6 @@ public class TGzOfferInfoController {
return R.ok(tGzOfferInfoService.save(tGzOfferInfo));
}
/**
* 修改瓜子offer信息接收表
* @param tGzOfferInfo 瓜子offer信息接收表
* @return R
*/
@Operation(summary = "修改瓜子offer信息接收表", description = "修改瓜子offer信息接收表:hasPermission('archives_tgzofferinfo_edit')")
@SysLog("修改瓜子offer信息接收表" )
@PutMapping
@PreAuthorize("@pms.hasPermission('archives_tgzofferinfo_edit')" )
public R<Boolean> updateById(@RequestBody TGzOfferInfo tGzOfferInfo) {
return R.ok(tGzOfferInfoService.updateById(tGzOfferInfo));
}
/**
* 批量导入瓜子offer
* @author hgw
......
......@@ -21,6 +21,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TGzOfferInfo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TGzOfferInfoVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
......@@ -35,7 +36,7 @@ public interface TGzOfferInfoMapper extends BaseMapper<TGzOfferInfo> {
/**
* 瓜子offer信息接收表简单分页查询
* @param tGzOfferInfo 瓜子offer信息接收表
* @return
* @return IPage<TGzOfferInfoVo>
*/
IPage<TGzOfferInfo> getTGzOfferInfoPage(Page<TGzOfferInfo> page, @Param("tGzOfferInfo") TGzOfferInfo tGzOfferInfo);
IPage<TGzOfferInfoVo> getTGzOfferInfoPage(Page<TGzOfferInfoVo> page, @Param("tGzOfferInfo") TGzOfferInfoVo tGzOfferInfo);
}
......@@ -19,6 +19,8 @@ package com.yifu.cloud.plus.v1.yifu.archives.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TGzOfferInfoVo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TGzOfferInfo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
......@@ -39,7 +41,24 @@ public interface TGzOfferInfoService extends IService<TGzOfferInfo> {
* @param tGzOfferInfo 瓜子offer信息接收表
* @return
*/
IPage<TGzOfferInfo> getTGzOfferInfoPage(Page<TGzOfferInfo> page, TGzOfferInfo tGzOfferInfo);
IPage<TGzOfferInfoVo> getTGzOfferInfoPage(Page<TGzOfferInfoVo> page, TGzOfferInfoVo tGzOfferInfo);
TGzOfferInfo getDataById(Integer id);
/**
* 修改瓜子offer信息
* @param tGzOfferInfo 字典
* @return R<String>
*/
R<String> updateDataById(TGzOfferInfo tGzOfferInfo);
/**
* 瓜子offer手动状态更新
* @param tGzOfferInfo 字典
* @return R<String>
*/
R<String> updateStatus(TGzOfferInfo tGzOfferInfo);
R<List<ErrorMessage>> importDiy(InputStream inputStream);
......
......@@ -20,6 +20,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.archives.entity.LGuaziOfferRecord;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.LGuaziOfferRecordMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.LGuaziOfferRecordService;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
......
......@@ -24,7 +24,11 @@ import com.alibaba.excel.read.metadata.holder.ReadRowHolder;
import com.alibaba.excel.util.ListUtils;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysDict;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysOutEmpFormInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TGzOfferInfo;
import com.yifu.cloud.plus.v1.yifu.archives.mapper.TGzOfferInfoMapper;
import com.yifu.cloud.plus.v1.yifu.archives.service.TGzOfferInfoService;
......@@ -34,14 +38,27 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ErrorMessage;
import com.yifu.cloud.plus.v1.yifu.common.core.util.ExcelUtil;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TGzOfferInfoVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.Common;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.apache.commons.lang.ArrayUtils;
import org.springframework.stereotype.Service;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
/**
* 瓜子offer信息接收表
*
......@@ -52,16 +69,143 @@ import java.util.List;
@Service
@RequiredArgsConstructor
public class TGzOfferInfoServiceImpl extends ServiceImpl<TGzOfferInfoMapper, TGzOfferInfo> implements TGzOfferInfoService {
/**
* 瓜子offer信息接收表简单分页查询
* @param tGzOfferInfo 瓜子offer信息接收表
* @return
* @return IPage<TGzOfferInfoVo>
*/
@Override
public IPage<TGzOfferInfo> getTGzOfferInfoPage(Page<TGzOfferInfo> page, TGzOfferInfo tGzOfferInfo){
return baseMapper.getTGzOfferInfoPage(page,tGzOfferInfo);
public IPage<TGzOfferInfoVo> getTGzOfferInfoPage(Page<TGzOfferInfoVo> page, TGzOfferInfoVo tGzOfferInfo){
return baseMapper.getTGzOfferInfoPage(page,tGzOfferInfo);
}
@Override
public TGzOfferInfo getDataById(Integer id) {
return this.getInfoCommon(id);
}
/**
* 修改瓜子offer信息
*
* @param tGzOfferInfo 字典
* @return R<String>
*/
@Override
public R<String> updateDataById(TGzOfferInfo tGzOfferInfo) {
YifuUser user = SecurityUtils.getUser();
if (user == null || Common.isEmpty(user.getId())) {
return R.failed(CommonConstants.PLEASE_LOG_IN);
}
TGzOfferInfo findInfo = this.getInfoCommon(tGzOfferInfo.getId());
if (Common.isEmpty(findInfo)){
return R.failed(CommonConstants.ERROR_NO_DOMAIN);
}
tGzOfferInfo.setUpdateBy(user.getId());
tGzOfferInfo.setUpdateTime(LocalDateTime.now());
this.updateById(tGzOfferInfo);
// todo 记录offer操作日志
return R.ok(CommonConstants.RESULT_DATA_SUCESS);
}
/**
* 瓜子offer手动状态更新
*
* @param tGzOfferInfo 字典
* @return R<String>
*/
@Override
public R<String> updateStatus(TGzOfferInfo tGzOfferInfo) {
YifuUser user = SecurityUtils.getUser();
if (user == null || Common.isEmpty(user.getId())) {
return R.failed(CommonConstants.PLEASE_LOG_IN);
}
if(Common.isEmpty(tGzOfferInfo.getId())){
return R.failed(CommonConstants.PARAM_IS_NOT_EMPTY);
}
if(Common.isEmpty(tGzOfferInfo.getOfferStatus())){
return R.failed("更新状态不能为空");
}
TGzOfferInfo findInfo = this.getInfoCommon(tGzOfferInfo.getId());
if (Common.isEmpty(findInfo)){
return R.failed(CommonConstants.ERROR_NO_DOMAIN);
}
// 更新为同一状态的提示操作失败
if(findInfo.getOfferStatus().equals(tGzOfferInfo.getOfferStatus())){
return R.failed("当前Offer更新状态失败,请刷新页面后重试");
}
// 当前Offer更新状态,无法再发起更新:5:拒绝Offer、10:取消offer、8:合同审核通过、99:已归档
String[] forbidStatusArr = {"5", "10", "8","99"};
if (ArrayUtils.contains(forbidStatusArr, findInfo.getOfferStatus())) {
return R.failed("当前Offer更新状态,无法再发起更新");
}
// 获取当前状态下,允许更新的状态列表
List<String> allowUpdateStatusList = this.allowUpdateStatus(findInfo.getOfferStatus());
if(!allowUpdateStatusList.contains(tGzOfferInfo.getOfferStatus())){
return R.failed("当前Offer更新状态失败,禁止更新为所选状态,请刷新页面后重试");
}
// 更新状态
LambdaUpdateWrapper<TGzOfferInfo> updateOfferWrapper = new LambdaUpdateWrapper<>();
updateOfferWrapper.eq(TGzOfferInfo::getId, tGzOfferInfo.getId())
.set(TGzOfferInfo::getOfferStatus, tGzOfferInfo.getOfferStatus())
.set(TGzOfferInfo::getUpdateTime, LocalDateTime.now())
.set(TGzOfferInfo::getUpdateBy, user.getId());
this.update(null, updateOfferWrapper);
// todo 记录offer操作日志
return R.ok(CommonConstants.RESULT_DATA_SUCESS);
}
/**
* 获取当前状态下,允许更新的状态列表
*
* @param orgStatus 当前状态
* @return List<String> 允许更新的状态列表
*/
private List<String> allowUpdateStatus(String orgStatus){
List<String> allowUpdateStatusList = new ArrayList<>();
// 3:待发送Offer
if(CommonConstants.THREE_STRING.equals(orgStatus)){
// 可更新为:4:待接受Offer、10:取消offer
allowUpdateStatusList.add(CommonConstants.FOUR_STRING);
allowUpdateStatusList.add(CommonConstants.TEN_STRING);
}
// 4:待接受Offer
if(CommonConstants.FOUR_STRING.equals(orgStatus)){
// 可更新为:5:拒绝Offer、7:接受offer、10:取消offer
allowUpdateStatusList.add(CommonConstants.FIVE_STRING);
allowUpdateStatusList.add(CommonConstants.SEVEN_STRING);
allowUpdateStatusList.add(CommonConstants.TEN_STRING);
}
// 7:接受Offer
if(CommonConstants.SEVEN_STRING.equals(orgStatus)){
// 可更新为:98:信息待收集、10:取消offer
allowUpdateStatusList.add("98");
allowUpdateStatusList.add(CommonConstants.TEN_STRING);
}
// 98:信息待收集、9:候选人填写信息、12:候选人信息审核、97:候选人审核通过、13:待签署
if("98".equals(orgStatus) || CommonConstants.NINE_STRING.equals(orgStatus)
|| CommonConstants.TWELVE_STRING.equals(orgStatus) || "97".equals(orgStatus)
|| CommonConstants.THIRTEEN_STRING.equals(orgStatus)){
// 可更新为:10:取消offer
allowUpdateStatusList.add(CommonConstants.TEN_STRING);
}
return allowUpdateStatusList;
}
private TGzOfferInfo getInfoCommon(Integer id){
return this.getOne(Wrappers.<TGzOfferInfo>query().lambda()
.eq(TGzOfferInfo::getId, id)
.eq(TGzOfferInfo::getDelFlag, CommonConstants.ZERO_STRING)
.last(CommonConstants.LAST_ONE_SQL));
}
@Override
public R<List<ErrorMessage>> importDiy(InputStream inputStream) {
List<ErrorMessage> errorMessageList = new ArrayList<>();
......
......@@ -32,6 +32,8 @@
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="createName" column="create_name"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<sql id="Base_Column_List">
a.id,
......@@ -41,14 +43,16 @@
a.del_flag,
a.create_time,
a.create_by,
a.create_name
a.create_name,
a.update_by,
a.update_time
</sql>
<sql id="lGuaziOfferRecord_where">
<if test="lGuaziOfferRecord != null">
<if test="lGuaziOfferRecord.id != null and lGuaziOfferRecord.id.trim() != ''">
AND a.id = #{lGuaziOfferRecord.id}
</if>
<if test="lGuaziOfferRecord.offerId != null and lGuaziOfferRecord.offerId.trim() != ''">
<if test="lGuaziOfferRecord.offerId != null ">
AND a.offer_id = #{lGuaziOfferRecord.offerId}
</if>
<if test="lGuaziOfferRecord.content != null and lGuaziOfferRecord.content.trim() != ''">
......@@ -77,8 +81,12 @@
<include refid="Base_Column_List"/>
FROM l_guazi_offer_record a
<where>
1=1
a.del_flag = '0'
<if test="lGuaziOfferRecord.offerId == null">
AND a.offer_id = 0
</if>
<include refid="lGuaziOfferRecord_where"/>
</where>
ORDER by a.create_time desc,a.id desc
</select>
</mapper>
......@@ -164,7 +164,7 @@
<if test="tGzEmpInfo.id != null and tGzEmpInfo.id.trim() != ''">
AND a.id = #{tGzEmpInfo.id}
</if>
<if test="tGzEmpInfo.offerId != null and tGzEmpInfo.offerId.trim() != ''">
<if test="tGzEmpInfo.offerId != null ">
AND a.offer_id = #{tGzEmpInfo.offerId}
</if>
<if test="tGzEmpInfo.empPushStatus != null and tGzEmpInfo.empPushStatus.trim() != ''">
......@@ -367,8 +367,9 @@
<include refid="Base_Column_List"/>
FROM t_gz_emp_info a
<where>
1=1
a.del_flag = '0'
<include refid="tGzEmpInfo_where"/>
</where>
ORDER by a.create_time desc,a.id desc
</select>
</mapper>
......@@ -23,10 +23,9 @@
<mapper namespace="com.yifu.cloud.plus.v1.yifu.archives.mapper.TGzOfferInfoMapper">
<resultMap id="tGzOfferInfoMap" type="com.yifu.cloud.plus.v1.yifu.archives.entity.TGzOfferInfo">
<resultMap id="tGzOfferInfoMap" type="com.yifu.cloud.plus.v1.yifu.archives.vo.TGzOfferInfoVo">
<id property="id" column="id"/>
<result property="bizId" column="biz_id"/>
<result property="receiveTime" column="receive_time"/>
<result property="offerStatus" column="offer_status"/>
<result property="offerSendStatus" column="offer_send_status"/>
<result property="updateBy" column="update_by"/>
......@@ -63,11 +62,15 @@
<result property="beRegularEmpPay" column="be_regular_emp_pay"/>
<result property="applyUserEmail" column="apply_user_email"/>
<result property="delFlag" column="del_flag"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="createName" column="create_name"/>
<result property="updateBy" column="update_by"/>
<result property="updateTime" column="update_time"/>
</resultMap>
<sql id="Base_Column_List">
a.id,
a.biz_id,
a.receive_time,
a.offer_status,
a.offer_send_status,
a.update_by,
......@@ -103,18 +106,30 @@
a.house_acc_fund_base_max,
a.be_regular_emp_pay,
a.apply_user_email,
a.del_flag
a.del_flag,
a.create_time,
a.create_by,
a.create_name,
a.update_by,
a.update_time
</sql>
<sql id="tGzOfferInfo_where">
<if test="tGzOfferInfo != null">
<if test="tGzOfferInfo.id != null and tGzOfferInfo.id.trim() != ''">
<if test="tGzOfferInfo.id != null">
AND a.id = #{tGzOfferInfo.id}
</if>
<if test="tGzOfferInfo.bizId != null and tGzOfferInfo.bizId.trim() != ''">
AND a.biz_id = #{tGzOfferInfo.bizId}
</if>
<if test="tGzOfferInfo.receiveTime != null">
AND a.receive_time = #{tGzOfferInfo.receiveTime}
<if test="tGzOfferInfo.createTime != null">
AND a.create_time = #{tGzOfferInfo.receiveTime}
</if>
<!--查询接收时间-->
<if test="tGzOfferInfo.createTimeStart != null ">
AND a.create_time &gt;= concat(#{tGzOfferInfo.createTimeStart},' 00:00:00')
</if>
<if test="tGzOfferInfo.createTimeEnd != null ">
AND a.create_time &lt;= concat(#{tGzOfferInfo.createTimeEnd},' 23:59:59')
</if>
<if test="tGzOfferInfo.offerStatus != null and tGzOfferInfo.offerStatus.trim() != ''">
AND a.offer_status = #{tGzOfferInfo.offerStatus}
......@@ -141,7 +156,7 @@
AND a.comраnу = #{tGzOfferInfo.comраnу}
</if>
<if test="tGzOfferInfo.name != null and tGzOfferInfo.name.trim() != ''">
AND a.name = #{tGzOfferInfo.name}
AND a.name like concat('%',#{tGzOfferInfo.name},'%')
</if>
<if test="tGzOfferInfo.nameAc != null and tGzOfferInfo.nameAc.trim() != ''">
AND a.name_ac = #{tGzOfferInfo.nameAc}
......@@ -165,7 +180,7 @@
AND a.national_id_type_descr = #{tGzOfferInfo.nationalIdTypeDescr}
</if>
<if test="tGzOfferInfo.nationalId != null and tGzOfferInfo.nationalId.trim() != ''">
AND a.national_id = #{tGzOfferInfo.nationalId}
AND a.national_id like concat('%',#{tGzOfferInfo.nationalId},'%')
</if>
<if test="tGzOfferInfo.sex != null and tGzOfferInfo.sex.trim() != ''">
AND a.sex = #{tGzOfferInfo.sex}
......@@ -232,8 +247,9 @@
<include refid="Base_Column_List"/>
FROM t_gz_offer_info a
<where>
1=1
a.del_flag = '0'
<include refid="tGzOfferInfo_where"/>
</where>
ORDER by a.create_time desc,a.id desc
</select>
</mapper>
......@@ -20,12 +20,17 @@ package com.yifu.cloud.plus.v1.yifu.admin.api.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.validator.constraints.Length;
import java.io.Serializable;
/**
* 外部字典值数据表
......@@ -34,10 +39,10 @@ import org.hibernate.validator.constraints.Length;
* @date 2025-06-11 15:57:30
*/
@Data
@TableName("sys_out_rel_dict_item")
@EqualsAndHashCode(callSuper = true)
@TableName("sys_out_rel_dict_item")
@Schema(description = "外部字典值数据表")
public class SysOutRelDictItem extends BaseEntity {
public class SysOutRelDictItem extends Model<SysOutRelDictItem> {
/**
* 字典值ID
......@@ -48,25 +53,25 @@ public class SysOutRelDictItem extends BaseEntity {
/**
* 外部端所属字典类型
*/
@Length(max = 128, message = "外部端所属字典类型不能超过128个字符")
@Length(max = 100, message = "外部端所属字典类型不能超过128个字符")
@Schema(description = "外部端所属字典类型")
private String dictType;
/**
* 外部端字典值value
*/
@Length(max = 20, message = "外部端字典值value不能超过20个字符")
@Length(max = 100, message = "外部端字典值value不能超过20个字符")
@Schema(description = "外部端字典值value")
private String value;
/**
* 对照皖信所属字典类型
*/
@Schema(description = "对照皖信所属字典类型")
private Long sysDictType;
private String sysDictType;
/**
* 对照皖信字典值
*/
@Schema(description = "对照皖信字典值")
private Long sysDictValue;
private String sysDictValue;
/**
* 外部端标识(gz:瓜子)
*/
......
......@@ -16,10 +16,14 @@
*/
package com.yifu.cloud.plus.v1.yifu.admin.api.vo;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysDictItem;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysOutEmpFormInfo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.util.List;
import java.util.Map;
/**
* 瓜子采集字段配置表(前端用配置进行展示)
*
......@@ -35,5 +39,19 @@ public class SysOutEmpFormInfoVo extends SysOutEmpFormInfo {
@Schema(description = "选中ID,多个逗号分割")
private String ids;
@Schema(description = "分类名称")
private String categorizeName;
@Schema(description = "字典项列表")
private List<SysDictItem> dictItemList;
@Schema(description = "瓜子和皖信的字典值映射")
private List<Map<String,String>> relDictMapList;
@Schema(description = "瓜子字典项字符串")
private String dictItemStrs;
@Schema(description = "映射皖信的字典项字符串")
private String wxDictItemStrs;
}
......@@ -365,16 +365,14 @@ public class DictController {
}
/**
* 获取指定端下的字典列表
* 获取指定端下的字典内容列表
* @param clientId 客户端标识
* @author chenyx
* @date 2025-06-11 15:57:30
* @since 1.7.12
**/
@GetMapping("/getDictListByClientId")
@GetMapping("/getDictMapByClientId")
public R<Map<String,List<SysDictItem>>> getDictMapByClientId(@RequestParam String clientId) {
return new R<>(sysDictService.getDictMapByClientId(clientId));
}
}
......@@ -62,76 +62,71 @@ public class SysOutEmpFormInfoController {
}
/**
* 简单分页查询
* 瓜子&HRO映射关系表-分页查询
* @param page 分页对象
* @param sysOutEmpFormInfo 瓜子采集字段配置表(前端用配置进行展示)
* @return
* @return R<IPage<SysOutEmpFormInfoVo>>
*/
@Operation(description = "简单分页查询")
@Operation(description = "瓜子&HRO映射关系表-分页查询")
@GetMapping("/page")
public R<IPage<SysOutEmpFormInfoVo>> getSysOutEmpFormInfoPage(Page<SysOutEmpFormInfo> page, SysOutEmpFormInfoVo sysOutEmpFormInfo) {
return new R<>(sysOutEmpFormInfoService.getSysOutEmpFormInfoPage(page,sysOutEmpFormInfo));
return new R<>(sysOutEmpFormInfoService.getSysOutEmpFormInfoPage(page,sysOutEmpFormInfo));
}
/**
* 不分页查询
* 瓜子&HRO映射关系表-导出查询
* @param sysOutEmpFormInfo 瓜子采集字段配置表(前端用配置进行展示)
* @return
* @return R<List<SysOutEmpFormInfoVo>>
*/
@Operation(summary = "不分页查询", description = "不分页查询")
@PostMapping("/noPage" )
public R<List<SysOutEmpFormInfoVo>> getSysOutEmpFormInfoNoPage(@RequestBody SysOutEmpFormInfoVo sysOutEmpFormInfo) {
return R.ok(sysOutEmpFormInfoService.noPageDiy(sysOutEmpFormInfo));
@Operation(summary = "瓜子&HRO映射关系表-导出查询")
@GetMapping("/list" )
public R<List<SysOutEmpFormInfoVo>> getSysOutEmpFormInfoNoPage(SysOutEmpFormInfoVo sysOutEmpFormInfo) {
return new R<>(sysOutEmpFormInfoService.noPageDiy(sysOutEmpFormInfo));
}
/**
* 瓜子&HRO映射关系表-下拉列表
* @return R<List<SysOutEmpFormInfo>>
*/
@Operation(summary = "瓜子&HRO映射关系表-下拉列表")
@GetMapping("/select" )
public R<List<SysOutEmpFormInfo>> getSysOutEmpFormSelect() {
return new R<>(sysOutEmpFormInfoService.getSysOutEmpFormSelect());
}
/**
* 通过id查询瓜子采集字段配置表(前端用配置进行展示)
* 通过id查询瓜子采集字段配置
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('admin_sysoutempforminfo_get')")
@Operation(summary = "通过id查询瓜子采集字段配置")
@GetMapping("/{id}" )
@PreAuthorize("@pms.hasPermission('admin_sysoutempforminfo_get')" )
public R<SysOutEmpFormInfo> getById(@PathVariable("id" ) String id) {
return R.ok(sysOutEmpFormInfoService.getById(id));
public R<SysOutEmpFormInfoVo> getDataById(@PathVariable("id" ) String id) {
return R.ok(sysOutEmpFormInfoService.getDataById(id));
}
/**
* 新增瓜子采集字段配置表(前端用配置进行展示)
* @param sysOutEmpFormInfo 瓜子采集字段配置表(前端用配置进行展示)
* @return R
*/
@Operation(summary = "新增瓜子采集字段配置表(前端用配置进行展示)", description = "新增瓜子采集字段配置表(前端用配置进行展示):hasPermission('admin_sysoutempforminfo_add')")
@SysLog("新增瓜子采集字段配置表(前端用配置进行展示)" )
@PostMapping
@PreAuthorize("@pms.hasPermission('admin_sysoutempforminfo_add')" )
public R<Boolean> save(@RequestBody SysOutEmpFormInfo sysOutEmpFormInfo) {
return R.ok(sysOutEmpFormInfoService.save(sysOutEmpFormInfo));
}
/**
* 通过id查询瓜子和皖信映射关系配置详情
* @param id id
* @return R
*/
@Operation(summary = "通过id查询瓜子和皖信映射关系配置详情")
@GetMapping("relWx/{id}" )
public R<SysOutEmpFormInfoVo> getRelWxDataById(@PathVariable("id" ) String id) {
return R.ok(sysOutEmpFormInfoService.getRelWxDataById(id));
}
/**
* 修改瓜子采集字段配置表(前端用配置进行展示)
* @param sysOutEmpFormInfo 瓜子采集字段配置表(前端用配置进行展示)
* 修改瓜子采集字段配置
* @param sysOutEmpFormInfo 瓜子采集字段配置信息
* @return R
*/
@Operation(summary = "修改瓜子采集字段配置表(前端用配置进行展示)", description = "修改瓜子采集字段配置表(前端用配置进行展示):hasPermission('admin_sysoutempforminfo_edit')")
@SysLog("修改瓜子采集字段配置表(前端用配置进行展示)" )
@Operation(summary = "修改瓜子采集字段配置")
@SysLog("修改瓜子采集字段配置" )
@PutMapping
@PreAuthorize("@pms.hasPermission('admin_sysoutempforminfo_edit')" )
public R<Boolean> updateById(@RequestBody SysOutEmpFormInfo sysOutEmpFormInfo) {
return R.ok(sysOutEmpFormInfoService.updateById(sysOutEmpFormInfo));
// @PreAuthorize("@pms.hasPermission('admin_sysoutempforminfo_edit')" )
public R<String> updateById(@RequestBody SysOutEmpFormInfo sysOutEmpFormInfo) {
return sysOutEmpFormInfoService.updateOutEmpFormInfo(sysOutEmpFormInfo);
}
/**
* 通过id删除瓜子采集字段配置表(前端用配置进行展示)
* @param id id
* @return R
*/
@Operation(summary = "通过id删除瓜子采集字段配置表(前端用配置进行展示)", description = "通过id删除瓜子采集字段配置表(前端用配置进行展示):hasPermission('admin_sysoutempforminfo_del')")
@SysLog("通过id删除瓜子采集字段配置表(前端用配置进行展示)" )
@DeleteMapping("/{id}" )
@PreAuthorize("@pms.hasPermission('admin_sysoutempforminfo_del')" )
public R<Boolean> removeById(@PathVariable String id) {
return R.ok(sysOutEmpFormInfoService.removeById(id));
}
}
......@@ -25,6 +25,8 @@ import com.yifu.cloud.plus.v1.yifu.admin.api.vo.SysOutEmpFormInfoVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 瓜子采集字段配置表(前端用配置进行展示)
*
......@@ -38,5 +40,10 @@ public interface SysOutEmpFormInfoMapper extends BaseMapper<SysOutEmpFormInfo> {
* @param sysOutEmpFormInfo 瓜子采集字段配置表(前端用配置进行展示)
* @return
*/
IPage<SysOutEmpFormInfoVo> getSysOutEmpFormInfoPage(Page<SysOutEmpFormInfo> page, @Param("sysOutEmpFormInfo") SysOutEmpFormInfoVo sysOutEmpFormInfo);
IPage<SysOutEmpFormInfoVo> getSysOutEmpFormInfoPage(Page<SysOutEmpFormInfo> page,
@Param("sysOutEmpFormInfo") SysOutEmpFormInfoVo sysOutEmpFormInfo);
List<SysOutEmpFormInfoVo> getSysOutEmpFormInfoList(@Param("sysOutEmpFormInfo") SysOutEmpFormInfoVo sysOutEmpFormInfo);
}
......@@ -23,6 +23,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysOutEmpFormInfo;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.SysOutEmpCategorizeFormInfoVo;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.SysOutEmpFormInfoVo;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import java.util.List;
/**
......@@ -40,11 +42,41 @@ public interface SysOutEmpFormInfoService extends IService<SysOutEmpFormInfo> {
List<SysOutEmpCategorizeFormInfoVo> getConfigList(String isLookToc);
/**
* 瓜子采集字段配置表(前端用配置进行展示)简单分页查询
* @param sysOutEmpFormInfo 瓜子采集字段配置表(前端用配置进行展示)
* @return
* 瓜子&HRO映射关系表-分页查询
* @param sysOutEmpFormInfo 查询信息
* @return IPage<SysOutEmpFormInfoVo>
*/
IPage<SysOutEmpFormInfoVo> getSysOutEmpFormInfoPage(Page<SysOutEmpFormInfo> page, SysOutEmpFormInfoVo sysOutEmpFormInfo);
List<SysOutEmpFormInfoVo> noPageDiy(SysOutEmpFormInfoVo sysOutEmpFormInfo);
/**
* 瓜子&HRO映射关系表-下拉列表
* @return List<SysOutEmpFormInfo>
*/
List<SysOutEmpFormInfo> getSysOutEmpFormSelect();
/**
* 通过id查询瓜子采集字段配置
* @param id 主键
* @return SysOutEmpFormInfoVo
*/
SysOutEmpFormInfoVo getDataById(String id);
/**
* 通过id查询瓜子和皖信映射关系配置详情
* @param id 主键
* @return SysOutEmpFormInfoVo
*/
SysOutEmpFormInfoVo getRelWxDataById(String id);
/**
* 修改瓜子采集字段配置
* @param sysOutEmpFormInfo 字典
* @return R<String>
*/
R<String> updateOutEmpFormInfo(SysOutEmpFormInfo sysOutEmpFormInfo);
}
......@@ -176,7 +176,6 @@ public class SysDictServiceImpl extends ServiceImpl<SysDictMapper, SysDict> impl
// 获取指定分类下的配置字段
List<SysDictItem> dictListByCategorize = dictMap.get(dictInfo.getType());
if(Common.isEmpty(dictListByCategorize)) {
// 关联的模块列表
dictListByCategorize = new ArrayList<>();
}
dictListByCategorize.add(dictInfo);
......
......@@ -17,19 +17,29 @@
package com.yifu.cloud.plus.v1.yifu.admin.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysDictItem;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysOutEmpCategorizeFormInfo;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysOutEmpFormInfo;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysOutRelDictItem;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.SysOutEmpCategorizeFormInfoVo;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.SysOutEmpFormInfoVo;
import com.yifu.cloud.plus.v1.yifu.admin.mapper.SysDictItemMapper;
import com.yifu.cloud.plus.v1.yifu.admin.mapper.SysOutEmpFormInfoMapper;
import com.yifu.cloud.plus.v1.yifu.admin.mapper.SysOutRelDictItemMapper;
import com.yifu.cloud.plus.v1.yifu.admin.service.SysOutEmpCategorizeFormInfoService;
import com.yifu.cloud.plus.v1.yifu.admin.service.SysOutEmpFormInfoService;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ClientNameConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
......@@ -52,6 +62,10 @@ public class SysOutEmpFormInfoServiceImpl extends ServiceImpl<SysOutEmpFormInfoM
private final SysOutEmpCategorizeFormInfoService categorizeFormInfoService;
private final SysDictItemMapper dictItemMapper;
private final SysOutRelDictItemMapper outRelDictItemMapper;
/**
* 瓜子C端采集配置列表
*
......@@ -96,32 +110,303 @@ public class SysOutEmpFormInfoServiceImpl extends ServiceImpl<SysOutEmpFormInfoM
}
/**
* 瓜子采集字段配置表(前端用配置进行展示)简单分页查询
*
* @param sysOutEmpFormInfo 瓜子采集字段配置表(前端用配置进行展示)
* @return
* 瓜子&HRO映射关系表-分页查询
* @param sysOutEmpFormInfo 查询信息
* @return IPage<SysOutEmpFormInfoVo>
*/
@Override
public IPage<SysOutEmpFormInfoVo> getSysOutEmpFormInfoPage(Page<SysOutEmpFormInfo> page, SysOutEmpFormInfoVo sysOutEmpFormInfo) {
return baseMapper.getSysOutEmpFormInfoPage(page, sysOutEmpFormInfo);
IPage<SysOutEmpFormInfoVo> formInfoVoIPage = baseMapper.getSysOutEmpFormInfoPage(page, sysOutEmpFormInfo);
handleCommonFormInfoVoList(formInfoVoIPage.getRecords());
return formInfoVoIPage;
}
@Override
public List<SysOutEmpFormInfoVo> noPageDiy(SysOutEmpFormInfoVo searchVo) {
LambdaQueryWrapper<SysOutEmpFormInfo> wrapper = buildQueryWrapper(searchVo);
public List<SysOutEmpFormInfoVo> noPageDiy(SysOutEmpFormInfoVo sysOutEmpFormInfo) {
wrapper.orderByDesc(BaseEntity::getCreateTime);
return null;
List<SysOutEmpFormInfoVo> formInfoVoList = baseMapper.getSysOutEmpFormInfoList(sysOutEmpFormInfo);
handleCommonFormInfoVoList(formInfoVoList);
return formInfoVoList;
}
/**
* 处理分页和导出组装数据信息
*/
private void handleCommonFormInfoVoList(List<SysOutEmpFormInfoVo> formInfoVoList){
if(Common.isNotNull(formInfoVoList)){
// 赋值所属分类
Set<String> categorizeIdSet = formInfoVoList.stream().map(SysOutEmpFormInfoVo::getCategorizeId).collect(Collectors.toSet());
Map<String, String> categorizeMap = new HashMap<>();
// 拼分类信息
List<SysOutEmpCategorizeFormInfo> categorizeList = categorizeFormInfoService.list(
Wrappers.<SysOutEmpCategorizeFormInfo>query().lambda()
.in(SysOutEmpCategorizeFormInfo::getId,categorizeIdSet)
.eq(SysOutEmpCategorizeFormInfo::getDelFlag, CommonConstants.ZERO_STRING));
if (Common.isNotNull(categorizeList)){
categorizeMap = categorizeList.stream().collect(Collectors.toMap(SysOutEmpCategorizeFormInfo::getId, SysOutEmpCategorizeFormInfo::getName));
}
// 处理字典值展示
Set<String> gzDictTypeSet = formInfoVoList.stream().map(SysOutEmpFormInfoVo::getDictType).collect(Collectors.toSet());
// 获取瓜子的字典值内容
Map<String,List<String>> gzDictMap = new HashMap<>();
// 获取瓜子映射的皖信字典值内容
Map<String,List<String>> relWxDictMap = new HashMap<>();
if(Common.isNotNull(gzDictTypeSet)){
List<SysDictItem> gzDictList = dictItemMapper.selectList(Wrappers.<SysDictItem>query().lambda()
.eq(SysDictItem::getDelFlag, CommonConstants.ZERO_STRING)
.eq(SysDictItem::getDisable, CommonConstants.ZERO_STRING)
.in(SysDictItem::getType, gzDictTypeSet)
.eq(SysDictItem::getClientId, ClientNameConstants.CLIENT_GZ)
.orderByAsc(SysDictItem::getSortOrder).orderByAsc(SysDictItem::getId)
);
// 获取瓜子的字典值内容,组成Map
if(Common.isNotNull(gzDictList)){
for(SysDictItem dictInfo : gzDictList){
List<String> dictList = gzDictMap.get(dictInfo.getType());
if(Common.isEmpty(dictList)) {
dictList = new ArrayList<>();
}
dictList.add(dictInfo.getLabel());
gzDictMap.put(dictInfo.getType(), dictList);
}
}
// 获取瓜子映射的皖信字典值内容,组成Map
List<SysOutRelDictItem> outRelDictItemList = outRelDictItemMapper.selectList(Wrappers.<SysOutRelDictItem>query().lambda()
.in(SysOutRelDictItem::getDictType, gzDictTypeSet)
.eq(SysOutRelDictItem::getClientId, ClientNameConstants.CLIENT_GZ));
if(Common.isNotNull(outRelDictItemList)){
Set<String> wxDictTypeSet = new HashSet<>();
Map<String,String> outRelDictMap = new HashMap<>();
for(SysOutRelDictItem outRelDictItem : outRelDictItemList){
wxDictTypeSet.add(outRelDictItem.getSysDictType());
outRelDictMap.put(outRelDictItem.getSysDictType(),outRelDictItem.getDictType());
}
List<SysDictItem> wxDictList = dictItemMapper.selectList(Wrappers.<SysDictItem>query().lambda()
.eq(SysDictItem::getDelFlag, CommonConstants.ZERO_STRING)
.eq(SysDictItem::getDisable, CommonConstants.ZERO_STRING)
.in(SysDictItem::getType, wxDictTypeSet)
.eq(SysDictItem::getClientId, ClientNameConstants.CLIENT_MVP)
.orderByAsc(SysDictItem::getSortOrder).orderByAsc(SysDictItem::getId)
);
// 获取瓜子映射的皖信字典值内容,组成Map
if(Common.isNotNull(wxDictList)){
for(SysDictItem wxDictInfo : wxDictList){
// 获取皖信字典对应的瓜子字典
String gzDictType = outRelDictMap.get(wxDictInfo.getType());
if(Common.isNotNull(gzDictType)){
// 将皖信的字典值列表,放到瓜子字典映射Map里
List<String> wxDictInfoList = relWxDictMap.get(gzDictType);
if(Common.isEmpty(wxDictInfoList)) {
wxDictInfoList = new ArrayList<>();
}
wxDictInfoList.add(wxDictInfo.getLabel());
relWxDictMap.put(gzDictType, wxDictInfoList);
}
}
private LambdaQueryWrapper buildQueryWrapper(SysOutEmpFormInfoVo entity) {
LambdaQueryWrapper<SysOutEmpFormInfo> wrapper = Wrappers.lambdaQuery();
}
if (Common.isNotNull(entity.getCreateName())) {
wrapper.eq(SysOutEmpFormInfo::getCreateName, entity.getCreateName());
}
}
// 赋值 分类名称、字典内容数据
for(SysOutEmpFormInfoVo outEmpFormInfoVo : formInfoVoList){
if(Common.isNotNull(outEmpFormInfoVo.getDictType())){
// 赋值瓜子字典项字符串
List<String> gzDictOneList = gzDictMap.get(outEmpFormInfoVo.getDictType());
if(Common.isNotNull(gzDictOneList)){
outEmpFormInfoVo.setDictItemStrs(String.join(",", gzDictOneList));
}
// 赋值映射皖信的字典项字符串
List<String> wxDictOneList = relWxDictMap.get(outEmpFormInfoVo.getDictType());
if(Common.isNotNull(wxDictOneList)){
outEmpFormInfoVo.setWxDictItemStrs(String.join(",", wxDictOneList));
}
}
// 赋值所属分类名称
if(Common.isNotNull(outEmpFormInfoVo.getCategorizeId())){
outEmpFormInfoVo.setCategorizeName(categorizeMap.get(outEmpFormInfoVo.getCategorizeId()));
}
}
}
return wrapper;
}
/**
* 瓜子&HRO映射关系表-下拉列表
* @return List<SysOutEmpFormInfo>
*/
@Override
public List<SysOutEmpFormInfo> getSysOutEmpFormSelect() {
return this.list(Wrappers.<SysOutEmpFormInfo>query().lambda()
.eq(SysOutEmpFormInfo::getDelFlag, CommonConstants.ZERO_STRING)
.eq(SysOutEmpFormInfo::getFieldStatus, CommonConstants.ZERO_STRING)
.orderByAsc(SysOutEmpFormInfo::getSort).orderByAsc(SysOutEmpFormInfo::getId)
);
}
/**
* 通过id查询瓜子采集字段配置
*
* @param id 主键
* @return SysOutEmpFormInfoVo
*/
@Override
public SysOutEmpFormInfoVo getDataById(String id) {
SysOutEmpFormInfoVo formInfoVo = this.getInfoVoCommon(id);
// 拼分类信息
SysOutEmpCategorizeFormInfo categorizeInfo = categorizeFormInfoService.getOne(
Wrappers.<SysOutEmpCategorizeFormInfo>query().lambda()
.eq(SysOutEmpCategorizeFormInfo::getId,formInfoVo.getCategorizeId())
.eq(SysOutEmpCategorizeFormInfo::getDelFlag, CommonConstants.ZERO_STRING)
.last(CommonConstants.LAST_ONE_SQL));
if (Common.isNotNull(categorizeInfo)){
formInfoVo.setCategorizeName(categorizeInfo.getName());
}
// 拼字典列表
if(Common.isNotNull(formInfoVo.getDictType())){
List<SysDictItem> sysDictList = dictItemMapper.selectList(Wrappers.<SysDictItem>query().lambda()
.eq(SysDictItem::getDelFlag, CommonConstants.ZERO_STRING)
.eq(SysDictItem::getDisable, CommonConstants.ZERO_STRING)
.eq(SysDictItem::getType, formInfoVo.getDictType())
.eq(SysDictItem::getClientId, ClientNameConstants.CLIENT_GZ)
.orderByAsc(SysDictItem::getSortOrder).orderByAsc(SysDictItem::getId)
);
formInfoVo.setDictItemList(sysDictList);
}
return formInfoVo;
}
/**
* 通过id查询瓜子和皖信映射关系配置详情
*
* @param id 主键
* @return SysOutEmpFormInfoVo
*/
@Override
public SysOutEmpFormInfoVo getRelWxDataById(String id) {
SysOutEmpFormInfoVo formInfoVo = this.getInfoVoCommon(id);
// 有字典并且有映射皖信字典的
if(Common.isNotNull(formInfoVo.getDictType()) && CommonConstants.ONE_STRING.equals(formInfoVo.getWanxinMappingType())){
// 瓜子的值 对应的 皖信的值
Map<String,String> relDictValueByTypeMap = new HashMap<>();
// 皖信的值 对应的 皖信的标识
Map<String,String> wxDictLabelByValueMap = new HashMap<>();
// 获取瓜子映射的皖信字典值内容,组成Map
List<SysOutRelDictItem> outRelDictItemList = outRelDictItemMapper.selectList(Wrappers.<SysOutRelDictItem>query().lambda()
.eq(SysOutRelDictItem::getDictType, formInfoVo.getDictType())
.eq(SysOutRelDictItem::getClientId, ClientNameConstants.CLIENT_GZ));
if(Common.isNotNull(outRelDictItemList)){
String wxDictType = outRelDictItemList.get(0).getSysDictType();
// 收集瓜子的字典值
//Set<String> gzDictValueSet = new HashSet<>();
for(SysOutRelDictItem outRelDictItem : outRelDictItemList){
// 收集瓜子的字典值
//gzDictValueSet.add(outRelDictItem.getValue());
// 瓜子的值 对应的 皖信的值
relDictValueByTypeMap.put(outRelDictItem.getValue(), outRelDictItem.getSysDictValue());
}
// 获取瓜子的字典值和标签
List<SysDictItem> gzDictItemList = dictItemMapper.selectList(Wrappers.<SysDictItem>query().lambda()
.eq(SysDictItem::getDelFlag, CommonConstants.ZERO_STRING)
.eq(SysDictItem::getDisable, CommonConstants.ZERO_STRING)
.eq(SysDictItem::getType, formInfoVo.getDictType())
.eq(SysDictItem::getClientId, ClientNameConstants.CLIENT_GZ)
.orderByAsc(SysDictItem::getSortOrder).orderByAsc(SysDictItem::getId)
);
if(Common.isNotNull(gzDictItemList)){
// 获取皖信的字典值和标签
List<SysDictItem> wxDictItemList = dictItemMapper.selectList(Wrappers.<SysDictItem>query().lambda()
.eq(SysDictItem::getDelFlag, CommonConstants.ZERO_STRING)
.eq(SysDictItem::getDisable, CommonConstants.ZERO_STRING)
.eq(SysDictItem::getType, wxDictType)
.eq(SysDictItem::getClientId, ClientNameConstants.CLIENT_MVP)
);
if(Common.isNotNull(wxDictItemList)){
for(SysDictItem wxDictInfo : wxDictItemList){
wxDictLabelByValueMap.put(wxDictInfo.getValue(),wxDictInfo.getLabel());
}
}
// 定义瓜子字典标签和皖信字典标签的映射关系
List<Map<String,String>> relDictLabelMapList = new ArrayList<>();
for(SysDictItem gzDictInfo : gzDictItemList){
Map<String,String> relDictLabelMap = new HashMap<>();
String gzLabel = gzDictInfo.getLabel();
String relWxValue = relDictValueByTypeMap.get(gzDictInfo.getValue());
if(Common.isNotNull(relWxValue)){
relDictLabelMap.put(gzLabel,wxDictLabelByValueMap.get(relWxValue));
}
relDictLabelMapList.add(relDictLabelMap);
}
formInfoVo.setRelDictMapList(relDictLabelMapList);
}
}
}
return formInfoVo;
}
private SysOutEmpFormInfoVo getInfoVoCommon(String id){
SysOutEmpFormInfoVo formInfoVo = new SysOutEmpFormInfoVo();
SysOutEmpFormInfo formInfo = this.getOne(Wrappers.<SysOutEmpFormInfo>query().lambda()
.eq(SysOutEmpFormInfo::getId,id)
.eq(SysOutEmpFormInfo::getDelFlag, CommonConstants.ZERO_STRING)
.last(CommonConstants.LAST_ONE_SQL));
if (Common.isEmpty(formInfo)){
return formInfoVo;
}
BeanUtils.copyProperties(formInfo, formInfoVo);
return formInfoVo;
}
/**
* 修改瓜子采集字段配置
*
* @param sysOutEmpFormInfo 字典
* @return R<String>
*/
@Override
public R<String> updateOutEmpFormInfo(SysOutEmpFormInfo sysOutEmpFormInfo) {
YifuUser user = SecurityUtils.getUser();
if (user == null || Common.isEmpty(user.getId())) {
return R.failed(CommonConstants.PLEASE_LOG_IN);
}
SysOutEmpFormInfo formInfo = this.getOne(Wrappers.<SysOutEmpFormInfo>query().lambda()
.eq(SysOutEmpFormInfo::getId,sysOutEmpFormInfo.getId())
.eq(SysOutEmpFormInfo::getDelFlag, CommonConstants.ZERO_STRING)
.last(CommonConstants.LAST_ONE_SQL));
if (Common.isEmpty(formInfo)){
return R.failed(CommonConstants.ERROR_NO_DOMAIN);
}
sysOutEmpFormInfo.setUpdateBy(user.getId());
sysOutEmpFormInfo.setUpdateTime(LocalDateTime.now());
this.updateById(sysOutEmpFormInfo);
return R.ok(CommonConstants.RESULT_DATA_SUCESS);
}
}
......@@ -40,18 +40,8 @@ public class SysOutRelDictItemServiceImpl extends ServiceImpl<SysOutRelDictItemM
@Override
public List<SysOutRelDictItem> noPageDiy(SysOutRelDictItem searchVo) {
LambdaQueryWrapper<SysOutRelDictItem> wrapper = buildQueryWrapper(searchVo);
wrapper.orderByDesc(BaseEntity::getCreateTime);
return baseMapper.selectList(wrapper);
}
private LambdaQueryWrapper buildQueryWrapper(SysOutRelDictItem entity){
LambdaQueryWrapper<SysOutRelDictItem> wrapper = Wrappers.lambdaQuery();
if (Common.isNotNull(entity.getCreateName())){
wrapper.eq(SysOutRelDictItem::getCreateName,entity.getCreateName());
}
return wrapper;
return null;
}
}
......@@ -91,7 +91,7 @@
AND a.field_name = #{sysOutEmpFormInfo.fieldName}
</if>
<if test="sysOutEmpFormInfo.fieldZhName != null and sysOutEmpFormInfo.fieldZhName.trim() != ''">
AND a.field_zh_name = #{sysOutEmpFormInfo.fieldZhName}
AND a.field_zh_name LIKE CONCAT('%',#{sysOutEmpFormInfo.fieldZhName},'%')
</if>
<if test="sysOutEmpFormInfo.sort != null">
AND a.sort = #{sysOutEmpFormInfo.sort}
......@@ -148,7 +148,7 @@
AND a.wanxin_field_name = #{sysOutEmpFormInfo.wanxinFieldName}
</if>
<if test="sysOutEmpFormInfo.wanxinFieldZhName != null and sysOutEmpFormInfo.wanxinFieldZhName.trim() != ''">
AND a.wanxin_field_zh_name = #{sysOutEmpFormInfo.wanxinFieldZhName}
AND a.wanxin_field_zh_name LIKE CONCAT('%',#{sysOutEmpFormInfo.wanxinFieldZhName},'%')
</if>
<if test="sysOutEmpFormInfo.wanxinFieldType != null and sysOutEmpFormInfo.wanxinFieldType.trim() != ''">
AND a.wanxin_field_type = #{sysOutEmpFormInfo.wanxinFieldType}
......@@ -167,8 +167,20 @@
<include refid="Base_Column_List"/>
FROM sys_out_emp_form_info a
<where>
1=1
a.del_flag = '0'
<include refid="sysOutEmpFormInfo_where"/>
</where>
order by a.sort, CAST(a.id AS UNSIGNED)
</select>
<select id="getSysOutEmpFormInfoList" resultType="com.yifu.cloud.plus.v1.yifu.admin.api.vo.SysOutEmpFormInfoVo">
SELECT
<include refid="Base_Column_List"/>
FROM sys_out_emp_form_info a
<where>
a.del_flag = '0'
<include refid="sysOutEmpFormInfo_where"/>
</where>
order by a.sort, CAST(a.id AS UNSIGNED)
</select>
</mapper>
......@@ -61,14 +61,4 @@
</if>
</if>
</sql>
<!--sysOutRelDictItem简单分页查询-->
<select id="getSysOutRelDictItemPage" resultMap="sysOutRelDictItemMap">
SELECT
<include refid="Base_Column_List"/>
FROM sys_out_rel_dict_item a
<where>
1=1
<include refid="sysOutRelDictItem_where"/>
</where>
</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