Commit 20ea9b8c authored by hongguangwu's avatar hongguangwu

Merge remote-tracking branch 'origin/MVP1.7.20' into MVP1.7.20

parents b79e61b6 1ba39a2d
......@@ -350,7 +350,6 @@ public class TEmpContractAlert extends BaseEntity {
/**
* 前端客服
*/
@TableField(exist = false)
@ExcelAttribute(name = "前端客服" )
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("前端客服")
......@@ -360,7 +359,6 @@ public class TEmpContractAlert extends BaseEntity {
/**
* 前端客服
*/
@TableField(exist = false)
@ExcelAttribute(name = "前端客服" )
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("前端客服")
......
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.TableField;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmpContractAlert;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import java.time.LocalDateTime;
import java.util.List;
......@@ -27,6 +31,12 @@ public class ContractAlertSearchVo extends TEmpContractAlert {
@Schema(description = "创建时间区间")
private LocalDateTime[] createTimes;
/**
* 预计合同发起时间区间 [开始时间,结束时间]
*/
@Schema(description = "预计合同发起时间区间")
private LocalDateTime[] startEndTimecreate;
/**
* @Author fxj
* 查询数据起
......@@ -51,12 +61,12 @@ public class ContractAlertSearchVo extends TEmpContractAlert {
/**
* @Author fxj
* 合同截止时间区间查询--开始
* 合同预计发起时间区间查询--开始
**/
private LocalDateTime expectedCollectionTimeStart;
/**
* @Author fxj
* 合同截止时间区间查询--截止
* 合同预计发起时间区间查询--截止
**/
private LocalDateTime expectedCollectionTimeEnd;
......@@ -75,6 +85,15 @@ public class ContractAlertSearchVo extends TEmpContractAlert {
/**
* 合同IDS
*/
@TableField(exist = false)
@Schema(description = "合同IDS")
private List<String> idList;
@Schema(description = "处理状态数组")
@TableField(exist = false)
private List<String> statusList;
@TableField(exist = false)
@Schema(description = "前端客服")
private String customerUserLoginname;
}
......@@ -37,7 +37,7 @@ public class TEmployeeContractPreNewSearchVo extends TEmployeeContractPreNew {
* 多选导出或删除等操作
*/
@Schema(description = "选中ID,多个逗号分割")
private String ids;
private List<String> ids;
/**
* 创建时间区间 [开始时间,结束时间]
......
......@@ -22,10 +22,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractInfo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractPreNew;
import com.yifu.cloud.plus.v1.yifu.archives.service.TEmployeeContractPreNewService;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeAutoRegistRevokeVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeContractPreNewDetailVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeContractPreNewSearchVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeContractPreNewVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.*;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
......@@ -75,8 +72,8 @@ public class TEmployeeContractPreNewController {
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/getDetailList")
public R<List<TEmployeeContractPreNewDetailVo>> getDetailList( TEmployeeContractPreNewSearchVo tEmployeeContractPreNew) {
@PostMapping("/getDetailList")
public R<List<TEmployeeContractPreNewDetailVo>> getDetailList(@RequestBody ContractAlertSearchVo tEmployeeContractPreNew) {
return tEmployeeContractPreNewService.getDetailList(tEmployeeContractPreNew);
}
/**
......@@ -87,8 +84,8 @@ public class TEmployeeContractPreNewController {
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/getDetailListCount")
public R<Integer> getDetailListCount( TEmployeeContractPreNewSearchVo tEmployeeContractPreNew) {
@PostMapping("/getDetailListCount")
public R<Integer> getDetailListCount(@RequestBody ContractAlertSearchVo tEmployeeContractPreNew) {
return tEmployeeContractPreNewService.getDetailListCount(tEmployeeContractPreNew);
}
......@@ -111,7 +108,7 @@ public class TEmployeeContractPreNewController {
* @param id id
* @return R
*/
@Operation(summary = "通过id查询", description = "通过id查询:hasPermission('archives_temployeecontractprenew_get')")
@Operation(summary = "通过id查询", description = "通过id查询")
@GetMapping("/{id}")
public R<TEmployeeContractPreNew> getById(@PathVariable("id") String id) {
return R.ok(tEmployeeContractPreNewService.getById(id));
......
......@@ -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.TEmployeeContractPreNew;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ContractAlertSearchVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.EmployeeContractVO;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeContractPreNewDetailVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeContractPreNewSearchVo;
......@@ -47,9 +48,9 @@ public interface TEmployeeContractPreNewMapper extends BaseMapper<TEmployeeContr
List<EmployeeContractVO> getDisPatcherContractListRenew(@Param("idList") List<String> idList,@Param("statusList") List<String> statusList,@Param("type") String type);
List<TEmployeeContractPreNewDetailVo> getDetailList(@Param("tEmployeeContractPreNew")TEmployeeContractPreNewSearchVo tEmployeeContractPreNew);
List<TEmployeeContractPreNewDetailVo> getDetailList(@Param("tEmpContractAlert") ContractAlertSearchVo tEmployeeContractPreNew);
List<String> getUnDispatchList();
int getDetailListCount(@Param("tEmployeeContractPreNew")TEmployeeContractPreNewSearchVo tEmployeeContractPreNew);
int getDetailListCount(@Param("tEmpContractAlert") ContractAlertSearchVo tEmployeeContractPreNew);
}
......@@ -23,12 +23,9 @@ import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractPre;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TEmployeeContractPreNew;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeAutoRegistRevokeVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeContractPreNewDetailVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TEmployeeContractPreNewVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.*;
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.archives.vo.TEmployeeContractPreNewSearchVo;
import javax.servlet.http.HttpServletResponse;
import java.io.InputStream;
......@@ -71,7 +68,7 @@ public interface TEmployeeContractPreNewService extends IService<TEmployeeContra
R<TEmployeeContractPreNew> getInfoByPreId(String preId);
R<List<TEmployeeContractPreNewDetailVo>> getDetailList(TEmployeeContractPreNewSearchVo tEmployeeContractPreNew);
R<List<TEmployeeContractPreNewDetailVo>> getDetailList(ContractAlertSearchVo tEmployeeContractPreNew);
R<TEmployeeContractInfo> getRenewContractByPreId(String preId);
......@@ -79,7 +76,7 @@ public interface TEmployeeContractPreNewService extends IService<TEmployeeContra
void pushDisConfrimContracts();
R<Integer> getDetailListCount(TEmployeeContractPreNewSearchVo tEmployeeContractPreNew);
R<Integer> getDetailListCount(ContractAlertSearchVo tEmployeeContractPreNew);
R getContractTerm(String startDate, String endDate);
}
......@@ -52,6 +52,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.UpmsDaprUtils;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.social.entity.TSocialFundInfo;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -1088,11 +1089,16 @@ public class TEmpContractAlertServiceImpl extends ServiceImpl<TEmpContractAlertM
@Override
public IPage<ContractAlertAutoVo> getTEmpContractAlertAutoPage(Page<TEmpContractAlert> page, ContractAlertSearchVo tEmpContractAlert){
// 如果查询条件续签状态为空默认查询 非已完成 状态数据
if (Common.isNotNull(tEmpContractAlert.getProcessStatusList())){
if (!Common.isNotNull(tEmpContractAlert.getProcessStatusList())){
tEmpContractAlert.setProcessStatusList(Stream.of("0","1","2","3","4","5","6","7","8","10","11").collect(Collectors.toList()));
}
//初始化客服的项目权限 ,管理员及SSC 全量
initSearchVo(tEmpContractAlert);
if (ArrayUtil.isNotEmpty(tEmpContractAlert.getStartEndTimecreate())
&& tEmpContractAlert.getStartEndTimecreate().length == 2) {
tEmpContractAlert.setExpectedCollectionTimeStart(tEmpContractAlert.getStartEndTimecreate()[0]);
tEmpContractAlert.setExpectedCollectionTimeEnd(tEmpContractAlert.getStartEndTimecreate()[1]);
}
return baseMapper.getTEmpContractAlertAutoPage(page,tEmpContractAlert);
}
......
......@@ -59,6 +59,7 @@ import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.net.URLEncoder;
import java.text.ParseException;
import java.time.LocalDate;
import java.time.ZoneId;
import java.util.*;
......@@ -187,7 +188,7 @@ public class TEmployeeContractPreNewServiceImpl extends ServiceImpl<TEmployeeCon
@Override
public List<TEmployeeContractPreNew> noPageDiy(TEmployeeContractPreNewSearchVo searchVo) {
LambdaQueryWrapper<TEmployeeContractPreNew> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
List<String> idList =searchVo.getIds();
if (Common.isNotNull(idList)) {
wrapper.in(TEmployeeContractPreNew::getId, idList);
}
......@@ -200,7 +201,7 @@ public class TEmployeeContractPreNewServiceImpl extends ServiceImpl<TEmployeeCon
private Long noPageCountDiy(TEmployeeContractPreNewSearchVo searchVo) {
LambdaQueryWrapper<TEmployeeContractPreNew> wrapper = buildQueryWrapper(searchVo);
List<String> idList = Common.getList(searchVo.getIds());
List<String> idList = searchVo.getIds();
if (Common.isNotNull(idList)) {
wrapper.in(TEmployeeContractPreNew::getId, idList);
}
......@@ -405,7 +406,16 @@ public class TEmployeeContractPreNewServiceImpl extends ServiceImpl<TEmployeeCon
}
//续签合同发起时间类型 :0 上一份合同到期前一个月
if (null != rule && CommonConstants.ZERO_STRING.equals(rule.getRenewalDateType()) && null != contract.getContractEnd()){
pre.setExpectedCollectionTime(DateUtil.addDayByDate(DateUtil.addMonthByDate(contract.getContractEnd(),-1),-1));
Date dateTemp = null;
try {
dateTemp = DateUtil.parseDate(DateUtil.dateToString(
contract.getContractEnd(), DateUtil.ISO_EXPANDED_DATE_FORMAT) + " 15:20", DateUtil.DATETIME_PATTERN_MINUTE);
} catch (ParseException e) {
dateTemp = new Date();
}
if (null!=dateTemp){
pre.setExpectedCollectionTime(DateUtil.addDayByDate(DateUtil.addMonthByDate(dateTemp,-1),-1));
}
}
preList.add(pre);
}
......@@ -498,6 +508,9 @@ public class TEmployeeContractPreNewServiceImpl extends ServiceImpl<TEmployeeCon
/**
* @Author fxj
* @Description 合同续签待签订信息单个/批量发起签署任务
*定时任务:1、每日定时发起合同签署任务-11:00、15:00、15:20——工作日,
* 会将发起失败、签署失败、审核不通过的“预计合同发起时间”为当日及之前日期的(空白的不在)
* 合同续签任务自动尝试发起,若发起失败后,将统一推送移动端消息提醒,并在续签待办列表,状态处增加小问号,可查询失败原因;
* @Date 18:35 2026/2/9
* @param type 1 手动 2 自动
**/
......@@ -1505,21 +1518,35 @@ public class TEmployeeContractPreNewServiceImpl extends ServiceImpl<TEmployeeCon
}
@Override
public R<List<TEmployeeContractPreNewDetailVo>> getDetailList(TEmployeeContractPreNewSearchVo tEmployeeContractPreNew) {
public R<List<TEmployeeContractPreNewDetailVo>> getDetailList(ContractAlertSearchVo tEmployeeContractPreNew) {
//系统会自动拉取当前客服且“预计合同发起时间”为空的或为今日及今日之前的,续签状态为“待发起、发起失败、审核不通过、签署失败”的合同信息
//续签状态,0待确认,1待发起,2线下签待审核,3线下签审核不通过4线下签待归档5发起失败6签署中7签署失败8电子待归档9(已归档-电子签+线下签)已完结10撤销签署
List<String> statusList = new ArrayList<>();
statusList.add(CommonConstants.FIVE_STRING);
statusList.add(CommonConstants.ONE_STRING);
statusList.add(CommonConstants.FIVE_STRING);
statusList.add(CommonConstants.TEN_STRING);
statusList.add(CommonConstants.ELEVEN_STRING);
statusList.add(CommonConstants.SEVEN_STRING);
statusList.add(CommonConstants.THREE_STRING);
tEmployeeContractPreNew.setStatusList(statusList);
initSearchVo(tEmployeeContractPreNew);
if (ArrayUtil.isNotEmpty(tEmployeeContractPreNew.getStartEndTimecreate())
&& tEmployeeContractPreNew.getStartEndTimecreate().length == 2) {
tEmployeeContractPreNew.setExpectedCollectionTimeStart(tEmployeeContractPreNew.getStartEndTimecreate()[0]);
tEmployeeContractPreNew.setExpectedCollectionTimeEnd(tEmployeeContractPreNew.getStartEndTimecreate()[1]);
}
return R.ok(baseMapper.getDetailList(tEmployeeContractPreNew));
}
@Override
public R<Integer> getDetailListCount(TEmployeeContractPreNewSearchVo tEmployeeContractPreNew) {
public R<Integer> getDetailListCount(ContractAlertSearchVo tEmployeeContractPreNew) {
//系统会自动拉取当前客服且“预计合同发起时间”为空的或为今日及今日之前的,续签状态为“待发起、发起失败、审核不通过、签署失败”的合同信息
List<String> statusList = new ArrayList<>();
statusList.add(CommonConstants.FIVE_STRING);
statusList.add(CommonConstants.ONE_STRING);
statusList.add(CommonConstants.FIVE_STRING);
statusList.add(CommonConstants.TEN_STRING);
statusList.add(CommonConstants.ELEVEN_STRING);
statusList.add(CommonConstants.SEVEN_STRING);
statusList.add(CommonConstants.THREE_STRING);
tEmployeeContractPreNew.setStatusList(statusList);
initSearchVo(tEmployeeContractPreNew);
return R.ok(baseMapper.getDetailListCount(tEmployeeContractPreNew));
......@@ -1534,7 +1561,7 @@ public class TEmployeeContractPreNewServiceImpl extends ServiceImpl<TEmployeeCon
return R.ok( term);
}
public void initSearchVo(TEmployeeContractPreNewSearchVo searchVo) {
public void initSearchVo(ContractAlertSearchVo searchVo) {
YifuUser user = SecurityUtils.getUser();
long roleId = 1839501715787390978L;
boolean isSsc = this.haveRole(user, roleId);
......@@ -1558,6 +1585,7 @@ public class TEmployeeContractPreNewServiceImpl extends ServiceImpl<TEmployeeCon
public R<TEmployeeContractInfo> getRenewContractByPreId(String preId) {
return R.ok(contractInfoMapper.selectOne(Wrappers.<TEmployeeContractInfo>query()
.lambda().eq(TEmployeeContractInfo::getPreId, preId)
.orderByDesc(BaseEntity::getCreateTime)
.last(CommonConstants.LAST_ONE_SQL)));
}
......
......@@ -11,6 +11,7 @@ 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.dapr.util.UpmsDaprUtils;
import com.yifu.cloud.plus.v1.yifu.common.mybatis.base.BaseEntity;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Async;
......@@ -81,6 +82,7 @@ public class DoFascTask {
contractInfo = tEmployeeContractInfoService.getOne(Wrappers.<TEmployeeContractInfo>query()
.lambda().eq(TEmployeeContractInfo::getPreNewId,preNew.getId())
.eq(TEmployeeContractInfo::getDeleteFlag,CommonConstants.ZERO_STRING)
.orderByDesc(BaseEntity::getCreateTime)
.last(CommonConstants.LAST_ONE_SQL));
}
if (contractInfo != null) {
......@@ -156,6 +158,8 @@ public class DoFascTask {
|| fddEvent.equals("sign-task-fill-rejected")) {
// 3:签署任务参与方签署失败事件
preNew.setProcessStatus(CommonConstants.dingleDigitStrArray[7]);
preNew.setErrorInfo(terminationNote);
preNew.setErrorTime(new Date());
preNew.setRequestId("");
tEmployeeContractPreNewService.updateById(preNew);
......
......@@ -347,6 +347,12 @@
<if test="tEmpContractAlert.expectedCollectionTimeEnd != null">
AND b.EXPECTED_COLLECTION_TIME <![CDATA[ <= ]]> #{tEmpContractAlert.expectedCollectionTimeEnd}
</if>
<if test="tEmpContractAlert.contractEndStart != null">
AND a.CONTRACT_END <![CDATA[ >= ]]> #{tEmpContractAlert.contractEndStart}
</if>
<if test="tEmpContractAlert.contractEndEnd != null">
AND a.CONTRACT_END <![CDATA[ <= ]]> #{tEmpContractAlert.contractEndEnd}
</if>
<if test="tEmpContractAlert.csLoginName != null and tEmpContractAlert.csLoginName.trim() != ''">
AND a.CS_LOGIN_NAME = #{tEmpContractAlert.csLoginName}
</if>
......
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