Commit b62fa1cf authored by hongguangwu's avatar hongguangwu

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

parents 0224cdd2 1693b038
......@@ -16,10 +16,14 @@
*/
package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TAutoInsurStandard;
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 javax.validation.constraints.NotBlank;
import java.time.LocalDateTime;
/**
......@@ -61,4 +65,16 @@ public class TAutoInsurStandardSearchVo extends TAutoInsurStandard {
**/
@Schema(description = "项目编码")
private int projectNo;
/**
* 购买标准min
*/
@Schema(description = "购买标准min")
private String standardMin;
/**
* 购买标准max
*/
@Schema(description = "购买标准max")
private String standardMax;
}
......@@ -93,7 +93,7 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
public static final String itemsLabelRepeat = "同一项目岗位名称不可重复";
public static final String buyStandardRepeat = "同一保险公司+险种+购买标准+购买地不可重复";
public static final String buyStandardRepeat = "'同一保险公司+险种+购买标准+购买地'或‘配置名称’不可重复";
/**
* 项目配置表主表简单分页查询
......@@ -378,18 +378,22 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
if (Common.isEmpty(standards)){
return R.failed(CommonConstants.PARAM_IS_NOT_ERROR);
}else {
standard.setStandard(standards.stream().map(TAutoStandardInfo::getStandard).collect(Collectors.joining(",")));
// 按字段 standard 排序后逗号拼接并去除末尾逗号
standard.setStandard(standards.stream()
.sorted(Comparator.comparing(TAutoStandardInfo::getStandard))
.map(TAutoStandardInfo::getStandard)
.collect(Collectors.joining(","))
.replaceAll(",$",""));
}
errorMessage = excelUtil.checkEntity(standard,0);
if (Common.isNotNull(errorMessage)){
return R.failed(errorMessage.getMessage());
}
}
}else {
return R.failed(CommonConstants.PARAM_IS_NOT_ERROR);
}
if (checkInsurStandardsForDuplicates(insurStandards)){
return R.failed(buyStandardRepeat);
if (checkInsurStandardsForDuplicates(insurStandards)){
return R.failed(buyStandardRepeat);
}
}
return null;
}
......@@ -401,6 +405,9 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
if (map.put(standard.getCompany() + standard.getRiskType() + standard.getStandard(), "") != null){
return true;
}
if (map.put(standard.getName() , "") != null){
return true;
}
}
map.clear();
}
......@@ -496,9 +503,11 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
return R.failed(errorMessage.getMessage());
}
// 根据ID查询原有的商险规则信息
autoInsurRuleOld = autoInsurRuleInfoMapper.selectById(autoEmpRuleNew.getId());
autoInsurRuleOld = autoInsurRuleInfoMapper.selectOne(Wrappers.<TAutoInsurRuleInfo>query().lambda()
.eq(TAutoInsurRuleInfo::getMainId,autoMainRel.getId()).last(CommonConstants.LAST_ONE_SQL));
}
//保存商险规则
List<TAutoInsurStandard> insurStandardsOld = null;
List<TAutoInsurStandard> insurStandards = null;
if (Common.isNotNull(autoInsurRuleNew)){
if (Common.isNotNull(autoInsurRuleNew.getId())){
......@@ -518,16 +527,16 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
if (checkInsurStandardsForDuplicates(insurStandards)){
return R.failed(buyStandardRepeat);
}
//获取旧的购买标准
insurStandardsOld = autoInsurStandardMapper.selectList(Wrappers
.<TAutoInsurStandard>query().lambda().eq(TAutoInsurStandard::getMainId,autoInsurRuleNew.getId()));
}
//获取旧的购买标准
List<TAutoInsurStandard> insurStandardsOld = autoInsurStandardMapper.selectList(Wrappers
.<TAutoInsurStandard>query().lambda().eq(TAutoInsurStandard::getMainId,autoInsurRuleNew.getId()));
//商险购买标准是否更新标识 false 未更新 true 更新
boolean flag = false;
//保存商险购买标准
//先删除再批增
autoInsurStandardMapper.delete(Wrappers.<TAutoInsurStandard>query().lambda().eq(TAutoInsurStandard::getMainId,autoInsurRuleNew.getId()));
if (Common.isNotNull(insurStandards)){
//先删除再批增
autoInsurStandardMapper.delete(Wrappers.<TAutoInsurStandard>query().lambda().eq(TAutoInsurStandard::getMainId,autoInsurRuleNew.getId()));
for (TAutoInsurStandard standard:insurStandards){
if (!Common.isNotNull(standard.getId())){
flag =true;
......@@ -579,6 +588,9 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
ignoreFields.add("createName");
ignoreFields.add("createTime");
ignoreFields.add("deptId");
ignoreFields.add("deptNo");
ignoreFields.add("standardInfos");
// 更新档案管理规则
if (Common.isNotNull(autoEmpRuleNew)){
String differenceKey = HrEquator.comparisonValueIgnoreField(autoEmpRuleOld, autoEmpRuleNew,ignoreFields);
......@@ -629,8 +641,8 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
}
}
}
if (!Common.isEmpty(flag)){
diffKeyMap.put("insurStandardRule",diffKeys.toString());
if (flag){
diffKeyMap.put("insurStandardRule","standardInfos");
oldMap.put("oldInsurStandards",insurStandardsOld);
newMap.put("newInsurStandards",insurStandards);
}
......@@ -685,18 +697,22 @@ public class TAutoMainRelServiceImpl extends ServiceImpl<TAutoMainRelMapper, TAu
*/
private R<Boolean> checkItemRepeat(List<SysAutoDictItem> autoDictItems, Map<String, SysAutoDictItem> repeatItems) {
// 校验输入参数是否为 null
if (Common.isEmpty(autoDictItems) || Common.isEmpty(repeatItems)) {
if (Common.isEmpty(autoDictItems)) {
return null; // 根据业务需求决定返回值
}
Map<String,String> labelRepeat = new HashMap<>();
for (SysAutoDictItem item : autoDictItems) {
//自循环查询是否重复
if (CommonConstants.ZERO_STRING.equals(item.getDisable()) && labelRepeat.put(item.getLabel(),"") != null){
return R.failed(itemsLabelRepeat);
}
if (Common.isEmpty(item)
|| Common.isEmpty(item.getLabel())
|| CommonConstants.ONE_STRING.equals(item.getDisable())) {
continue; // 跳过无效的 item
}
SysAutoDictItem checkItem = repeatItems.get(item.getLabel());
//和已有岗位是否重复
SysAutoDictItem checkItem = null == repeatItems?null:repeatItems.get(item.getLabel());
if (checkItem != null) {
// 检查是否存在重复项
if (CommonConstants.ZERO_STRING.equals(checkItem.getDisable())
......
......@@ -57,7 +57,7 @@
<password>QmdCaQSPmCAQEddd</password>
<SSL>true</SSL>
<asynchronousSending>true</asynchronousSending>
<to>wangpeng@wanxin-holdings.com,fangxinjiang@wanxin-holdings.com,hongguangwu@wanxin-holdings.com</to>
<to>wangpeng@wanxin-holdings.com,fangxinjiang@wanxin-holdings.com,hongguangwu@wanxin-holdings.com,huyuchen@wanxin-holdings.com</to>
<from>information@wanxin-holdings.com</from>
<subject>hro-mvp ${springAppActive}环境 ${springAppName}服务: %-20msg 错误</subject>
<charsetEncoding>UTF-8</charsetEncoding>
......
......@@ -114,8 +114,15 @@
SELECT
<include refid="Base_Column_List"/>
FROM t_auto_insur_standard a
<if test="tAutoInsurStandard.standard != null and tAutoInsurStandard.standard.trim() != ''">
LEFT JOIN (select * from t_auto_standard_info where STANDARD+0 = #{tAutoInsurStandard.standard}+0) b on a.id=b.MAIN_ID
<if test="(tAutoInsurStandard.standardMin != null and tAutoInsurStandard.standardMin.trim() != '') or (tAutoInsurStandard.standardMax != null and tAutoInsurStandard.standardMax.trim() != '')">
LEFT JOIN (select * from t_auto_standard_info where 1=1
<if test="tAutoInsurStandard.standardMin != null and tAutoInsurStandard.standardMin.trim() != ''">
and STANDARD+0 >= #{tAutoInsurStandard.standardMin}+0
</if>
<if test="tAutoInsurStandard.standardMax != null and tAutoInsurStandard.standardMax.trim() != ''">
and STANDARD+0 <![CDATA[ <= ]]> #{tAutoInsurStandard.standardMax}+0
</if>
) b on a.id=b.MAIN_ID
</if>
<where>
......@@ -135,5 +142,6 @@
</if>
</if>
</where>
group by a.id
</select>
</mapper>
......@@ -27,7 +27,7 @@
<id property="id" column="ID"/>
<result property="mainId" column="MAIN_ID"/>
<result property="standard" column="STANDARD"/>
<result property="standard" column="STANDARD_ID"/>
<result property="standardId" column="STANDARD_ID"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
......@@ -57,7 +57,6 @@
<include refid="Base_Column_List"/>
FROM t_auto_standard_info a
<where>
1=1
<include refid="tAutoStandardInfo_where"/>
</where>
</select>
......
......@@ -77,7 +77,7 @@
<password>QmdCaQSPmCAQEddd</password>
<SSL>true</SSL>
<asynchronousSending>true</asynchronousSending>
<to>wangpeng@wanxin-holdings.com,fangxinjiang@wanxin-holdings.com,hongguangwu@wanxin-holdings.com</to>
<to>wangpeng@wanxin-holdings.com,fangxinjiang@wanxin-holdings.com,hongguangwu@wanxin-holdings.com,huyuchen@wanxin-holdings.com</to>
<from>information@wanxin-holdings.com</from>
<subject>hro-mvp ${springAppActive}环境 ${springAppName}服务: %-20msg 错误</subject>
<charsetEncoding>UTF-8</charsetEncoding>
......
......@@ -650,6 +650,8 @@ public interface CommonConstants {
List<String> processInsurancesStatus = Stream.of("1","2","5").collect(Collectors.toList());
List<String> processListPreArchivesStatus = Stream.of("0","1","2","3","4","5").collect(Collectors.toList());
List<String> deptList = Stream.of("安徽一册档案管理有限公司","安徽顾合企业管理咨询有限公司","安徽赤道线数字传媒科技有限公司","劳务业务中心","易服智享&研究院").collect(Collectors.toList());
String USER_DIR = "user.dir";
......
......@@ -246,7 +246,7 @@ dispatch.emp.registype.not.empty=\u5DF2\u6709\u6863\u6848\u6237\u53E3\u6027\u8D2
dispatch.emp.tryperiod.not.empty=\u5DF2\u6709\u6863\u6848\u8BD5\u7528\u671F\u4E3A\u7A7A\u6216\u65E0\u6863\u6848\uFF0C\u6D3E\u5355\u6A21\u677F\u8BD5\u7528\u671F\u4E0D\u53EF\u4E3A\u7A7A\uFF0C\u8BF7\u8865\u5145\u8BD5\u7528\u671F
dispatch.emp.type.error=\u5DF2\u6709\u6863\u6848\u5458\u5DE5\u7C7B\u578B\u4E0E\u6B64\u6B21\u6D3E\u5355\u7684\u5458\u5DE5\u7C7B\u578B\u4E0D\u4E00\u81F4\uFF0C\u8BF7\u8C03\u6574\u4E00\u81F4\u540E\u518D\u6B21\u6D3E\u5355
dispatch.emp.type.error=\u5458\u5DE5\u7C7B\u578B\u4E0E\u9879\u76EE\u6863\u6848\u4E2D\u8BE5\u4EBA\u5458\u7684\u5458\u5DE5\u7C7B\u578B\u4E0D\u4E00\u81F4\uFF0C\u5982\u9700\u4FEE\u6539\uFF0C\u8BF7\u5148\u5230\u9879\u76EE\u6863\u6848\u5904\u7F16\u8F91\u4FEE\u6539\u8BE5\u4EBA\u5458\u7684\u5458\u5DE5\u7C7B\u578B
......
......@@ -550,6 +550,9 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
StringBuilder errorTemp = new StringBuilder();
List<TEmployeeInsuranceExitCheckVo> errorList = new ArrayList<>();
TEmployeeInsuranceExitCheckVo checkVo;
String key;
// 判断重复性MAP
Map<String, Integer> keyMap = new HashMap<>();
for (TEmployeeInsurancePreVo insurancePreVo : preVo.getEmployeeInsurancePreVos()) {
//是否工作日判断
String error = checkInsuranceBuy(insurancePreVo,CommonConstants.ONE_STRING);
......@@ -563,6 +566,13 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
if (null != checkVo) {
errorList.add(checkVo);
}
// 1:重复性判断
key = this.getFiveKey(insurancePreVo);
if (keyMap.get(key) == null) {
keyMap.put(key, CommonConstants.ONE_INT);
} else {
return R.other(CommonConstants.TWO_INT,null,"保险公司、险种、购买标准、保单起、止日期不可同时重复;");
}
}
if (errorTemp.length() > 0) {
return R.other(CommonConstants.TWO_INT,null,errorTemp.toString());
......@@ -624,6 +634,9 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
if (Common.isEmpty(preVo)) {
return R.failed(CommonConstants.PARAM_IS_NOT_ERROR);
}
String key;
// 判断重复性MAP
Map<String, Integer> keyMap = new HashMap<>();
if (preVo.getServerItem().contains("商险") && !preVo.getEmployeeInsurancePreVos().isEmpty()) {
StringBuilder errorTemp = new StringBuilder();
for (TEmployeeInsurancePreVo insurancePreVo : preVo.getEmployeeInsurancePreVos()) {
......@@ -631,6 +644,13 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
if (null != error) {
errorTemp.append(error);
}
// 1:重复性判断
key = this.getFiveKey(insurancePreVo);
if (keyMap.get(key) == null) {
keyMap.put(key, CommonConstants.ONE_INT);
} else {
return R.other(CommonConstants.TWO_INT,null,"保险公司、险种、购买标准、保单起、止日期不可同时重复;");
}
}
if (errorTemp.length() > 0) {
return R.other(CommonConstants.TWO_INT, null, errorTemp.toString());
......@@ -1330,4 +1350,30 @@ public class EmployeeRegistrationServiceImpl extends ServiceImpl<EmployeeRegistr
}
return exitCheckVo;
}
/**
* @param insurancePreVo
* @Description: 获取5个字段构成的关键字
* @Author: hgw
* @Date: 2025/4/9 11:23
* @return: java.lang.String
**/
private String getFiveKey(TEmployeeInsurancePreVo insurancePreVo) {
// 1:重复性判断
return isNullToEmpty(insurancePreVo.getBuyStandard()) + CommonConstants.DOWN_LINE_STRING
+ isNullToEmpty(insurancePreVo.getInsuranceTypeName()) + CommonConstants.DOWN_LINE_STRING
+ isNullToEmpty(insurancePreVo.getInsuranceCompanyName()) + CommonConstants.DOWN_LINE_STRING
+ isNullToEmpty(insurancePreVo.getPolicyStart()) + CommonConstants.DOWN_LINE_STRING + isNullToEmpty(insurancePreVo.getPolicyEnd());
}
/**
* @param str
* @Description: 空转化为空字符
* @Author: hgw
* @Date: 2025/4/9 11:29
* @return: java.lang.String
**/
private String isNullToEmpty(Object str) {
return null == str ? "" : str.toString();
}
}
......@@ -57,7 +57,7 @@
<password>QmdCaQSPmCAQEddd</password>
<SSL>true</SSL>
<asynchronousSending>true</asynchronousSending>
<to>wangpeng@wanxin-holdings.com,fangxinjiang@wanxin-holdings.com,hongguangwu@wanxin-holdings.com</to>
<to>wangpeng@wanxin-holdings.com,fangxinjiang@wanxin-holdings.com,hongguangwu@wanxin-holdings.com,huyuchen@wanxin-holdings.com</to>
<from>information@wanxin-holdings.com</from>
<subject>hro-mvp ${springAppActive}环境 ${springAppName}服务: %-20msg 错误</subject>
<charsetEncoding>UTF-8</charsetEncoding>
......
package com.yifu.cloud.plus.v1.ekp.controller;
import com.yifu.cloud.plus.v1.ekp.service.EkpSalaryInfoService;
import com.yifu.cloud.plus.v1.ekp.service.EkpShenhepeizhiService;
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.ErrorMessage;
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.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpDivisionInfoVo;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpSalaryParam;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import lombok.SneakyThrows;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
/**
* 事业部审批配置
......
package com.yifu.cloud.plus.v1.ekp.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.ekp.entity.EkpSalaryInfo;
import com.yifu.cloud.plus.v1.ekp.entity.EkpShenhepeizhi;
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.ekp.vo.EkpDivisionInfoVo;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpSalaryParam;
import org.springframework.transaction.annotation.Transactional;
import java.io.InputStream;
import java.util.List;
/**
* 事业部审批配置
......
package com.yifu.cloud.plus.v1.ekp.service.impl;
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.read.listener.ReadListener;
import com.alibaba.excel.read.metadata.holder.ReadRowHolder;
import com.alibaba.excel.util.ListUtils;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.ekp.entity.EkpSalaryInfo;
import com.yifu.cloud.plus.v1.ekp.entity.EkpShenhepeizhi;
import com.yifu.cloud.plus.v1.ekp.mapper.EkpSalaryInfoMapper;
import com.yifu.cloud.plus.v1.ekp.mapper.EkpShenhepeizhiMapper;
import com.yifu.cloud.plus.v1.ekp.service.EkpSalaryInfoService;
import com.yifu.cloud.plus.v1.ekp.service.EkpShenhepeizhiService;
import com.yifu.cloud.plus.v1.ekp.vo.ClaimInfotVO;
import com.yifu.cloud.plus.v1.ekp.vo.ClaimRebackInfotVO;
import com.yifu.cloud.plus.v1.ekp.vo.EkpDeptInfoVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpDivisionInfoVo;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpSalaryParam;
import lombok.RequiredArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.io.InputStream;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
/**
//工资明细表
*
//@author huyc
//@date 2024-03-11 11:21:56
* 事业部审批配置
* @author chenyuxi
* @date 2025/1/15
* @since 1.7.5
*/
@Log4j2
@Service
......
......@@ -57,7 +57,7 @@
<password>QmdCaQSPmCAQEddd</password>
<SSL>true</SSL>
<asynchronousSending>true</asynchronousSending>
<to>wangpeng@wanxin-holdings.com,fangxinjiang@wanxin-holdings.com,hongguangwu@wanxin-holdings.com</to>
<to>wangpeng@wanxin-holdings.com,fangxinjiang@wanxin-holdings.com,hongguangwu@wanxin-holdings.com,huyuchen@wanxin-holdings.com</to>
<from>information@wanxin-holdings.com</from>
<subject>hro-mvp ${springAppActive}环境 ${springAppName}服务: %-20msg 错误</subject>
<charsetEncoding>UTF-8</charsetEncoding>
......
......@@ -5,10 +5,10 @@
<mapper namespace="com.yifu.cloud.plus.v1.ekp.mapper.EkpShenhepeizhiMapper">
<!--查询事业部信息-->
<!--查询事业部信息:目前是测试环境的表名-->
<select id="getDivisionLoginNameList" resultType="string">
select du.fd_login_name as loginName from ekp_shenhepeizhi_table a
LEFT JOIN ekporg_192dc6529f546b9f2008 d on d.fd_parent_id = a.fd_id
LEFT JOIN ekporg_1927fe1d4d35e2548a3e d on d.fd_parent_id = a.fd_id
LEFT JOIN sys_org_person du on du.fd_id = d.sys_org_person_id
where a.fd_tiaoxian = #{line} and a.fd_shiyebu = #{division}
</select>
......@@ -16,7 +16,7 @@
<!--查询副总信息-->
<select id="getFuLoginNameList" resultType="string">
select fu.fd_login_name as loginName from ekp_shenhepeizhi_table a
LEFT JOIN ekporg_192dc6529f5576856a70 f on f.fd_parent_id = a.fd_id
LEFT JOIN ekporg_1927fe509c6554968429 f on f.fd_parent_id = a.fd_id
LEFT JOIN sys_org_person fu on fu.fd_id = f.sys_org_person_id
where a.fd_tiaoxian = #{line} and a.fd_shiyebu = #{division}
</select>
......@@ -24,7 +24,7 @@
<!--查询事业部条线负责人-->
<select id="getLineLoginNameList" resultType="string">
select lu.fd_login_name as loginName from ekp_shenhepeizhi_table a
LEFT JOIN ekporg_192dc6529f5b1d699c39 l on l.fd_parent_id = a.fd_id
LEFT JOIN ekporg_1927fe1d4d389080b7a7 l on l.fd_parent_id = a.fd_id
LEFT JOIN sys_org_person lu on lu.fd_id = l.sys_org_person_id
where a.fd_tiaoxian = #{line} and a.fd_shiyebu = #{division}
</select>
......
......@@ -23,6 +23,8 @@ public class TEmployeeInsurancePreSearchVo extends TEmployeeInsurancePre {
@Schema(description = "选中ID,多个逗号分割")
private String ids;
private List<String> idList;
/**
* 创建时间区间 [开始时间,结束时间]
*/
......
......@@ -49,19 +49,32 @@ public class TEmployeeInsurancePreController {
* @return
*/
@Operation(description = "简单分页查询")
@GetMapping("/page")
public R<IPage<TEmployeeInsurancePre>> getTEmployeeInsurancePrePage(Page<TEmployeeInsurancePre> page, TEmployeeInsurancePreSearchVo tEmployeeInsurancePre) {
@PostMapping("/page")
public R<IPage<TEmployeeInsurancePre>> getTEmployeeInsurancePrePage(Page<TEmployeeInsurancePre> page, @RequestBody TEmployeeInsurancePreSearchVo tEmployeeInsurancePre) {
YifuUser user = SecurityUtils.getUser();
menuUtil.setAuthSql(user, tEmployeeInsurancePre);
return new R<>(tEmployeeInsurancePreService.getTEmployeeInsurancePrePage(page,tEmployeeInsurancePre));
}
/**
* 商险待购买数量查询
* @param tEmployeeInsurancePre 商险待办任务表
* @return
*/
@Operation(description = "商险待购买数量查询")
@GetMapping("/getListCount")
public R getListCount(TEmployeeInsurancePreSearchVo tEmployeeInsurancePre) {
YifuUser user = SecurityUtils.getUser();
menuUtil.setAuthSql(user, tEmployeeInsurancePre);
return R.ok(tEmployeeInsurancePreService.getTEmployeeInsuranceCount(tEmployeeInsurancePre));
}
/**
* 不分页查询
* @param tEmployeeInsurancePre 商险待办任务表
* @return
*/
@Operation(description = "简单分页查询")
@Operation(description = "分页查询")
@GetMapping("/noPage")
public R<List<TEmployeeInsurancePre>> getTEmployeeInsurancePrePage(TEmployeeInsurancePreSearchVo tEmployeeInsurancePre) {
YifuUser user = SecurityUtils.getUser();
......
......@@ -33,7 +33,7 @@ public interface TEmployeeInsurancePreMapper extends BaseMapper<TEmployeeInsuran
*/
List<TEmployeeInsurancePre> getTEmployeeInsurancePreNoPage(@Param("tEmployeeInsurancePre") TEmployeeInsurancePre tEmployeeInsurancePre);
long selectExportCount(@Param("employeeRegistration") TEmployeeInsurancePreSearchVo employeeRegistration);
long selectExportCount(@Param("tEmployeeInsurancePre") TEmployeeInsurancePreSearchVo employeeRegistration);
List<TEmployeeInsurancePreExportVo> selectExportList(@Param("employeeRegistration") TEmployeeInsurancePreSearchVo employeeRegistration);
......
......@@ -35,6 +35,13 @@ public interface TEmployeeInsurancePreService extends IService<TEmployeeInsuranc
*/
List<TEmployeeInsurancePre> getTEmployeeInsurancePreNoPage(TEmployeeInsurancePreSearchVo tEmployeeInsurancePre);
/**
* 查询商险待购买数量
* @param tEmployeeInsurancePre 查询商险待购买vo
* @return
*/
long getTEmployeeInsuranceCount(TEmployeeInsurancePreSearchVo tEmployeeInsurancePre);
/**
* 商险待办任务表导出
* @param searchVo 商险待办任务表
......
......@@ -85,6 +85,9 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur
*/
@Override
public IPage<TEmployeeInsurancePre> getTEmployeeInsurancePrePage(Page<TEmployeeInsurancePre> page, TEmployeeInsurancePreSearchVo tEmployeeInsurancePre) {
if (null == tEmployeeInsurancePre.getStatusList()) {
tEmployeeInsurancePre.setStatusList(CommonConstants.processListPreArchivesStatus);
}
//权限赋值
initSearchVo(tEmployeeInsurancePre);
return baseMapper.getTEmployeeInsurancePrePage(page, tEmployeeInsurancePre);
......@@ -100,6 +103,13 @@ public class TEmployeeInsurancePreServiceImpl extends ServiceImpl<TEmployeeInsur
}
@Override
public long getTEmployeeInsuranceCount(TEmployeeInsurancePreSearchVo tEmployeeInsurancePre) {
tEmployeeInsurancePre.setStatusList(CommonConstants.processListPreArchivesStatus);
initSearchVo(tEmployeeInsurancePre);
return baseMapper.selectExportCount(tEmployeeInsurancePre);
}
/**
* 商险待办任务表批量导出
*
......
......@@ -32,6 +32,7 @@ import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.ekp.constant.EkpConstants;
import com.yifu.cloud.plus.v1.yifu.insurances.constants.InsurancesConstants;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.*;
import com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances.TEmployeeInsurancePreMapper;
import com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances.TInsuranceAreaResMapper;
import com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances.TInsuranceDetailMapper;
import com.yifu.cloud.plus.v1.yifu.insurances.mapper.insurances.TUpdateStatusErrorMapper;
......@@ -75,6 +76,7 @@ import java.util.concurrent.LinkedBlockingQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors;
import java.util.stream.Stream;
/**
* @author licancan
......@@ -137,6 +139,9 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
private TUpdateStatusErrorMapper updateStatusErrorMapper;
@Resource
private TInsuranceAreaResMapper insuranceAreaResMapper;
@Resource
private TEmployeeInsurancePreMapper employeeInsurancePreMapper;
/***********************商险办理********************************/
/**
* 每日定时刷新商险到期数据
......@@ -371,6 +376,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail.setCreateName(user.getNickname());
detailList.add(detail);
sourceIdCardList.add(detail.getEmpIdcardNo());
updateEmployeeInsurancePre(detail,CommonConstants.processStatus,CommonConstants.THREE_STRING);
}
this.saveBatch(detailList);
List<String> replaceIdList = new ArrayList<>();
......@@ -433,6 +439,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detailList.add(detail);
sourceIdCardList.add(detail.getEmpIdcardNo());
replaceIdList.add(detail.getId());
updateEmployeeInsurancePre(detail,CommonConstants.processStatus,CommonConstants.THREE_STRING);
}
this.saveBatch(detailList);
// 同步操作档案的 商险状态为:2正常(0无2正常3失效4处理中)
......@@ -559,6 +566,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
replace.setCreateName(user.getNickname());
replace.setCreateTime(LocalDateTime.now());
tInsuranceReplaceService.save(replace);
updateEmployeeInsurancePre(detail,CommonConstants.processStatus,CommonConstants.THREE_STRING);
}
detailList.add(newDetail);
}
......@@ -1065,6 +1073,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail.setUnitNo(jsonObject.getCustomerCode());
}
detailList.add(detail);
updateEmployeeInsurancePre(detail, Stream.of("3").collect(Collectors.toList()),CommonConstants.FOUR_STRING);
}
}
}
......@@ -1228,6 +1237,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail.setUnitNo(jsonObject.getCustomerCode());
}
detailList.add(detail);
updateEmployeeInsurancePre(detail, Stream.of("3").collect(Collectors.toList()),CommonConstants.FOUR_STRING);
}
}
}
......@@ -1525,6 +1535,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
operateList.add(e);
}
});
updateEmployeeInsurancePre(detail,Stream.of("3","4","5").collect(Collectors.toList()),CommonConstants.FIVE_STRING);
}
//更新状态
this.updateBatchById(successList);
......@@ -1652,6 +1663,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
//替换类型,保单生效日期:T + 1
detail.setPolicyEffect(LocalDate.now().plusDays(CommonConstants.ONE_INT));
successOne.add(detail);
updateEmployeeInsurancePre(detail, Stream.of("4").collect(Collectors.toList()),CommonConstants.SIX_STRING);
//查找被替换人信息
one = tInsuranceReplaceService.getOne(Wrappers.<TInsuranceReplace>query().lambda()
......@@ -1706,6 +1718,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
settleList.add(settle);
detail.setDefaultSettleId(settle.getId());
successTwo.add(detail);
updateEmployeeInsurancePre(detail, Stream.of("4").collect(Collectors.toList()),CommonConstants.SIX_STRING);
//生成收入数据
createInsuranceInfo(detail,settleDomain);
}else {
......@@ -1742,6 +1755,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
settleList.add(settle);
detail.setDefaultSettleId(settle.getId());
successTwo.add(detail);
updateEmployeeInsurancePre(detail, Stream.of("4").collect(Collectors.toList()),CommonConstants.SIX_STRING);
//生成收入数据
createInsuranceInfo(detail,settleDomain);
}
......@@ -1761,6 +1775,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
detail.setUpdateTime(LocalDateTime.now());
detail.setUpdateBy(user.getId());
successOne.add(detail);
updateEmployeeInsurancePre(detail, Stream.of("4").collect(Collectors.toList()),CommonConstants.SIX_STRING);
}
}
}
......@@ -2684,11 +2699,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
listResult.add(param);
continue;
}
if (StringUtils.isBlank(param.getSettleMonth())){
param.setErrorMessage(InsurancesConstants.SETTLE_MONTH_NOT_EMPTY);
listResult.add(param);
continue;
}
if (StringUtils.isBlank(param.getPost())){
param.setErrorMessage(InsurancesConstants.POST_NOT_EMPTY);
listResult.add(param);
......@@ -3062,11 +3072,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
listResult.add(param);
continue;
}
if (StringUtils.isBlank(param.getSettleMonth())){
param.setErrorMessage(InsurancesConstants.SETTLE_MONTH_NOT_EMPTY);
listResult.add(param);
continue;
}
if (StringUtils.isNotBlank(param.getRemark())){
if (!ValidityUtil.validate50(param.getRemark())){
param.setErrorMessage(InsurancesConstants.REMARK_NOT_MORE_THAN_50);
......@@ -8290,12 +8295,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
if (Common.isNotNull(param.getAuthSql()) && param.getAuthSql().contains("1=2 CONCAT")) {
param.setAuthSql(param.getAuthSql().replace("1=2 CONCAT", "CONCAT"));
}
IPage<InsuredListVo> insuranceList = baseMapper.replacePageToAutoSelect(page,param);
// 购买月数
// if (CollectionUtils.isNotEmpty(insuranceList.getRecords())){
// insuranceList.getRecords().forEach(e -> e.setBuyMonth(LocalDateUtil.betweenMonth(e.getPolicyStart().toString(),e.getPolicyEnd().toString())));
// }
return insuranceList;
return baseMapper.replacePageToAutoSelect(page,param);
}
/**
......@@ -8323,11 +8323,23 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
// 查保单未过期的数据
String today = LocalDateUtil.getDateSrt(LocalDate.now());
param.setPolicyEnd(today);
IPage<InsuredListVo> insuranceList = baseMapper.policyPageToAutoSelect(page,param);
// 购买月数
// if (CollectionUtils.isNotEmpty(insuranceList.getRecords())){
// insuranceList.getRecords().forEach(e -> e.setBuyMonth(LocalDateUtil.betweenMonth(e.getPolicyStart().toString(),e.getPolicyEnd().toString())));
// }
return insuranceList;
return baseMapper.policyPageToAutoSelect(page,param);
}
//商险各个入口更新待购买列表状态更新
private void updateEmployeeInsurancePre(TInsuranceDetail insuranceDetail,List<String> preStatusList,String status) {
TEmployeeInsurancePre pre = employeeInsurancePreMapper.selectOne(Wrappers.<TEmployeeInsurancePre>query().lambda()
.eq(TEmployeeInsurancePre::getEmpIdcard,insuranceDetail.getEmpIdcardNo())
.eq(TEmployeeInsurancePre::getBuyStandard, insuranceDetail.getBuyStandard())
.eq(TEmployeeInsurancePre::getInsuranceTypeName, insuranceDetail.getInsuranceTypeName())
.eq(TEmployeeInsurancePre::getInsuranceCompanyName, insuranceDetail.getInsuranceCompanyName())
.eq(TEmployeeInsurancePre::getPolicyStart, insuranceDetail.getPolicyStart())
.eq(TEmployeeInsurancePre::getPolicyEnd, insuranceDetail.getPolicyEnd())
.in(TEmployeeInsurancePre::getProcessStatus,preStatusList)
.last(CommonConstants.LAST_ONE_SQL));
if (Common.isNotNull(pre)) {
pre.setProcessStatus(status);
employeeInsurancePreMapper.updateById(pre);
}
}
}
......@@ -58,7 +58,7 @@
<password>QmdCaQSPmCAQEddd</password>
<SSL>true</SSL>
<asynchronousSending>true</asynchronousSending>
<to>wangpeng@wanxin-holdings.com,fangxinjiang@wanxin-holdings.com,hongguangwu@wanxin-holdings.com</to>
<to>wangpeng@wanxin-holdings.com,fangxinjiang@wanxin-holdings.com,hongguangwu@wanxin-holdings.com,huyuchen@wanxin-holdings.com</to>
<from>information@wanxin-holdings.com</from>
<subject>hro-mvp ${springAppActive}环境 ${springAppName}服务: %-20msg 错误</subject>
<charsetEncoding>UTF-8</charsetEncoding>
......
......@@ -106,6 +106,13 @@
<if test="tEmployeeInsurancePre.id != null and tEmployeeInsurancePre.id.trim() != ''">
AND a.id = #{tEmployeeInsurancePre.id}
</if>
<if test="tEmployeeInsurancePre.idList != null and tEmployeeInsurancePre.idList.size() > 0">
and a.id in
<foreach collection="tEmployeeInsurancePre.idList" item="param" index="index" open="(" close=")"
separator=",">
#{param}
</foreach>
</if>
<if test="tEmployeeInsurancePre.employeeName != null and tEmployeeInsurancePre.employeeName.trim() != ''">
AND a.employee_name like CONCAT('%',#{tEmployeeInsurancePre.employeeName},'%')
</if>
......
......@@ -72,4 +72,17 @@ public class UpdateOverdueTask {
"/insuranceWarn/inner/createInsuranceAlert","", Void.class, SecurityConstants.FROM_IN);
log.info("-------------每天刷新商险到期提醒信息-定时任务开始------------");
}
/**
* 每天刷新商险到期提醒信息
* @author huych
* @param
* @return void
*/
public void pushWxConfrimMessage() {
log.info("-------------每天九点推送商险待确认信息------------");
HttpDaprUtil.invokeMethodPost(daprInsurancesProperties.getAppUrl(), daprInsurancesProperties.getAppId(),
"/temployeeinsurancepre/inner/pushWxConfrimMessage","", Void.class, SecurityConstants.FROM_IN);
log.info("-------------每天九点推送商险待确认信息-定时任务开始------------");
}
}
......@@ -483,7 +483,7 @@ public class SysUserPermissionServiceImpl extends ServiceImpl<SysUserPermissionM
case "项目":
deleteType = CommonConstants.dingleDigitStrArray[5];
list = baseMapper.getUserPermissionByAutoCreateXM(fdId); break;
case "项目变更":
case "项目变更": //项目服务团队及项目负责人变更 fxj 20250410 V1.7.9
deleteType = CommonConstants.dingleDigitStrArray[5];
list = baseMapper.getUserPermissionByAutoCreateXMBG(fdId); break;
default:
......
......@@ -454,18 +454,19 @@
,'5' PERMISSION_TYPE,d.fd_3b8797876dc13c_text NAME,d.fd_3b879793d37afe CODE,0 SOURCE_TYPE
,'1' IS_CONTAINS,'0' PERMISSION_STATUS,'1' DELETE_FLAG,e.fd_id USER_ID,d.fd_id DOMAIN_ID
from ekp_d701e3e72794ff390ca8 d
LEFT JOIN ekporg_18622320f73771d520db f on f.fd_parent_id = d.fd_id
LEFT JOIN ekporg_195eb1d6815b96ceb269 f on f.fd_parent_id = d.fd_id
LEFT JOIN sys_org_element e on e.fd_id = f.sys_org_person_id JOIN sys_org_person p on e.fd_id=p.fd_id
where d.fd_id = #{fdId}
union all
union ALL
select
e.fd_name EMP_NAME,p.fd_login_name EMP_LOGIN_NAME,SUBSTRING_INDEX(SUBSTRING_INDEX(e.fd_ldap_dn,',ou', 2),',ou=', -1) EMP_DEPT
,'5' PERMISSION_TYPE,d.fd_3b8797876dc13c_text NAME,d.fd_3b879793d37afe CODE,0 SOURCE_TYPE
,'1' IS_CONTAINS,'0' PERMISSION_STATUS,'1' DELETE_FLAG,e.fd_id USER_ID,d.fd_id DOMAIN_ID
from ekp_d701e3e72794ff390ca8 d
LEFT JOIN ekp_24a8e6a7fc143bb8c48a f on f.fd_3a37fe508071fe = d.fd_3b879793d37afe
LEFT JOIN sys_org_element e on e.fd_id = f.fd_3b212a2d7a65c6 JOIN sys_org_person p on e.fd_id=p.fd_id
LEFT JOIN sys_org_element e on e.fd_id = d.fd_changeafter
JOIN sys_org_person p on e.fd_id=p.fd_id
where d.fd_id = #{fdId}
) a GROUP BY a.USER_ID
</select>
......
......@@ -57,7 +57,7 @@
<password>QmdCaQSPmCAQEddd</password>
<SSL>true</SSL>
<asynchronousSending>true</asynchronousSending>
<to>wangpeng@wanxin-holdings.com,fangxinjiang@wanxin-holdings.com,hongguangwu@wanxin-holdings.com</to>
<to>wangpeng@wanxin-holdings.com,fangxinjiang@wanxin-holdings.com,hongguangwu@wanxin-holdings.com,huyuchen@wanxin-holdings.com</to>
<from>information@wanxin-holdings.com</from>
<subject>hro-mvp ${springAppActive}环境 ${springAppName}服务: %-20msg 错误</subject>
<charsetEncoding>UTF-8</charsetEncoding>
......
......@@ -57,7 +57,7 @@
<password>QmdCaQSPmCAQEddd</password>
<SSL>true</SSL>
<asynchronousSending>true</asynchronousSending>
<to>wangpeng@wanxin-holdings.com,fangxinjiang@wanxin-holdings.com,hongguangwu@wanxin-holdings.com</to>
<to>wangpeng@wanxin-holdings.com,fangxinjiang@wanxin-holdings.com,hongguangwu@wanxin-holdings.com,huyuchen@wanxin-holdings.com</to>
<from>information@wanxin-holdings.com</from>
<subject>hro-mvp ${springAppActive}环境 ${springAppName}服务: %-20msg 错误</subject>
<charsetEncoding>UTF-8</charsetEncoding>
......@@ -88,7 +88,7 @@
</springProfile>
<springProfile name="test">
<!-- Level: FATAL 0 ERROR 3 WARN 4 INFO 6 DEBUG 7 -->
<root level="error">
<root level="info">
<appender-ref ref="console"/>
<appender-ref ref="debug"/>
<appender-ref ref="error"/>
......
......@@ -72,7 +72,7 @@
<password>QmdCaQSPmCAQEddd</password>
<SSL>true</SSL>
<asynchronousSending>true</asynchronousSending>
<to>wangpeng@wanxin-holdings.com,fangxinjiang@wanxin-holdings.com,hongguangwu@wanxin-holdings.com</to>
<to>wangpeng@wanxin-holdings.com,fangxinjiang@wanxin-holdings.com,hongguangwu@wanxin-holdings.com,huyuchen@wanxin-holdings.com</to>
<from>information@wanxin-holdings.com</from>
<subject>hro-mvp ${springAppActive}环境 ${springAppName}服务: %-20msg 错误</subject>
<charsetEncoding>UTF-8</charsetEncoding>
......
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