Commit 450f523f authored by zhaji's avatar zhaji

Merge branch 'develop' into feature-zhaji

parents d6f2f9fa 608e0f3f
...@@ -405,13 +405,6 @@ public class TSettleDomain extends BaseEntity { ...@@ -405,13 +405,6 @@ public class TSettleDomain extends BaseEntity {
@Length(max=1,message = "管理费风险金的结算方式:1预估2实缴不能超过1个字符") @Length(max=1,message = "管理费风险金的结算方式:1预估2实缴不能超过1个字符")
@ExcelProperty("管理费风险金的结算方式:1预估2实缴") @ExcelProperty("管理费风险金的结算方式:1预估2实缴")
private String mrSettleType; private String mrSettleType;
/**
* 管理费风险金的收取服务项目:1社保2公积金3商险4薪酬
*/
@ExcelAttribute(name = "管理费风险金的收取服务项目:1社保2公积金3商险4薪酬" , maxLength = 4 )
@Length(max=4,message = "管理费风险金的收取服务项目:1社保2公积金3商险4薪酬不能超过4个字符")
@ExcelProperty("管理费风险金的收取服务项目:1社保2公积金3商险4薪酬")
private String mrServerItem;
/** /**
* 管理费是否收费(0收费/1不收费) * 管理费是否收费(0收费/1不收费)
*/ */
...@@ -453,4 +446,20 @@ public class TSettleDomain extends BaseEntity { ...@@ -453,4 +446,20 @@ public class TSettleDomain extends BaseEntity {
@ExcelProperty("风险金收费方式:1按比例2金额-人数3金额-人次") @ExcelProperty("风险金收费方式:1按比例2金额-人数3金额-人次")
private String riskFundType; private String riskFundType;
/**
* 管理费的收取服务项目:1社保2公积金3商险4薪酬
*/
@ExcelAttribute(name = "管理费的收取服务项目:1社保2公积金3商险4薪酬" , maxLength = 4 )
@Length(max=4,message = "管理费的收取服务项目:1社保2公积金3商险4薪酬不能超过4个字符")
@ExcelProperty("管理费的收取服务项目:1社保2公积金3商险4薪酬")
private String manageServerItem;
/**
* 风险金的收取服务项目:1社保2公积金3商险4薪酬
*/
@ExcelAttribute(name = "风险金的收取服务项目:1社保2公积金3商险4薪酬" , maxLength = 4 )
@Length(max=4,message = "风险金的收取服务项目:1社保2公积金3商险4薪酬不能超过4个字符")
@ExcelProperty("风险金的收取服务项目:1社保2公积金3商险4薪酬")
private String riskServerItem;
} }
...@@ -30,6 +30,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; ...@@ -30,6 +30,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R; 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.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner; import com.yifu.cloud.plus.v1.yifu.common.security.annotation.Inner;
import com.yifu.cloud.plus.v1.yifu.social.entity.TProvidentFund;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
...@@ -186,6 +187,26 @@ public class TSettleDomainController { ...@@ -186,6 +187,26 @@ public class TSettleDomainController {
return listVo; return listVo;
} }
/**
* @param
* @Author: wangan
* @Date: 2019/10/18
* @Description:获取所有客户单位的项目信息
**/
@Inner
@PostMapping("/selectSettleDomainSelectVoByNo")
public TSettleDomainListVo selectSettleDomainSelectVoByNo(@RequestBody TSettleDomainSelectVo tSettleDomainSelectVo) {
List<TSettleDomainSelectVo> list = new ArrayList<>();
TSettleDomain tSettleDomain = tSettleDomainService.getOne(Wrappers.<TSettleDomain>query().lambda()
.eq(TSettleDomain::getDepartNo, tSettleDomainSelectVo.getDepartNo())
.last(CommonConstants.LAST_ONE_SQL));
BeanUtils.copyProperties(tSettleDomain,tSettleDomainSelectVo);
list.add(tSettleDomainSelectVo);
TSettleDomainListVo listVo = new TSettleDomainListVo();
listVo.setListSelectVO(list);
return listVo;
}
/** /**
* @Author fxj * @Author fxj
* @Description 通过项目编码获取项目及客户信息 * @Description 通过项目编码获取项目及客户信息
......
...@@ -79,13 +79,14 @@ ...@@ -79,13 +79,14 @@
<result property="customerNo" column="CUSTOMER_NO"/> <result property="customerNo" column="CUSTOMER_NO"/>
<result property="customerName" column="CUSTOMER_NAME"/> <result property="customerName" column="CUSTOMER_NAME"/>
<result property="mrSettleType" column="MR_SETTLE_TYPE"/> <result property="mrSettleType" column="MR_SETTLE_TYPE"/>
<result property="mrServerItem" column="MR_SERVER_ITEM"/>
<result property="managementTag" column="MANAGEMENT_TAG"/> <result property="managementTag" column="MANAGEMENT_TAG"/>
<result property="managementFee" column="MANAGEMENT_FEE"/> <result property="managementFee" column="MANAGEMENT_FEE"/>
<result property="managementType" column="MANAGEMENT_TYPE"/> <result property="managementType" column="MANAGEMENT_TYPE"/>
<result property="riskFundTag" column="RISK_FUND_TAG"/> <result property="riskFundTag" column="RISK_FUND_TAG"/>
<result property="riskFundFee" column="RISK_FUND_FEE"/> <result property="riskFundFee" column="RISK_FUND_FEE"/>
<result property="riskFundType" column="RISK_FUND_TYPE"/> <result property="riskFundType" column="RISK_FUND_TYPE"/>
<result property="manageServerItem" column="MANAGE_SERVER_ITEM"/>
<result property="riskServerItem" column="RISK_SERVER_ITEM"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
...@@ -149,13 +150,14 @@ ...@@ -149,13 +150,14 @@
a.INVOICE_TITLE, a.INVOICE_TITLE,
a.FUND_TYPE, a.FUND_TYPE,
a.MR_SETTLE_TYPE, a.MR_SETTLE_TYPE,
a.MR_SERVER_ITEM,
a.MANAGEMENT_TAG, a.MANAGEMENT_TAG,
a.MANAGEMENT_FEE, a.MANAGEMENT_FEE,
a.MANAGEMENT_TYPE, a.MANAGEMENT_TYPE,
a.RISK_FUND_TAG, a.RISK_FUND_TAG,
a.RISK_FUND_FEE, a.RISK_FUND_FEE,
a.RISK_FUND_TYPE a.RISK_FUND_TYPE,
a.MANAGE_SERVER_ITEM,
a.RISK_SERVER_ITEM
</sql> </sql>
<resultMap id="tSettleDomainSelectVoMap" type="com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainSelectVo"> <resultMap id="tSettleDomainSelectVoMap" type="com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainSelectVo">
......
...@@ -476,4 +476,5 @@ public interface CommonConstants { ...@@ -476,4 +476,5 @@ public interface CommonConstants {
public static final String XLSX = ".xlsx"; public static final String XLSX = ".xlsx";
public static final String ERROR_IMPORT = "执行异常";
} }
...@@ -70,9 +70,16 @@ public class YifuUser extends User { ...@@ -70,9 +70,16 @@ public class YifuUser extends User {
@Getter @Getter
private final String userGroup; private final String userGroup;
public YifuUser(String id, Long deptId,String deptName, String username, String nickname,String systemFlag, String password, String phone, boolean enabled, /**
boolean accountNonExpired, boolean credentialsNonExpired, boolean accountNonLocked,String userGroup, * LDAP_DN
Collection<? extends GrantedAuthority> authorities) { */
@Getter
private String ldapDn;
public YifuUser(String id, Long deptId,String deptName, String username, String nickname,String systemFlag,
String password, String phone, boolean enabled, boolean accountNonExpired,
boolean credentialsNonExpired, boolean accountNonLocked,
String userGroup, Collection<? extends GrantedAuthority> authorities, String ldapDn) {
super(username, password, enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, authorities); super(username, password, enabled, accountNonExpired, credentialsNonExpired, accountNonLocked, authorities);
this.id = id; this.id = id;
this.deptId = deptId; this.deptId = deptId;
...@@ -81,6 +88,7 @@ public class YifuUser extends User { ...@@ -81,6 +88,7 @@ public class YifuUser extends User {
this.nickname = nickname; this.nickname = nickname;
this.systemFlag = systemFlag; this.systemFlag = systemFlag;
this.userGroup = userGroup; this.userGroup = userGroup;
this.ldapDn = ldapDn;
} }
} }
...@@ -139,6 +139,23 @@ public class ArchivesDaprUtil { ...@@ -139,6 +139,23 @@ public class ArchivesDaprUtil {
return res; return res;
} }
/**
* @Author huyc
* @Description 根据项目id 获取项目编码
* @Date 11:50 2022/8/9
* @Param
* @return
**/
public R<TSettleDomainListVo> selectSettleDomainSelectVoByNo(String deptNo){
TSettleDomainSelectVo settleDomainSelectVo = new TSettleDomainSelectVo();
settleDomainSelectVo.setDepartNo(deptNo);
R<TSettleDomainListVo> res = HttpDaprUtil.invokeMethodPost(daprArchivesProperties.getAppUrl(),daprArchivesProperties.getAppId(),"/tsettledomain/selectSettleDomainSelectVoByNo",settleDomainSelectVo, TSettleDomainListVo.class, SecurityConstants.FROM_IN);
if (Common.isEmpty(res)){
return R.failed("通过项目id获取项目信息失败!");
}
return res;
}
public R<EmpDispatchAddVo> addDispatchInfo(EmpDispatchAddVo addVo) { public R<EmpDispatchAddVo> addDispatchInfo(EmpDispatchAddVo addVo) {
R<EmpDispatchAddVo> res = HttpDaprUtil.invokeMethodPost(daprArchivesProperties.getAppUrl(),daprArchivesProperties.getAppId(),"/temployeeinfo/addDispatchInfo" , JSON.toJSONString(addVo), EmpDispatchAddVo.class, SecurityConstants.FROM_IN); R<EmpDispatchAddVo> res = HttpDaprUtil.invokeMethodPost(daprArchivesProperties.getAppUrl(),daprArchivesProperties.getAppId(),"/temployeeinfo/addDispatchInfo" , JSON.toJSONString(addVo), EmpDispatchAddVo.class, SecurityConstants.FROM_IN);
if (Common.isEmpty(res)){ if (Common.isEmpty(res)){
......
...@@ -8,6 +8,8 @@ import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprSocialProperties; ...@@ -8,6 +8,8 @@ import com.yifu.cloud.plus.v1.yifu.common.dapr.config.DaprSocialProperties;
import com.yifu.cloud.plus.v1.yifu.salary.vo.HaveSalaryNoSocialSearchVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.HaveSalaryNoSocialSearchVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.HaveSalaryNoSocialVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.HaveSalaryNoSocialVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo;
import com.yifu.cloud.plus.v1.yifu.social.entity.TIncomeDetail;
import com.yifu.cloud.plus.v1.yifu.social.vo.TIncomeDetailReturnVo;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.context.properties.EnableConfigurationProperties; import org.springframework.boot.context.properties.EnableConfigurationProperties;
...@@ -58,8 +60,8 @@ public class SocialDaprUtils { ...@@ -58,8 +60,8 @@ public class SocialDaprUtils {
/** /**
* @Author huyc * @Author huyc
* @Description 去缴费库查询查询这些人社保是否存在 * @Description 更新预估库
* @Date 17:38 2022/8/15 * @Date 2022/8/15
* @Param * @Param
* @return * @return
**/ **/
...@@ -69,12 +71,38 @@ public class SocialDaprUtils { ...@@ -69,12 +71,38 @@ public class SocialDaprUtils {
/** /**
* @Author huyc * @Author huyc
* @Description 去缴费库查询查询这些人社保是否存在 * @Description 更新缴费库
* @Date 17:38 2022/8/15 * @Date 2022/8/15
* @Param * @Param
* @return * @return
**/ **/
public void updateSocialAndFoundInfo(UpdateSocialFoundVo infoVo) { public void updateSocialAndFoundInfo(UpdateSocialFoundVo infoVo) {
HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/tsocialfundinfo/inner/updateSocialAndFoundInfo", JSON.toJSONString(infoVo), UpdateSocialFoundVo.class, SecurityConstants.FROM_IN); HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/tsocialfundinfo/inner/updateSocialAndFoundInfo", JSON.toJSONString(infoVo), UpdateSocialFoundVo.class, SecurityConstants.FROM_IN);
} }
/**
* @Author huyc
* @Description 生成收入数据
* @Date 2022/9/2
* @Param
* @return
**/
public void createTIncomeDetail(TIncomeDetail infoVo) {
HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/tincomedetail/inner/createTIncomeDetail", JSON.toJSONString(infoVo), TIncomeDetail.class, SecurityConstants.FROM_IN);
}
/**
* @Author huyc
* @Description 生成收入数据
* @Date 2022/9/2
* @Param
* @return
**/
public R<TIncomeDetailReturnVo> getTIncomeDetailList(TIncomeDetail infoVo) {
R<TIncomeDetailReturnVo> listVo = HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/tincomedetail/inner/getTIncomeDetailList", JSON.toJSONString(infoVo), TIncomeDetail.class, SecurityConstants.FROM_IN);
if (Common.isEmpty(listVo)){
return R.failed("查询人员收入数据失败!");
}
return listVo;
}
} }
...@@ -69,9 +69,11 @@ public interface YifuUserDetailsService extends UserDetailsService, Ordered { ...@@ -69,9 +69,11 @@ public interface YifuUserDetailsService extends UserDetailsService, Ordered {
SysUser user = info.getSysUser(); SysUser user = info.getSysUser();
// 构造security用户 // 构造security用户
return new YifuUser(user.getUserId(), user.getDeptId(),user.getDeptName(), user.getUsername(),user.getNickname(),user.getSystemFlag(), return new YifuUser(user.getUserId(), user.getDeptId(),user.getDeptName(), user.getUsername(),
SecurityConstants.BCRYPT + user.getPassword(), user.getPhone(), true, true, user.getNickname(),user.getSystemFlag(), SecurityConstants.BCRYPT + user.getPassword(),
true, StrUtil.equals(user.getLockFlag(), CommonConstants.STATUS_NORMAL), user.getUserGroup(),authorities); user.getPhone(), true, true, true,
StrUtil.equals(user.getLockFlag(), CommonConstants.STATUS_NORMAL),
user.getUserGroup(),authorities, user.getLdapDn());
} }
/** /**
......
...@@ -98,4 +98,27 @@ public class SocialTask { ...@@ -98,4 +98,27 @@ public class SocialTask {
log.info("------------定时生成公积金缴费库明细的数据-定时任务结束------------"); log.info("------------定时生成公积金缴费库明细的数据-定时任务结束------------");
} }
/**
* @Description: 定时生成社保缴费库收入的数据
* @Author: huyc
* @Date: 2022/8/30
* @return: void
**/
public void createPaymentInfoIncome() {
log.info("------------定时生成缴费库的收入数据-定时任务开始------------");
HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/tpaymentinfo/inner/createPaymentInfoIncome","", Object.class, SecurityConstants.FROM_IN);
log.info("------------定时生成缴费库的收入数据-定时任务结束------------");
}
/**
* @Description: 定时生成公积金缴费库明细的数据
* @Author: huyc
* @Date: 2022/8/30
* @return: void
**/
public void createPaymentFundIncome() {
log.info("------------定时生成缴费库的收入数据-定时任务开始------------");
HttpDaprUtil.invokeMethodPost(daprProperties.getAppUrl(),daprProperties.getAppId(),"/tpaymentinfo/inner/createPaymentFundIncome","", Object.class, SecurityConstants.FROM_IN);
log.info("------------定时生成缴费库的收入数据-定时任务结束------------");
}
} }
...@@ -249,7 +249,7 @@ public class TSalaryStandardServiceImpl extends ServiceImpl<TSalaryStandardMappe ...@@ -249,7 +249,7 @@ public class TSalaryStandardServiceImpl extends ServiceImpl<TSalaryStandardMappe
return R.failed("获取项目信息失败,请联管理员!"); return R.failed("获取项目信息失败,请联管理员!");
} }
// 含有薪资,则计算收入 // 含有薪资,则计算收入
if (Common.isNotNull(dept.getMrServerItem()) && dept.getMrServerItem().contains(CommonConstants.FOUR_STRING)) { if (Common.isNotNull(dept.getManageServerItem()) && dept.getManageServerItem().contains(CommonConstants.FOUR_STRING)) {
// 管理费 // 管理费
if (CommonConstants.ZERO_STRING.equals(dept.getManagementTag())) { if (CommonConstants.ZERO_STRING.equals(dept.getManagementTag())) {
// 金额-人数 // 金额-人数
...@@ -291,6 +291,8 @@ public class TSalaryStandardServiceImpl extends ServiceImpl<TSalaryStandardMappe ...@@ -291,6 +291,8 @@ public class TSalaryStandardServiceImpl extends ServiceImpl<TSalaryStandardMappe
if (failed != null) return failed; if (failed != null) return failed;
} }
} }
}
if (Common.isNotNull(dept.getRiskServerItem()) && dept.getRiskServerItem().contains(CommonConstants.FOUR_STRING)) {
// 风险金 // 风险金
if (CommonConstants.ZERO_STRING.equals(dept.getRiskFundTag())) { if (CommonConstants.ZERO_STRING.equals(dept.getRiskFundTag())) {
// 金额-人数 // 金额-人数
......
...@@ -340,4 +340,32 @@ public class TPaymentInfoController { ...@@ -340,4 +340,32 @@ public class TPaymentInfoController {
public void createPaymentFundInfo() { public void createPaymentFundInfo() {
tPaymentInfoService.createPaymentFundInfo(); tPaymentInfoService.createPaymentFundInfo();
} }
/**
* @Description: 定时生成缴费库的收入数据
* @Author: huyc
* @Date: 2022/8/30
* @return: void
**/
@Operation(summary = "定时生成缴费库的收入数据", description = "定时生成缴费库的收入数据")
@SysLog("定时生成缴费库的收入数据")
@Inner
@PostMapping("/inner/createPaymentInfoIncome")
public void createPaymentInfoIncome() {
tPaymentInfoService.createPaymentInfoIncome();
}
/**
* @Description: 定时生成公积金的收入数据
* @Author: huyc
* @Date: 2022/8/30
* @return: void
**/
@Operation(summary = "定时生成公积金的收入数据", description = "定时生成公积金的收入数据")
@SysLog("定时生成公积金的收入数据")
@Inner
@PostMapping("/inner/createPaymentFundIncome")
public void createPaymentFundIncome() {
tPaymentInfoService.createPaymentFundIncome();
}
} }
...@@ -134,4 +134,7 @@ public interface TPaymentInfoService extends IService<TPaymentInfo> { ...@@ -134,4 +134,7 @@ public interface TPaymentInfoService extends IService<TPaymentInfo> {
void createPaymentSocialInfo(); void createPaymentSocialInfo();
void createPaymentFundInfo(); void createPaymentFundInfo();
void createPaymentInfoIncome();
void createPaymentFundIncome();
} }
...@@ -86,9 +86,9 @@ public class TIncomeServiceImpl extends ServiceImpl<TIncomeMapper, TIncome> impl ...@@ -86,9 +86,9 @@ public class TIncomeServiceImpl extends ServiceImpl<TIncomeMapper, TIncome> impl
ServletOutputStream out = null; ServletOutputStream out = null;
try { try {
out = response.getOutputStream(); out = response.getOutputStream();
response.setContentType("multipart/form-data"); response.setContentType(CommonConstants.MULTIPART_FORM_DATA);
response.setCharacterEncoding("utf-8"); response.setCharacterEncoding(CommonConstants.UTF8);
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8")); response.setHeader(CommonConstants.CONTENT_DISPOSITION, CommonConstants.ATTACHMENT_FILENAME + URLEncoder.encode(fileName, CommonConstants.UTF8));
// 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭 // 这里 需要指定写用哪个class去写,然后写到第一个sheet,然后文件流会自动关闭
ExcelWriter excelWriter = EasyExcel.write(out, IncomeExportVo.class).build(); ExcelWriter excelWriter = EasyExcel.write(out, IncomeExportVo.class).build();
int index = 0; int index = 0;
...@@ -97,7 +97,7 @@ public class TIncomeServiceImpl extends ServiceImpl<TIncomeMapper, TIncome> impl ...@@ -97,7 +97,7 @@ public class TIncomeServiceImpl extends ServiceImpl<TIncomeMapper, TIncome> impl
// 获取实际记录 // 获取实际记录
searchVo.setLimitStart(i); searchVo.setLimitStart(i);
searchVo.setLimitEnd(CommonConstants.EXCEL_EXPORT_LIMIT); searchVo.setLimitEnd(CommonConstants.EXCEL_EXPORT_LIMIT);
list = noPageDiy(searchVo, null, Common.getList(searchVo.getIds()), ""); list = noPageDiy(searchVo, null, Common.getList(searchVo.getIds()), CommonConstants.EMPTY_STRING);
if (Common.isNotNull(list)) { if (Common.isNotNull(list)) {
ExcelUtil<IncomeExportVo> util = new ExcelUtil<>(IncomeExportVo.class); ExcelUtil<IncomeExportVo> util = new ExcelUtil<>(IncomeExportVo.class);
for (IncomeExportVo vo : list) { for (IncomeExportVo vo : list) {
...@@ -124,14 +124,14 @@ public class TIncomeServiceImpl extends ServiceImpl<TIncomeMapper, TIncome> impl ...@@ -124,14 +124,14 @@ public class TIncomeServiceImpl extends ServiceImpl<TIncomeMapper, TIncome> impl
out.flush(); out.flush();
excelWriter.finish(); excelWriter.finish();
} catch (Exception e) { } catch (Exception e) {
log.error("执行异常", e); log.error(CommonConstants.ERROR_IMPORT, e);
} finally { } finally {
try { try {
if (null != out) { if (null != out) {
out.close(); out.close();
} }
} catch (IOException e) { } catch (IOException e) {
log.error("执行异常", e); log.error(CommonConstants.ERROR_IMPORT, e);
} }
} }
} }
......
...@@ -28,19 +28,28 @@ import com.baomidou.mybatisplus.core.metadata.IPage; ...@@ -28,19 +28,28 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.yifu.cloud.plus.v1.check.entity.TCheckIdCard;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysArea; import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysArea;
import com.yifu.cloud.plus.v1.yifu.admin.api.vo.AreaVo; import com.yifu.cloud.plus.v1.yifu.admin.api.vo.AreaVo;
import com.yifu.cloud.plus.v1.yifu.archives.entity.TSettleDomain;
import com.yifu.cloud.plus.v1.yifu.archives.vo.ProjectSetInfoVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.SetInfoVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainListVo;
import com.yifu.cloud.plus.v1.yifu.archives.vo.TSettleDomainSelectVo;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttributeConstants; import com.yifu.cloud.plus.v1.yifu.common.core.constant.ExcelAttributeConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.exception.ErrorCodes; import com.yifu.cloud.plus.v1.yifu.common.core.exception.ErrorCodes;
import com.yifu.cloud.plus.v1.yifu.common.core.util.*; import com.yifu.cloud.plus.v1.yifu.common.core.util.*;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser; import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.ArchivesDaprUtil;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.UpmsDaprUtils; import com.yifu.cloud.plus.v1.yifu.common.dapr.util.UpmsDaprUtils;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils; import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.ekp.util.EkpFundUtil; import com.yifu.cloud.plus.v1.yifu.ekp.util.EkpFundUtil;
import com.yifu.cloud.plus.v1.yifu.ekp.util.EkpSocialUtil; import com.yifu.cloud.plus.v1.yifu.ekp.util.EkpSocialUtil;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpPushFundParam; import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpPushFundParam;
import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpPushSocialParam; import com.yifu.cloud.plus.v1.yifu.ekp.vo.EkpPushSocialParam;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceDetail;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TStatisticsDeclarer;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo; import com.yifu.cloud.plus.v1.yifu.salary.vo.UpdateSocialFoundVo;
...@@ -54,6 +63,7 @@ import com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentHeFeiVo; ...@@ -54,6 +63,7 @@ import com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentHeFeiVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentInfoSearchVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentInfoSearchVo;
import com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentInfoVo; import com.yifu.cloud.plus.v1.yifu.social.vo.TPaymentInfoVo;
import lombok.extern.log4j.Log4j2; import lombok.extern.log4j.Log4j2;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
...@@ -64,10 +74,8 @@ import java.io.InputStream; ...@@ -64,10 +74,8 @@ import java.io.InputStream;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.text.NumberFormat; import java.text.NumberFormat;
import java.util.ArrayList; import java.time.LocalDateTime;
import java.util.HashMap; import java.util.*;
import java.util.List;
import java.util.UUID;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
...@@ -112,6 +120,12 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa ...@@ -112,6 +120,12 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
@Autowired @Autowired
private EkpSocialUtil ekpSocialUtil; private EkpSocialUtil ekpSocialUtil;
@Autowired
private TIncomeDetailMapper detailMapper;
@Autowired
private ArchivesDaprUtil archivesDaprUtil;
/** /**
* 缴费库简单分页查询 * 缴费库简单分页查询
* *
...@@ -2239,6 +2253,46 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa ...@@ -2239,6 +2253,46 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
} }
} }
@Override
public void createPaymentInfoIncome() {
BigDecimal sumSocial = BigDecimal.ZERO;
//判断缴费库中社保合计和本次导入合计相加是否为0,为0则不生成收入
List<TPaymentInfo> sumList = baseMapper.selectList(Wrappers.<TPaymentInfo>query().lambda()
.lt(TPaymentInfo::getCreateTime, LocalDateTimeUtils.getDayStart(LocalDateTime.now()))
.isNotNull(TPaymentInfo::getSocialId));
if (Common.isNotNull(sumList)) {
for (TPaymentInfo paymentInfo: sumList) {
//获取员工当前缴纳月总合计
List<TPaymentInfo> payInfoList = baseMapper.selectList(Wrappers.<TPaymentInfo>query().lambda()
.eq(TPaymentInfo::getEmpIdcard, paymentInfo.getEmpIdcard())
.eq(TPaymentInfo::getSocialPayMonth, paymentInfo.getSocialPayMonth())
.eq(TPaymentInfo::getSettleDomainId, paymentInfo.getSettleDomainId()));
if (Common.isNotNull(payInfoList)) {
for (TPaymentInfo payInfo:payInfoList)
sumSocial = BigDecimalUtils.safeAdd(sumSocial,payInfo.getSocialSum());
}
if (sumSocial.compareTo(BigDecimal.ZERO) == CommonConstants.ZERO_INT) {
continue;
}
//生成收入
createIncomeInfo(paymentInfo,CommonConstants.ONE_STRING);
}
}
}
@Override
public void createPaymentFundIncome() {
List<TPaymentInfo> sumList = baseMapper.selectList(Wrappers.<TPaymentInfo>query().lambda()
.lt(TPaymentInfo::getCreateTime, LocalDateTimeUtils.getDayStart(LocalDateTime.now()))
.isNotNull(TPaymentInfo::getFundId));
if (Common.isNotNull(sumList)) {
for (TPaymentInfo paymentInfo: sumList) {
//生成公积金收入
createIncomeInfo(paymentInfo,CommonConstants.TWO_STRING);
}
}
}
public List<String> initEkpPushSocialParam(List<TPaymentInfo> unPushInfo) { public List<String> initEkpPushSocialParam(List<TPaymentInfo> unPushInfo) {
List<String> pushList = new ArrayList<>(); List<String> pushList = new ArrayList<>();
for (TPaymentInfo library:unPushInfo) { for (TPaymentInfo library:unPushInfo) {
...@@ -2555,4 +2609,110 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa ...@@ -2555,4 +2609,110 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
return pushList; return pushList;
} }
public void createIncomeInfo(TPaymentInfo paymentInfo,String socialFundFlag) {
//获取项目信息
TSettleDomain settleDomain = new TSettleDomain();
List<TSettleDomainSelectVo> settleDomainR = null;
R<TSettleDomainListVo> listVo = null;
listVo = archivesDaprUtil.selectSettleDomainSelectVoById(paymentInfo.getSettleDomainId());
if (Common.isNotNull(listVo)) {
TSettleDomainListVo tSettleDomainListVo = listVo.getData();
if (Common.isNotNull(tSettleDomainListVo) && Common.isNotEmpty(tSettleDomainListVo.getListSelectVO())) {
settleDomainR = tSettleDomainListVo.getListSelectVO();
for (TSettleDomainSelectVo vo :settleDomainR) {
BeanUtils.copyProperties(vo,settleDomain);
}
}
}
Boolean exitFlag = false;
TIncomeDetail exitIncome = new TIncomeDetail();
if (CommonConstants.ONE_STRING.equals(socialFundFlag)) {
exitIncome = detailMapper.selectOne(Wrappers.<TIncomeDetail>query().lambda()
.eq(TIncomeDetail::getEmpIdcard, paymentInfo.getEmpIdcard())
.eq(TIncomeDetail::getPayMonth, paymentInfo.getSocialPayMonth())
.eq(TIncomeDetail::getDeptId, paymentInfo.getSettleDomainId())
.eq(TIncomeDetail::getSourceType, CommonConstants.ONE_STRING)
.last(CommonConstants.LAST_ONE_SQL));
} else {
exitIncome = detailMapper.selectOne(Wrappers.<TIncomeDetail>query().lambda()
.eq(TIncomeDetail::getEmpIdcard, paymentInfo.getEmpIdcard())
.eq(TIncomeDetail::getPayMonth, paymentInfo.getSocialPayMonth())
.eq(TIncomeDetail::getDeptId, paymentInfo.getSettleDomainId())
.eq(TIncomeDetail::getSourceType, CommonConstants.TWO_STRING)
.last(CommonConstants.LAST_ONE_SQL));
}
if (Common.isNotNull(exitIncome)) {
exitFlag = true;
}
if (Common.isNotNull(settleDomain)) {
if (CommonConstants.ZERO_STRING.equals(settleDomain.getManagementTag())) {
//按金额计算的话要看缴纳月有没有收入数据
if (!exitFlag) {
BigDecimal gMoney = BigDecimal.ZERO;
if (CommonConstants.ONE_STRING.equals(settleDomain.getManagementType())) {
if (CommonConstants.ONE_STRING.equals(socialFundFlag)) {
gMoney = BigDecimalUtils.safeMultiply(paymentInfo.getSocialSum(), settleDomain.getManagementFee());
} else {
gMoney = BigDecimalUtils.safeMultiply(paymentInfo.getProvidentSum(), settleDomain.getManagementFee());
}
} else {
if (CommonConstants.ONE_STRING.equals(socialFundFlag)) {
gMoney = paymentInfo.getSocialSum();
} else {
gMoney = paymentInfo.getProvidentSum();
}
createIncomeRiskInfo(paymentInfo, settleDomain, CommonConstants.ONE_STRING,
settleDomain.getManagementFee().toString(), settleDomain.getManagementType(), gMoney, socialFundFlag);
}
}
if (CommonConstants.ZERO_STRING.equals(settleDomain.getRiskFundTag())) {
BigDecimal money = BigDecimal.ZERO;
if (CommonConstants.ONE_STRING.equals(settleDomain.getRiskFundType())) {
if (CommonConstants.ONE_STRING.equals(socialFundFlag)) {
money = BigDecimalUtils.safeMultiply(paymentInfo.getSocialSum(), settleDomain.getRiskFundFee());
} else {
money = BigDecimalUtils.safeMultiply(paymentInfo.getProvidentSum(), settleDomain.getRiskFundFee());
}
} else {
if (CommonConstants.ONE_STRING.equals(socialFundFlag)) {
money = paymentInfo.getSocialSum();
} else {
money = paymentInfo.getProvidentSum();
}
}
createIncomeRiskInfo(paymentInfo, settleDomain, CommonConstants.TWO_STRING,
settleDomain.getRiskFundFee().toString(), settleDomain.getRiskFundType(), money, socialFundFlag);
}
}
}
}
public void createIncomeRiskInfo(TPaymentInfo paymentInfo,TSettleDomain settleDomain,String feeType,
String charges, String feeMode,BigDecimal money,String sourceType) {
//生成收入数据
TIncomeDetail detail = new TIncomeDetail();
detail.setCreateTime(DateUtil.getCurrentDateTime());
detail.setDeptName(paymentInfo.getSettleDomainName());
detail.setDeptNo(paymentInfo.getSettleDomainCode());
detail.setDeptId(paymentInfo.getSettleDomainId());
detail.setEmpIdcard(paymentInfo.getEmpIdcard());
detail.setEmpName(paymentInfo.getEmpName());
detail.setUnitNo(settleDomain.getCustomerNo());
detail.setUnitId(paymentInfo.getUnitId());
detail.setUnitName(paymentInfo.getUnitName());
detail.setDataCreateMonth(DateUtil.addMonth(0));
detail.setSourceId(paymentInfo.getId());
detail.setSourceType(sourceType);
detail.setCreateMonth(paymentInfo.getSocialCreateMonth());
detail.setPayMonth(paymentInfo.getSocialPayMonth());
detail.setMoney(money);
detail.setFeeType(feeType);
detail.setFeeMode(feeMode);
detail.setCharges(charges);
detail.setMrSettleType(settleDomain.getMrSettleType());
detail.setId(CommonConstants.NULL);
detailMapper.insert(detail);
}
} }
...@@ -132,4 +132,10 @@ public class SysUser extends BaseEntity { ...@@ -132,4 +132,10 @@ public class SysUser extends BaseEntity {
@TableLogic @TableLogic
private String delFlag; private String delFlag;
/**
* LDAP_DN
*/
@Schema(description = "LDAP_DN")
private String ldapDn;
} }
...@@ -18,6 +18,7 @@ package com.yifu.cloud.plus.v1.yifu.admin.api.vo; ...@@ -18,6 +18,7 @@ package com.yifu.cloud.plus.v1.yifu.admin.api.vo;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysPost; import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysPost;
import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysRole; import com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysRole;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
...@@ -127,4 +128,10 @@ public class UserVO implements Serializable { ...@@ -127,4 +128,10 @@ public class UserVO implements Serializable {
* 是否是系统内置 * 是否是系统内置
*/ */
private String systemFlag; private String systemFlag;
/**
* LDAP_DN
*/
@Schema(description = "LDAP_DN")
private String ldapDn;
} }
...@@ -36,6 +36,7 @@ ...@@ -36,6 +36,7 @@
<result column="post" property="post"/> <result column="post" property="post"/>
<result column="email" property="email"/> <result column="email" property="email"/>
<result column="system_flag" property="systemFlag"/> <result column="system_flag" property="systemFlag"/>
<result column="dept_dn" property="ldapDn"/>
<collection property="roleList" ofType="com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysRole" <collection property="roleList" ofType="com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysRole"
select="com.yifu.cloud.plus.v1.yifu.admin.mapper.SysRoleMapper.listRolesByUserId" column="user_id"> select="com.yifu.cloud.plus.v1.yifu.admin.mapper.SysRoleMapper.listRolesByUserId" column="user_id">
</collection> </collection>
...@@ -60,6 +61,7 @@ ...@@ -60,6 +61,7 @@
<result column="post" property="post"/> <result column="post" property="post"/>
<result column="email" property="email"/> <result column="email" property="email"/>
<result column="system_flag" property="systemFlag"/> <result column="system_flag" property="systemFlag"/>
<result column="dept_dn" property="ldapDn"/>
<collection property="roleList" ofType="com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysRole"> <collection property="roleList" ofType="com.yifu.cloud.plus.v1.yifu.admin.api.entity.SysRole">
<id column="role_id" property="roleId"/> <id column="role_id" property="roleId"/>
<result column="role_name" property="roleName"/> <result column="role_name" property="roleName"/>
...@@ -88,6 +90,7 @@ ...@@ -88,6 +90,7 @@
sys_user.post, sys_user.post,
sys_user.email, sys_user.email,
sys_user.system_flag, sys_user.system_flag,
sys_user.dept_dn,
r.role_id, r.role_id,
r.role_name, r.role_name,
r.role_code, r.role_code,
...@@ -112,6 +115,7 @@ ...@@ -112,6 +115,7 @@
sys_user.post, sys_user.post,
sys_user.email, sys_user.email,
sys_user.system_flag, sys_user.system_flag,
sys_user.dept_dn,
r.role_id, r.role_id,
r.role_name, r.role_name,
r.role_code, r.role_code,
...@@ -192,7 +196,8 @@ ...@@ -192,7 +196,8 @@
u.user_group, u.user_group,
u.email, u.email,
u.system_flag, u.system_flag,
d.name AS deptName d.name AS deptName,
u.dept_dn
FROM sys_user u FROM sys_user u
LEFT JOIN sys_dept d ON d.dept_id = u.dept_id LEFT JOIN sys_dept d ON d.dept_id = u.dept_id
<where> <where>
......
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