Commit 0658cf92 authored by hongguangwu's avatar hongguangwu

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

parents eb498a7f 0b70bd3f
package com.yifu.cloud.plus.v1.yifu.archives.vo; package com.yifu.cloud.plus.v1.yifu.archives.vo;
import com.alibaba.excel.annotation.ExcelIgnore; import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.HeadFontStyle;
import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableId;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttribute;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
...@@ -101,6 +104,14 @@ public class ProjectSetInfoVo implements Serializable { ...@@ -101,6 +104,14 @@ public class ProjectSetInfoVo implements Serializable {
@Schema(description="封面抬头-商险") @Schema(description="封面抬头-商险")
private String invoiceTitleInsurance; private String invoiceTitleInsurance;
/**
* 我司到款单位
*/
@ExcelAttribute(name = "我司到款单位", maxLength = 100)
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("我司到款单位")
private String unitOfOurCompany;
/** /**
* EKP的 是否BPO: 是 否 * EKP的 是否BPO: 是 否
*/ */
......
...@@ -520,6 +520,7 @@ ...@@ -520,6 +520,7 @@
a.STOP_FLAG, a.STOP_FLAG,
a.INVOICE_TITLE_SALARY, a.INVOICE_TITLE_SALARY,
a.INVOICE_TITLE_INSURANCE, a.INVOICE_TITLE_INSURANCE,
a.UNIT_OF_OUR_COMPANY,
a.BPO_FLAG, a.BPO_FLAG,
a.BPO_ENABLE, a.BPO_ENABLE,
a.SERVER_ITEM a.SERVER_ITEM
......
...@@ -438,13 +438,22 @@ public class SysHouseHoldInfo extends BaseEntity { ...@@ -438,13 +438,22 @@ public class SysHouseHoldInfo extends BaseEntity {
private String isSingleYsdPush; private String isSingleYsdPush;
/** /**
* 推送时,医保完成后才推送社保,默认0否 * 推送时,医保完成后才推送社保,默认0否
*/ */
@ExcelAttribute(name = "根据医保结果办理养工失" ) @ExcelAttribute(name = "根据医保结果办理养工失" )
@Schema(description ="根据医保结果办理养工失") @Schema(description ="根据医保结果办理养工失")
@HeadFontStyle(fontHeightInPoints = 11) @HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("根据医保结果办理养工失") @ExcelProperty("根据医保结果办理养工失")
private String isYsdOkPushYgs; private String isYsdOkPushYgs;
/**
* 大专及以上学校必填 0否1是(默认是)
*/
@ExcelAttribute(name = "大专及以上学校必填" )
@Schema(description ="大专及以上学校必填")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("大专及以上学校必填")
private String collegeDegreeRequired;
/** /**
......
...@@ -82,6 +82,15 @@ public class TDispatchInfoExportVo { ...@@ -82,6 +82,15 @@ public class TDispatchInfoExportVo {
@ExcelProperty("项目名称") @ExcelProperty("项目名称")
private String settleDomainName; private String settleDomainName;
/**
* 项目编码
*/
@ExcelAttribute(name = "项目编码", maxLength = 50)
@Schema(description = "项目编码" )
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("项目编码" )
private String settleDomainCode;
@ExcelAttribute(name = "员工类型", isDataId = true, dataType = ExcelAttributeConstants.EMP_NATRUE) @ExcelAttribute(name = "员工类型", isDataId = true, dataType = ExcelAttributeConstants.EMP_NATRUE)
@Schema(description = "员工类型") @Schema(description = "员工类型")
@HeadFontStyle(fontHeightInPoints = 11) @HeadFontStyle(fontHeightInPoints = 11)
......
...@@ -288,4 +288,13 @@ public class TSocialHouseholdInsertVo extends RowIndex implements Serializable { ...@@ -288,4 +288,13 @@ public class TSocialHouseholdInsertVo extends RowIndex implements Serializable {
@ExcelProperty("医保推送税友接口通道") @ExcelProperty("医保推送税友接口通道")
private String isSingleYsdPush; private String isSingleYsdPush;
/**
* 大专及以上学校必填 0否1是(默认是)
*/
@ExcelAttribute(name = "大专及以上学校必填", maxLength = 1, errorInfo = "大专及以上学校必填不能为空")
@Schema(description ="大专及以上学校必填")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("大专及以上学校必填")
private String collegeDegreeRequired;
} }
...@@ -288,4 +288,13 @@ public class TSocialHouseholdUpdateVo extends RowIndex implements Serializable { ...@@ -288,4 +288,13 @@ public class TSocialHouseholdUpdateVo extends RowIndex implements Serializable {
@ExcelProperty("医保推送税友接口通道") @ExcelProperty("医保推送税友接口通道")
private String isSingleYsdPush; private String isSingleYsdPush;
/**
* 大专及以上学校必填 0否1是(默认是)
*/
@ExcelAttribute(name = "大专及以上学校必填", maxLength = 1, errorInfo = "社保户时,大专及以上学校必填不能为空")
@Schema(description ="大专及以上学校必填")
@HeadFontStyle(fontHeightInPoints = 11)
@ExcelProperty("大专及以上学校必填")
private String collegeDegreeRequired;
} }
...@@ -186,14 +186,14 @@ public class THouseHoldLimitController { ...@@ -186,14 +186,14 @@ public class THouseHoldLimitController {
} }
/** /**
* 户截止日配置表 批量导入 * 户截止日配置表 批量导入 新增或更新
* *
* @author fxj * @author fxj
* @date 2025-12-11 14:19:54 * @date 2025-12-11 14:19:54
**/ **/
@SneakyThrows @SneakyThrows
@Operation(description = "批量新增户截止日配置表") @Operation(description = "批量新增或更新户截止日配置表")
@SysLog("批量新增户截止日配置表") @SysLog("批量新增或更新户截止日配置表")
@PostMapping("/importListAdd") @PostMapping("/importListAdd")
public R<List<ErrorMessage>> importListAdd(@RequestBody MultipartFile file) { public R<List<ErrorMessage>> importListAdd(@RequestBody MultipartFile file) {
YifuUser user = SecurityUtils.getUser(); YifuUser user = SecurityUtils.getUser();
......
...@@ -1086,6 +1086,18 @@ public class SysHouseHoldInfoServiceImpl extends ServiceImpl<SysHouseHoldInfoMap ...@@ -1086,6 +1086,18 @@ public class SysHouseHoldInfoServiceImpl extends ServiceImpl<SysHouseHoldInfoMap
} }
household.setOrganId(dicMap.get(household.getOrganName())); household.setOrganId(dicMap.get(household.getOrganName()));
// 设置大专及以上学校必填字段,默认为1(是)
// 导入新增只支持社保户,所以该字段必填
if (Common.isEmpty(excel.getCollegeDegreeRequired())) {
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), "'大专及以上学校必填'不能为空",excel));
continue;
}
if (!CommonConstants.IS_TRUE.equals(excel.getCollegeDegreeRequired())
&& !CommonConstants.IS_FALSE.equals(excel.getCollegeDegreeRequired())){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), "'大专及以上学校必填'应为是或否",excel));
continue;
}
household.setCollegeDegreeRequired(excel.getCollegeDegreeRequired().equals(CommonConstants.IS_TRUE) ? "1" : "0");
baseMapper.insert(household); baseMapper.insert(household);
// 同步审核权限、办理权限 // 同步审核权限、办理权限
this.saveAuditUserOrHandleUser(household, CommonConstants.ZERO_STRING); this.saveAuditUserOrHandleUser(household, CommonConstants.ZERO_STRING);
...@@ -1358,6 +1370,17 @@ public class SysHouseHoldInfoServiceImpl extends ServiceImpl<SysHouseHoldInfoMap ...@@ -1358,6 +1370,17 @@ public class SysHouseHoldInfoServiceImpl extends ServiceImpl<SysHouseHoldInfoMap
continue; continue;
} }
} }
//大专及以上学校必填 值校验
// 只有账户性质为社保户(0)时才必填
if (Common.isEmpty(excel.getCollegeDegreeRequired())) {
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), "社保户时,'大专及以上学校必填'不能为空",excel));
continue;
}
if (!CommonConstants.IS_TRUE.equals(excel.getCollegeDegreeRequired())
&& !CommonConstants.IS_FALSE.equals(excel.getCollegeDegreeRequired())){
errorMessageList.add(new ErrorMessage(excel.getRowIndex(), "'大专及以上学校必填'应为是或否",excel));
continue;
}
// 新老数据审核人办理人不同,先删除,再添加 // 新老数据审核人办理人不同,先删除,再添加
if (Common.isNotNull(excel.getAuditUserName()) && !excel.getAuditUserName().equals(info.getAuditUserName())) { if (Common.isNotNull(excel.getAuditUserName()) && !excel.getAuditUserName().equals(info.getAuditUserName())) {
tSocialfundHouseResService.deleteAuditUser(info); tSocialfundHouseResService.deleteAuditUser(info);
...@@ -1518,6 +1541,10 @@ public class SysHouseHoldInfoServiceImpl extends ServiceImpl<SysHouseHoldInfoMap ...@@ -1518,6 +1541,10 @@ public class SysHouseHoldInfoServiceImpl extends ServiceImpl<SysHouseHoldInfoMap
if (Common.isNotNull(excel.getMediclPassword())) { if (Common.isNotNull(excel.getMediclPassword())) {
info.setMediclPassword(excel.getMediclPassword()); info.setMediclPassword(excel.getMediclPassword());
} }
// 设置大专及以上学校必填字段
if (Common.isNotNull(excel.getCollegeDegreeRequired())) {
info.setCollegeDegreeRequired(excel.getCollegeDegreeRequired().equals(CommonConstants.IS_TRUE) ? "1" : "0");
}
if (Common.isNotNull(excel.getAuditUserName())) { if (Common.isNotNull(excel.getAuditUserName())) {
SysUser auditUser = userMap.get(excel.getAuditUserName()); SysUser auditUser = userMap.get(excel.getAuditUserName());
info.setAuditUser(auditUser.getUserId()); info.setAuditUser(auditUser.getUserId());
......
...@@ -306,14 +306,9 @@ public class THouseHoldLimitServiceImpl extends ServiceImpl<THouseHoldLimitMappe ...@@ -306,14 +306,9 @@ public class THouseHoldLimitServiceImpl extends ServiceImpl<THouseHoldLimitMappe
continue; continue;
} }
holdLimit = baseMapper.selectOne(Wrappers.<THouseHoldLimit>query().lambda() holdLimit = baseMapper.selectOne(Wrappers.<THouseHoldLimit>query().lambda()
.eq(THouseHoldLimit::getType,excel.getType()) .eq(THouseHoldLimit::getType,excel.getType())
.eq(THouseHoldLimit::getName,excel.getName()) .eq(THouseHoldLimit::getName,excel.getName())
.last(CommonConstants.LAST_ONE_SQL)); .last(CommonConstants.LAST_ONE_SQL));
if (null != holdLimit){
errorMsg = new ErrorMessage(excel.getRowIndex(), "该户名及户类型已存在", excel);
errorMessageList.add(errorMsg);
continue;
}
if (Common.isNotNull(excel.getDeadLineDay())){ if (Common.isNotNull(excel.getDeadLineDay())){
if (!Common.isNumber(excel.getDeadLineDay())){ if (!Common.isNumber(excel.getDeadLineDay())){
errorMsg = new ErrorMessage(excel.getRowIndex(), "派增截止(日)只能是数字", excel); errorMsg = new ErrorMessage(excel.getRowIndex(), "派增截止(日)只能是数字", excel);
...@@ -347,17 +342,32 @@ public class THouseHoldLimitServiceImpl extends ServiceImpl<THouseHoldLimitMappe ...@@ -347,17 +342,32 @@ public class THouseHoldLimitServiceImpl extends ServiceImpl<THouseHoldLimitMappe
limitInsert.setDeadLineDay(excel.getDeadLineDay()); limitInsert.setDeadLineDay(excel.getDeadLineDay());
limitInsert.setAddHandleRule(excel.getAddHandleRule()); limitInsert.setAddHandleRule(excel.getAddHandleRule());
limitInsert.setName(excel.getName()); limitInsert.setName(excel.getName());
limitInsert.setCreateBy(user.getId());
limitInsert.setUpdateBy(user.getId()); limitInsert.setUpdateBy(user.getId());
limitInsert.setCreateTime(LocalDateTime.now());
limitInsert.setUpdateTime(LocalDateTime.now()); limitInsert.setUpdateTime(LocalDateTime.now());
limitInsert.setCreateName(user.getNickname()); // 从户配置中覆盖省市县信息(处理空值情况)
limitInsert.setProvince(houseHold.getProvince()); limitInsert.setProvince(Common.isEmpty(houseHold.getProvince()) ? "" : houseHold.getProvince());
limitInsert.setCity(houseHold.getCity()); limitInsert.setCity(Common.isEmpty(houseHold.getCity()) ? null : houseHold.getCity());
limitInsert.setTown(houseHold.getTown()); limitInsert.setTown(Common.isEmpty(houseHold.getTown()) ? null : houseHold.getTown());
map.put(excel.getName()+excel.getType(),excel.getRowIndex().toString()); map.put(excel.getName()+excel.getType(),excel.getRowIndex().toString());
// 插入 // 判断是新增还是更新
if (!insertExcel(limitInsert)){ boolean success;
if (null != holdLimit){
// 更新已有记录
limitInsert.setId(holdLimit.getId());
limitInsert.setCreateBy(holdLimit.getCreateBy());
limitInsert.setCreateTime(holdLimit.getCreateTime());
limitInsert.setCreateName(holdLimit.getCreateName());
limitInsert.setUpdateBy(user.getId());
limitInsert.setUpdateTime(LocalDateTime.now());
success = updateExcel(limitInsert);
} else {
// 新增记录
limitInsert.setCreateBy(user.getId());
limitInsert.setCreateTime(LocalDateTime.now());
limitInsert.setCreateName(user.getNickname());
success = insertExcel(limitInsert);
}
if (!success){
errorMsg = new ErrorMessage(excel.getRowIndex(), "导入异常", excel); errorMsg = new ErrorMessage(excel.getRowIndex(), "导入异常", excel);
errorMessageList.add(errorMsg); errorMessageList.add(errorMsg);
continue; continue;
...@@ -373,6 +383,13 @@ public class THouseHoldLimitServiceImpl extends ServiceImpl<THouseHoldLimitMappe ...@@ -373,6 +383,13 @@ public class THouseHoldLimitServiceImpl extends ServiceImpl<THouseHoldLimitMappe
return baseMapper.insert(insert) >= 1; return baseMapper.insert(insert) >= 1;
} }
/**
* 更新excel record
*/
private boolean updateExcel(THouseHoldLimit update) {
return baseMapper.updateById(update) >= 1;
}
/** /**
* 通过户名称及类型查询到具体截止日期后去看是否为工作日,如果不是工作日则往前推,知道找到工作日,然后返回工作日 * 通过户名称及类型查询到具体截止日期后去看是否为工作日,如果不是工作日则往前推,知道找到工作日,然后返回工作日
* 如果找不到对应截止日期,则返回null * 如果找不到对应截止日期,则返回null
......
...@@ -75,6 +75,7 @@ ...@@ -75,6 +75,7 @@
<result property="isSingleYsdPush" column="IS_SINGLE_YSD_PUSH"/> <result property="isSingleYsdPush" column="IS_SINGLE_YSD_PUSH"/>
<!--MVP1.7.19 2026-01-20是否办理医保完成后才允许推送社保--> <!--MVP1.7.19 2026-01-20是否办理医保完成后才允许推送社保-->
<result property="isYsdOkPushYgs" column="IS_YSD_OK_PUSH_YGS"/> <result property="isYsdOkPushYgs" column="IS_YSD_OK_PUSH_YGS"/>
<result property="collegeDegreeRequired" column="COLLEGE_DEGREE_REQUIRED"/>
</resultMap> </resultMap>
<resultMap id="sysHouseHoldSingleInfoMap" type="com.yifu.cloud.plus.v1.yifu.social.entity.SysHouseHoldInfo"> <resultMap id="sysHouseHoldSingleInfoMap" type="com.yifu.cloud.plus.v1.yifu.social.entity.SysHouseHoldInfo">
...@@ -133,10 +134,14 @@ ...@@ -133,10 +134,14 @@
,a.IS_SINGLE_YGS_PUSH ,a.IS_SINGLE_YGS_PUSH
,a.IS_SINGLE_YSD_PUSH ,a.IS_SINGLE_YSD_PUSH
,a.IS_YSD_OK_PUSH_YGS ,a.IS_YSD_OK_PUSH_YGS
,a.COLLEGE_DEGREE_REQUIRED
</sql> </sql>
<sql id="sysHouseHoldInfo_where"> <sql id="sysHouseHoldInfo_where">
<if test="sysHouseHoldInfo != null"> <if test="sysHouseHoldInfo != null">
<if test="sysHouseHoldInfo.collegeDegreeRequired != null and sysHouseHoldInfo.collegeDegreeRequired.trim() != ''">
AND a.COLLEGE_DEGREE_REQUIRED = #{sysHouseHoldInfo.collegeDegreeRequired}
</if>
<if test="sysHouseHoldInfo.id != null and sysHouseHoldInfo.id.trim() != ''"> <if test="sysHouseHoldInfo.id != null and sysHouseHoldInfo.id.trim() != ''">
AND a.ID = #{sysHouseHoldInfo.id} AND a.ID = #{sysHouseHoldInfo.id}
</if> </if>
......
...@@ -133,6 +133,7 @@ ...@@ -133,6 +133,7 @@
<result property="empType" column="EMP_TYPE"/> <result property="empType" column="EMP_TYPE"/>
<result property="belongUnitName" column="BELONG_UNIT_NAME"/> <result property="belongUnitName" column="BELONG_UNIT_NAME"/>
<result property="settleDomainName" column="SETTLE_DOMAIN_NAME"/> <result property="settleDomainName" column="SETTLE_DOMAIN_NAME"/>
<result property="settleDomainCode" column="SETTLE_DOMAIN_CODE"/>
<result property="type" column="TYPE"/> <result property="type" column="TYPE"/>
<result property="socialHouseholdName" column="SOCIAL_HOUSEHOLD_NAME"/> <result property="socialHouseholdName" column="SOCIAL_HOUSEHOLD_NAME"/>
<result property="providentHouseholdName" column="PROVIDENT_HOUSEHOLD_NAME"/> <result property="providentHouseholdName" column="PROVIDENT_HOUSEHOLD_NAME"/>
...@@ -827,6 +828,7 @@ ...@@ -827,6 +828,7 @@
a.EMP_TYPE, a.EMP_TYPE,
a.BELONG_UNIT_NAME, a.BELONG_UNIT_NAME,
a.SETTLE_DOMAIN_NAME, a.SETTLE_DOMAIN_NAME,
a.SETTLE_DOMAIN_CODE,
case when a.TYPE = 0 then "派增" case when a.TYPE = 0 then "派增"
when a.TYPE = 1 then "派减" when a.TYPE = 1 then "派减"
else null end as "TYPE" , else null end as "TYPE" ,
......
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