Commit 40f94e86 authored by fangxinjiang's avatar fangxinjiang

Merge remote-tracking branch 'origin/develop' into develop

parents e7b475a9 c640743e
......@@ -868,10 +868,6 @@ public class InsurancesConstants {
* 当前为投保中状态,不可办理
*/
public static final String BUY_HANDLE_STATUS_TWO_HANDLE_ERROR = "当前为投保中状态,不可办理";
/**
* 当前为非投保中状态,不可办理
*/
public static final String BUY_HANDLE_STATUS_NOT_TWO_HANDLE_ERROR = "当前为非投保中状态,不可办理";
/**
* 当前为已投保状态,不可办理
*/
......
package com.yifu.cloud.plus.v1.yifu.insurances.entity;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* ekp交互失败存储表
* @TableName t_insurance_ekp
*/
@Data
@Tag(name = "ekp交互失败存储表")
public class TInsuranceEkp implements Serializable {
/**
* 主键id
*/
private String id;
/**
* 商险id
*/
private String detailId;
/**
* 结算id
*/
private String defaultSettleId;
/**
* 项目编码
*/
private String deptNo;
/**
* 项目名称
*/
private String deptName;
/**
* 客户名称
*/
private String customerName;
/**
* 客户编码
*/
private String customerCode;
/**
* 员工姓名
*/
private String empName;
/**
* 员工身份证号
*/
private String empIdcardNo;
/**
* 发票号
*/
private String invoiceNo;
/**
* 发生日期
*/
private Date happenDate;
/**
* 保单编号
*/
private String policyNo;
/**
* 保险公司名称
*/
private String insuranceCompanyName;
/**
* 险种名称
*/
private String insuranceTypeName;
/**
* 保单开始时间
*/
private Date policyStart;
/**
* 保单结束时间
*/
private Date policyEnd;
/**
* 购买标准
*/
private String buyStandard;
/**
* 医疗额度
*/
private String medicalQuota;
/**
* 身故或残疾额度
*/
private String dieDisableQuota;
/**
* 实际保费
*/
private String actualPremium;
/**
* 预估保费
*/
private String estimatePremium;
/**
* 结算月
*/
private String settleMonth;
/**
* 单据状态
*/
private String interactiveType;
/**
* 重发标识
*/
private String resendFlag;
/**
* 创建时间
*/
private Date createTime;
/**
* 发送时间
*/
private Date pushTime;
private static final long serialVersionUID = 1L;
}
\ No newline at end of file
......@@ -29,7 +29,7 @@ public class EKPInteractiveParam implements Serializable {
/**
* 商险id
*/
@Schema(description = "主键")
@Schema(description = "商险id")
private String detailId;
/**
......
......@@ -81,19 +81,6 @@ public class TInsuranceDetailController {
return R.ok(tInsuranceDetailService.getInsuranceHandleListPage(page, param));
}
/**
* 投保办理不分页查询
*
* @author licancan
* @param param
* @return {@link R<List<InsuranceListVO>>}
*/
@Operation(summary = "投保办理不分页查询", description = "投保办理不分页查询")
@PostMapping("/getInsuranceHandleList")
public R<List<InsuranceListVO>> getInsuranceHandleList(@RequestBody InsuranceListParam param) {
return R.ok(tInsuranceDetailService.getInsuranceHandleList(param));
}
/**
* 投保分页查询
*
......@@ -253,7 +240,7 @@ public class TInsuranceDetailController {
*/
@Operation(summary = "投保成功/退回办理导入", description = "投保成功/退回办理导入")
@PostMapping("/insuranceHandleImport")
public R<List<InsuranceHandleImportParam>> insuranceHandleImport(@RequestBody List<InsuranceHandleImportParam> param) {
public R<List<InsuranceHandleImportParam>> insuranceHandleImport(@RequestBody @Valid @Size(min = 1,message = "集合不能为空") List<InsuranceHandleImportParam> param) {
YifuUser user = SecurityUtils.getUser();
if (user == null || Common.isEmpty(user.getId())) {
return R.failed(CommonConstants.PLEASE_LOG_IN);
......
package com.yifu.cloud.plus.v1.yifu.insurances.controller;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.insurances.service.TInsuranceEkpService;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.security.SecurityRequirement;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.RequiredArgsConstructor;
import org.springframework.http.HttpHeaders;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
/**
* @author zhaji
* @description EKP重发类
* @date 2022-08-23 17:35:47
*/
@RestController
@RequiredArgsConstructor
@RequestMapping("/insuranceEkp")
@Tag(name = "EKP重发类")
@SecurityRequirement(name = HttpHeaders.AUTHORIZATION)
public class TInsuranceEkpController {
@Resource
private TInsuranceEkpService tInsuranceEkpService;
/**
* ekp重发
* @return
*/
@Operation(summary = "ekp重发", description = "ekp重发")
@GetMapping("/resend" )
public R resend() {
return R.ok(tInsuranceEkpService.resend());
}
}
......@@ -91,15 +91,15 @@ public class TInsuranceEnclosureController {
/**
* 商险附件列表分页查询
*
* @param page
* @param param
* @param page 分页参数
* @param param 查询条件
* @return
* @Author zhaji
* @Date 2022-08-23
**/
@Schema(description = "商险附件列表分页查询")
@SysLog("商险附件列表分页查询")
@GetMapping("/getInsuranceEnclosurePage")
@PostMapping("/getInsuranceEnclosurePage")
public R getInsuranceEnclosurePage(Page<InsuranceEnclosureParam> page, @RequestBody InsuranceEnclosureParam param) {
return tInsuranceEnclosureService.getInsuranceEnclosurePage(page,param);
}
......
......@@ -48,15 +48,6 @@ public interface TInsuranceDetailMapper extends BaseMapper<TInsuranceDetail> {
*/
IPage<InsuranceListVO> getInsuranceHandleListPage(Page<InsuranceListVO> page, @Param("param") InsuranceListParam param);
/**
* 投保办理不分页查询
*
* @author licancan
* @param param
* @return {@link List<InsuranceListVO>}
*/
List<InsuranceListVO> getInsuranceHandleList(@Param("param") InsuranceListParam param);
/**
* 通过id查询
*
......
package com.yifu.cloud.plus.v1.yifu.insurances.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceEkp;
import org.apache.ibatis.annotations.Mapper;
/**
* @author Administrator
* @description 针对表【t_insurance_ekp(ekp交互失败存储表)】的数据库操作Mapper
* @createDate 2022-08-23 17:02:49
* @Entity generator.domain.TInsuranceEkp
*/
@Mapper
public interface TInsuranceEkpMapper extends BaseMapper<TInsuranceEkp> {
}
......@@ -69,15 +69,6 @@ public interface TInsuranceDetailService extends IService<TInsuranceDetail> {
*/
List<InsuranceListVO> getInsuranceList(InsuranceListParam param);
/**
* 投保办理不分页查询
*
* @author licancan
* @param param
* @return {@link List<InsuranceListVO>}
*/
List<InsuranceListVO> getInsuranceHandleList(InsuranceListParam param);
/**
* 商险新增
*
......
package com.yifu.cloud.plus.v1.yifu.insurances.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceEkp;
/**
* @author Administrator
* @description 针对表【t_insurance_ekp(ekp交互失败存储表)】的数据库操作Service
* @createDate 2022-08-23 17:02:49
*/
public interface TInsuranceEkpService extends IService<TInsuranceEkp> {
/**
* ekp重发
*
* @author zhaji
* @param
* @return {@link R}
*/
R resend();
}
......@@ -256,31 +256,6 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
return insuranceList;
}
/**
* 投保办理不分页查询
*
* @param param
* @return {@link List<InsuranceListVO>}
* @author licancan
*/
@Override
public List<InsuranceListVO> getInsuranceHandleList(InsuranceListParam param) {
YifuUser user = SecurityUtils.getUser();
String regionSQL = getRegionSQL(user);
param.setRegionSql(regionSQL);
//todo 根据登录人获取数据权限
List<InsuranceListVO> insuranceList = baseMapper.getInsuranceHandleList(param);
//根据项目编码获取项目名称
setProjectNameByDeptNo(insuranceList);
// 购买月数
if (CollectionUtils.isNotEmpty(insuranceList)){
insuranceList.stream().forEach(e ->{
e.setBuyMonth(LocalDateUtil.betweenMonth(e.getPolicyStart().toString(),e.getPolicyEnd().toString()));
});
}
return insuranceList;
}
/**
* 商险新增
*
......@@ -1084,9 +1059,41 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
@Override
public R<List<InsuranceHandleImportParam>> insuranceHandleImport(YifuUser user, List<InsuranceHandleImportParam> param) {
Map<String, List<InsuranceHandleImportParam>> map = insuranceChangeCheck(param, user,false);
//检验成功的数据
List<InsuranceHandleImportParam> successList = map.get("successList");
//校验失败的数据
List<InsuranceHandleImportParam> errorList = map.get("errorList");
return R.ok(errorList,InsurancesConstants.ADD_SUCCESS);
if (CollectionUtils.isNotEmpty(successList)){
//投保成功的数据
List<InsuranceHandleImportParam> collectSuccess = successList.stream().filter(e -> InsurancesConstants.SUCCESS.equals(e.getHandType())).collect(Collectors.toList());
//投保退回的数据
List<InsuranceHandleImportParam> collectRollBack = successList.stream().filter(e -> InsurancesConstants.FAILED.equals(e.getHandType())).collect(Collectors.toList());
//投保成功
if (CollectionUtils.isNotEmpty(collectSuccess)){
List<InsuranceHandleParam> list = new ArrayList<>();
collectSuccess.stream().forEach(e ->{
InsuranceHandleParam handleParam = new InsuranceHandleParam();
handleParam.setId(e.getId());
handleParam.setRemark(e.getRemark());
list.add(handleParam);
});
this.successfulInsurance(user,list);
}
//投保退回
if (CollectionUtils.isNotEmpty(collectRollBack)){
List<InsuranceHandleParam> list = new ArrayList<>();
collectRollBack.stream().forEach(e ->{
InsuranceHandleParam handleParam = new InsuranceHandleParam();
handleParam.setId(e.getId());
handleParam.setRemark(e.getRemark());
list.add(handleParam);
});
this.rollBackInsurance(user,list);
}
}
return R.ok(errorList,InsurancesConstants.IMPORT_SUCCESS);
}
/**
......@@ -3244,7 +3251,7 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
}
}
tInsuranceOperateService.saveBatch(operateList);
return R.ok(errorList, "导入成功");
return R.ok(errorList, InsurancesConstants.IMPORT_SUCCESS);
}
/**
......@@ -4469,7 +4476,8 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
//投保成功/退回办理
//商险不是投保中,无法办理
if (CommonConstants.TWO_INT != insuranceDetail.getBuyHandleStatus()){
param.setErrorMessage(InsurancesConstants.BUY_HANDLE_STATUS_NOT_TWO_HANDLE_ERROR);
String buyHandleStatus = getBuyHandleStatus(insuranceDetail.getBuyHandleStatus());
param.setErrorMessage("当前为"+buyHandleStatus+"状态,不可办理");
errorList.add(param);
continue;
}
......@@ -4482,6 +4490,37 @@ public class TInsuranceDetailServiceImpl extends ServiceImpl<TInsuranceDetailMap
return map;
}
/**
* 获取投保状态的值
*
* @author licancan
* @param buyHandleStatus
* @return {@link String}
*/
private String getBuyHandleStatus(Integer buyHandleStatus){
String result;
switch (buyHandleStatus){
case 1:
result = "待投保";
break;
case 2:
result = "投保中";
break;
case 3:
result = "已投保";
break;
case 4:
result = "投保退回";
break;
case 5:
result = "已减员";
break;
default:
result = "";
}
return result;
}
/**
* 校验所属项目
*
......
package com.yifu.cloud.plus.v1.yifu.insurances.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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.insurances.entity.TInsuranceEkp;
import com.yifu.cloud.plus.v1.yifu.insurances.mapper.TInsuranceEkpMapper;
import com.yifu.cloud.plus.v1.yifu.insurances.service.TInsuranceEkpService;
import com.yifu.cloud.plus.v1.yifu.insurances.util.BeanCopyUtils;
import com.yifu.cloud.plus.v1.yifu.insurances.vo.EKPInteractiveParam;
import org.apache.commons.collections.CollectionUtils;
import org.springframework.stereotype.Service;
import java.util.List;
/**
* @author Administrator
* @description 针对表【t_insurance_ekp(ekp交互失败存储表)】的数据库操作Service实现
* @createDate 2022-08-23 17:02:49
*/
@Service
public class TInsuranceEkpServiceImpl extends ServiceImpl<TInsuranceEkpMapper, TInsuranceEkp> implements TInsuranceEkpService {
@Override
public R resend() {
LambdaQueryWrapper<TInsuranceEkp> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(TInsuranceEkp :: getResendFlag , CommonConstants.ZERO_INT);
queryWrapper.orderByDesc(TInsuranceEkp::getDetailId);
queryWrapper.orderByAsc(TInsuranceEkp::getCreateTime);
List<TInsuranceEkp> list = list(queryWrapper);
if (CollectionUtils.isNotEmpty(list)){
for (TInsuranceEkp tInsuranceEkp : list) {
EKPInteractiveParam ekpParam = new EKPInteractiveParam();
BeanCopyUtils.copyProperties(tInsuranceEkp,ekpParam);
String detailId = ekpParam.getDetailId();
String defaultSettleId = ekpParam.getDefaultSettleId();
//查询当前结算状态
String status = CommonConstants.ONE_STRING;
if(status.equals(CommonConstants.ONE_STRING)){
}
}
return R.ok("发送成功");
}else{
return R.failed("无需要发送的信息");
}
}
}
......@@ -50,8 +50,8 @@ public class TInsuranceEnclosureServiceImpl extends ServiceImpl<TInsuranceEnclos
*/
@Override
public R uploadInsuranceEnclosure(MultipartFile file, String filePath, String remark) throws IOException {
String enclosureName = file.getOriginalFilename().substring(0, file.getOriginalFilename().lastIndexOf("."));
String fileName = System.currentTimeMillis() + "_" + file.getOriginalFilename();
String enclosureName = fileName.substring(0, fileName.lastIndexOf("."));
//filePath不传默认存储空间的根目录
//jpg,jpeg,png,bmp
String key = "";
......
......@@ -254,66 +254,6 @@
ORDER BY detail.BUY_HANDLE_STATUS,detail.CREATE_TIME DESC
</select>
<!--投保办理不分页查询-->
<select id="getInsuranceHandleList" resultType="com.yifu.cloud.plus.v1.yifu.insurances.vo.InsuranceListVO">
select detail.id as id,
detail.EMP_NAME as empName,
detail.EMP_IDCARD_NO as empIdcardNo,
detail.BUY_TYPE as buyType,
detail.POST as post,
detail.DEPT_NO as deptNo,
detail.POLICY_START as policyStart,
detail.POLICY_END as policyEnd,
detail.INSURANCE_COMPANY_NAME as insuranceCompanyName,
detail.INSURANCE_TYPE_NAME as insuranceTypeName,
detail.BUY_STANDARD as buyStandard,
detail.CREATE_NAME as createName,
detail.BUY_HANDLE_STATUS as buyHandleStatus,
detail.SETTLE_TYPE as settleType,
detail.SETTLE_MONTH as settleMonth
from t_insurance_detail detail
where detail.DELETE_FLAG = 0
<if test="param.deptNo != null and param.deptNo.trim() != ''">
and detail.DEPT_NO = #{param.deptNo}
</if>
<if test="param.deptNo == null or param.deptNo.trim() == ''">
and detail.DEPT_NO in
<foreach collection="param.deptNoList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="param.buyHandleStatus != null">
and detail.BUY_HANDLE_STATUS = #{param.buyHandleStatus}
</if>
<if test="param.empName != null and param.empName.trim() != ''">
and detail.EMP_NAME like concat('%',replace(replace(#{param.empName},'_','\_'),'%','\%'),'%')
</if>
<if test="param.empIdcardNo != null and param.empIdcardNo.trim() != ''">
and detail.EMP_IDCARD_NO like concat('%',replace(replace(#{param.empIdcardNo},'_','\_'),'%','\%'),'%')
</if>
<if test="param.insuranceCompanyName != null and param.insuranceCompanyName.trim() != ''">
and detail.INSURANCE_COMPANY_NAME = #{param.insuranceCompanyName}
</if>
<if test="param.insuranceTypeName != null and param.insuranceTypeName.trim() != ''">
and detail.INSURANCE_TYPE_NAME like concat('%',replace(replace(#{param.insuranceTypeName},'_','\_'),'%','\%'),'%')
</if>
<if test="param.buyHandleStatusList != null and param.buyHandleStatusList.size > 0">
and detail.BUY_HANDLE_STATUS in
<foreach collection="param.buyHandleStatusList" index="index" item="item" open="(" separator="," close=")">
#{item}
</foreach>
</if>
<if test="param.buyType != null">
and detail.BUY_TYPE = #{param.buyType}
</if>
<if test="param.createName != null and param.createName.trim() != ''">
and detail.CREATE_NAME like concat('%',replace(replace(#{param.createName},'_','\_'),'%','\%'),'%')
</if>
<if test="param.startDate != null and param.startDate.trim() != '' and param.endDate != null and param.endDate.trim() != ''">
and detail.CREATE_TIME <![CDATA[ >= ]]> concat(#{param.startDate}, ' 00:00:00') and detail.CREATE_TIME <![CDATA[ <= ]]> concat(#{param.endDate}, ' 23:59:59')
</if>
ORDER BY detail.BUY_HANDLE_STATUS,detail.CREATE_TIME DESC
</select>
<select id="getInsuranceDetailById" resultType="com.yifu.cloud.plus.v1.yifu.insurances.vo.InsuranceDetailVO">
select
detail.id as id,
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yifu.cloud.plus.v1.yifu.insurances.mapper.TInsuranceEkpMapper">
<resultMap id="BaseResultMap" type="com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceEkp">
<id property="id" column="id" jdbcType="VARCHAR"/>
<result property="detailId" column="DETAIL_ID" jdbcType="VARCHAR"/>
<result property="defaultSettleId" column="DEFAULT_SETTLE_ID" jdbcType="VARCHAR"/>
<result property="deptNo" column="DEPT_NO" jdbcType="VARCHAR"/>
<result property="deptName" column="DEPT_NAME" jdbcType="VARCHAR"/>
<result property="customerName" column="CUSTOMER_NAME" jdbcType="VARCHAR"/>
<result property="customerCode" column="CUSTOMER_CODE" jdbcType="VARCHAR"/>
<result property="empName" column="EMP_NAME" jdbcType="VARCHAR"/>
<result property="empIdcardNo" column="EMP_IDCARD_NO" jdbcType="VARCHAR"/>
<result property="invoiceNo" column="INVOICE_NO" jdbcType="VARCHAR"/>
<result property="happenDate" column="HAPPEN_DATE" jdbcType="TIMESTAMP"/>
<result property="policyNo" column="POLICY_NO" jdbcType="VARCHAR"/>
<result property="insuranceCompanyName" column="INSURANCE_COMPANY_NAME" jdbcType="VARCHAR"/>
<result property="insuranceTypeName" column="INSURANCE_TYPE_NAME" jdbcType="VARCHAR"/>
<result property="policyStart" column="POLICY_START" jdbcType="DATE"/>
<result property="policyEnd" column="POLICY_END" jdbcType="DATE"/>
<result property="buyStandard" column="BUY_STANDARD" jdbcType="VARCHAR"/>
<result property="medicalQuota" column="MEDICAL_QUOTA" jdbcType="VARCHAR"/>
<result property="dieDisableQuota" column="DIE_DISABLE_QUOTA" jdbcType="VARCHAR"/>
<result property="actualPremium" column="ACTUAL_PREMIUM" jdbcType="VARCHAR"/>
<result property="estimatePremium" column="ESTIMATE_PREMIUM" jdbcType="VARCHAR"/>
<result property="settleMonth" column="SETTLE_MONTH" jdbcType="VARCHAR"/>
<result property="interactiveType" column="INTERACTIVE_TYPE" jdbcType="VARCHAR"/>
<result property="resendFlag" column="RESEND_FLAG" jdbcType="VARCHAR"/>
<result property="createTime" column="CREATE_TIME" jdbcType="TIMESTAMP"/>
<result property="pushTime" column="PUSH_TIME" jdbcType="TIMESTAMP"/>
</resultMap>
<sql id="Base_Column_List">
id,DETAIL_ID,DEFAULT_SETTLE_ID,
DEPT_NO,DEPT_NAME,CUSTOMER_NAME,
CUSTOMER_CODE,EMP_NAME,EMP_IDCARD_NO,
INVOICE_NO,HAPPEN_DATE,POLICY_NO,
INSURANCE_COMPANY_NAME,INSURANCE_TYPE_NAME,POLICY_START,
POLICY_END,BUY_STANDARD,MEDICAL_QUOTA,
DIE_DISABLE_QUOTA,ACTUAL_PREMIUM,ESTIMATE_PREMIUM,
SETTLE_MONTH,INTERACTIVE_TYPE,RESEND_FLAG,
CREATE_TIME,PUSH_TIME
</sql>
</mapper>
......@@ -25,6 +25,7 @@ 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.salary.entity.TStatisticsTaxSalary;
import com.yifu.cloud.plus.v1.yifu.salary.service.TStatisticsTaxSalaryService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TStatisticsTaxSalaryTwoService;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TStatisticsTaxSalarySearchVo;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
......@@ -48,6 +49,7 @@ import javax.servlet.http.HttpServletResponse;
public class TStatisticsTaxSalaryController {
private final TStatisticsTaxSalaryService tStatisticsTaxSalaryService;
private final TStatisticsTaxSalaryTwoService tStatisticsTaxSalaryTwoService;
/**
......@@ -111,9 +113,9 @@ public class TStatisticsTaxSalaryController {
@Inner
@Operation(description = "定时任务-年度报账+工资薪金+本期申报")
@PostMapping("/inner/doRefreshStatisticsTaxAuto")
public R<String> doRefreshStatisticsTaxAuto() {
public void doRefreshStatisticsTaxAuto() {
String settleMonth = DateUtil.addMonth(-1);
return tStatisticsTaxSalaryService.doRefreshStatisticsTaxAll(settleMonth);
tStatisticsTaxSalaryTwoService.doRefreshStatisticsTaxAuto(settleMonth);
}
/**
......
......@@ -55,6 +55,7 @@ public interface TSalaryAccountMapper extends BaseMapper<TSalaryAccount> {
* @return: java.util.List<java.lang.String>
**/
List<AccountCheckVo> getAccountCheckList(@Param("settleId") String settleId, @Param("settleMonth") String settleMonth);
List<AccountCheckVo> getAccountSpecialList(@Param("invoiceTitle") String invoiceTitle, @Param("unitId") String unitId, @Param("salaryMonth") String salaryMonth);
List<AccountCheckVo> getAccountCheckListLabor(@Param("settleId") String settleId, @Param("settleMonth") String settleMonth);
......
......@@ -25,6 +25,7 @@ import com.yifu.cloud.plus.v1.yifu.salary.entity.TSalaryAccount;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryAccountSearchVo;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.util.List;
import java.util.Map;
......@@ -57,6 +58,8 @@ public interface TSalaryAccountService extends IService<TSalaryAccount> {
**/
Map<String, Integer> getAccountCheckMap(String settleId, String settleMonth, String salaryType);
Map<String, BigDecimal> getAccountSpecialMap(String invoiceTitle, String unitId, String salaryMonth);
/**
* @param empIdCard
* @param nowYear
......
......@@ -22,4 +22,13 @@ public interface TStatisticsTaxSalaryTwoService extends IService<TStatisticsTaxS
**/
R<String> doStatisticsTaxSalary(String tableName, String settleMonth);
/**
* @param settleMonth
* @Description:
* @Author: hgw
* @Date: 2022/8/23 17:55
* @return: void
**/
void doRefreshStatisticsTaxAuto(String settleMonth);
}
......@@ -126,7 +126,7 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
return R.failed("获取登录用户信息失败!");
}
TConfigSalary configSalary = new TConfigSalary();
TConfigSalary configSalary;
if (Common.isNotNull(configId)) {
// 薪资配置-结算月、社保月等信息
......@@ -168,6 +168,8 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
// 2.6.6:校验导入数据重复的Map格式:#身份证号_工资月份_报表类型_应发金额
Map<String, Integer> checkMap = tSalaryAccountService.getAccountCheckMap(dept.getId(), DateUtil.addMonth(configSalary.getSalaryMonth()), salaryType);
Map<String, BigDecimal> specialMap = tSalaryAccountService.getAccountSpecialMap(invoiceTitle, dept.getCustomerId(), DateUtil.addMonth(configSalary.getSalaryMonth()));
List<String> checkListY = new ArrayList<>();
// 劳务费和稿酬 薪资类型互斥校验Map格式:本年度#身份证号
if (CommonConstants.THREE_STRING.equals(salaryType) || CommonConstants.FOUR_STRING.equals(salaryType)) {
......@@ -178,7 +180,7 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
util1.getJsonStringToList(user, jsonString, dept, configSalary, salaryConfigMap, isMustMap,
empIdCardMap, empNameMap, isDuplicateName, salaryType, checkListY, invoiceTitle,
employeeService, checkMap, ownEmployeeMap, ownDeptMap, tSalaryAccountService);
employeeService, checkMap, specialMap, ownEmployeeMap, ownDeptMap, tSalaryAccountService);
List<TSalaryAccountVo> saList = util1.getEntityList();
if ((null != util1.getErrorInfo() && !util1.getErrorInfo().isEmpty())) {
......@@ -1543,24 +1545,9 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
int ownNum = 0;
// 自有员工应发金额
BigDecimal ownMoney = BigDecimal.ZERO;
// 发薪特殊值人数
int specialNums = 0;
// 发薪特殊值应发总额
BigDecimal specialMoney = BigDecimal.ZERO;
// 薪资员工发放稿酬/劳务费人数
int salaryNums = 0;
// 薪资员工发放稿酬/劳务费总额
BigDecimal salaryMoney = BigDecimal.ZERO;
// 本月是否重复金额人数
int repeatNums = 0;
// 本月是否重复金额总额
BigDecimal repeatMoney = BigDecimal.ZERO;
BigDecimal relaySalary; //工资应发
// 劳务费、稿酬是否含有发薪false:否;true:是
boolean haveSalaryFlag = false;
// 是否含有特殊金额false:否;true:是
boolean haveSpecialFlag = false;
// 是否重复金额false:否;true:是
boolean repeatFlag = false;
......@@ -1575,7 +1562,6 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
Map<String, List<TSalaryAccountItem>> itemMap = tSalaryAccountItemService.getAllItemVoList(idCardList, invoiceTitle);
for (int i = CommonConstants.ZERO_INT; i < size; i++) {
relaySalary = BigDecimal.ZERO;
a = new TSalaryAccount();
// 本次实发
BigDecimal actualSalarySumNow = BigDecimal.ZERO;
......@@ -1586,9 +1572,6 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
if (!haveSalaryFlag && a.getHaveSalaryFlag() != null && a.getHaveSalaryFlag() == CommonConstants.ONE_INT) {
haveSalaryFlag = true;
}
if (!haveSpecialFlag && a.getHaveSpecialFlag() != null && a.getHaveSpecialFlag() == CommonConstants.ONE_INT) {
haveSpecialFlag = true;
}
if (!repeatFlag && a.getIsRepeat() != null && a.getIsRepeat() == CommonConstants.ONE_INT) {
repeatFlag = true;
}
......@@ -1606,29 +1589,6 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
saiList.add(sai);
}
}
// 自有员工以及自有员工应发金额
if (Common.isNotNull(a.getOwnFlag()) && a.getOwnFlag() == 1) {
ownNum++;
ownMoney = ownMoney.add(relaySalary);
}
// 发薪特殊值人数以及应发金额
if (Common.isNotNull(a.getHaveSpecialFlag()) && a.getHaveSpecialFlag() == 1) {
specialNums++;
specialMoney = specialMoney.add(relaySalary);
}
// 薪资员工发放稿酬/劳务费人数以及应发金额
if (Common.isNotNull(a.getHaveSalaryFlag()) && a.getHaveSalaryFlag() == 1) {
salaryNums++;
salaryMoney = salaryMoney.add(relaySalary);
}
// 本月是否重复金额人数以及应发金额
if (Common.isNotNull(a.getIsRepeat()) && a.getIsRepeat() == 1) {
repeatNums++;
repeatMoney = repeatMoney.add(relaySalary);
}
//累计扣税list
asList = this.getLaborAsList(itemMap.get(a.getEmpIdcard()), a.getSettlementMonth());
......@@ -1639,6 +1599,12 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
calculationLabor(saiList, asList
, saiList, a), CommonConstants.ZERO_INT);
// 自有员工以及自有员工应发金额
if (Common.isNotNull(a.getOwnFlag()) && a.getOwnFlag() == 1) {
ownNum++;
ownMoney = ownMoney.add(a.getRelaySalaryUnit());
}
a.setSaiList(saiList);
aList.add(a);
} catch (Exception e) {
......@@ -1659,13 +1625,10 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
salary.setHaveSpecialFlag(CommonConstants.ZERO_INT);
salary.setIsRepeat(CommonConstants.ZERO_INT);
salary.setStatus(SalaryConstants.AUDIT_STATUS[0]);
if (haveSalaryFlag || haveSpecialFlag || ownNum > 0 || repeatFlag) {
if (haveSalaryFlag || ownNum > 0 || repeatFlag) {
if (haveSalaryFlag) {
salary.setHaveSalaryFlag(CommonConstants.ONE_INT);
}
if (haveSpecialFlag) {
salary.setHaveSpecialFlag(CommonConstants.ONE_INT);
}
if (repeatFlag) {
salary.setIsRepeat(CommonConstants.ONE_INT);
}
......@@ -1840,7 +1803,6 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
TSettleDomainSelectVo dept, String invoiceTitle, TSalaryStandard salary, YifuUser user) {
List<TSalaryAccount> aList = new ArrayList<>();
TSalaryAccount a;//定库:
BigDecimal money = new BigDecimal(CommonConstants.ZERO_STRING); //初始化金额备用
BigDecimal relaySalarySum = BigDecimal.ZERO; //工资应发
List<TSalaryAccountItem> asList; //累计扣税
int size = savList.size();
......@@ -1848,11 +1810,8 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
int ownNum = 0;
// 自有员工应发金额
BigDecimal ownMoney = BigDecimal.ZERO;
BigDecimal relaySalary; //工资应发
// 劳务费、稿酬是否含有发薪false:否;true:是
boolean haveSalaryFlag = false;
// 是否含有特殊金额false:否;true:是
boolean haveSpecialFlag = false;
// 是否重复金额false:否;true:是
boolean repeatFlag = false;
......@@ -1867,7 +1826,6 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
Map<String, List<TSalaryAccountItem>> itemMap = tSalaryAccountItemService.getAllItemVoList(idCardList, invoiceTitle);
for (int i = CommonConstants.ZERO_INT; i < size; i++) {
relaySalary = BigDecimal.ZERO;
a = new TSalaryAccount();
// 本次实发
BigDecimal actualSalarySumNow = BigDecimal.ZERO;
......@@ -1878,9 +1836,6 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
if (!haveSalaryFlag && a.getHaveSalaryFlag() != null && a.getHaveSalaryFlag() == CommonConstants.ONE_INT) {
haveSalaryFlag = true;
}
if (!haveSpecialFlag && a.getHaveSpecialFlag() != null && a.getHaveSpecialFlag() == CommonConstants.ONE_INT) {
haveSpecialFlag = true;
}
if (!repeatFlag && a.getIsRepeat() != null && a.getIsRepeat() == CommonConstants.ONE_INT) {
repeatFlag = true;
}
......@@ -1898,11 +1853,6 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
saiList.add(sai);
}
}
// 自有员工以及自有员工应发金额
if (Common.isNotNull(a.getOwnFlag()) && a.getOwnFlag() == 1) {
ownNum++;
ownMoney = ownMoney.add(relaySalary);
}
//累计扣税list
asList = this.getLaborAsList(itemMap.get(a.getEmpIdcard()), a.getSettlementMonth());
......@@ -1913,6 +1863,11 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
calculationRemu(saiList, asList
, saiList, a), CommonConstants.ZERO_INT);
// 自有员工以及自有员工应发金额
if (Common.isNotNull(a.getOwnFlag()) && a.getOwnFlag() == 1) {
ownNum++;
ownMoney = ownMoney.add(a.getRelaySalary());
}
a.setSaiList(saiList);
aList.add(a);
} catch (Exception e) {
......@@ -1933,13 +1888,10 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
salary.setHaveSpecialFlag(CommonConstants.ZERO_INT);
salary.setIsRepeat(CommonConstants.ZERO_INT);
salary.setStatus(SalaryConstants.AUDIT_STATUS[0]);
if (haveSalaryFlag || haveSpecialFlag || ownNum > 0 || repeatFlag) {
if (haveSalaryFlag || ownNum > 0 || repeatFlag) {
if (haveSalaryFlag) {
salary.setHaveSalaryFlag(CommonConstants.ONE_INT);
}
if (haveSpecialFlag) {
salary.setHaveSpecialFlag(CommonConstants.ONE_INT);
}
if (repeatFlag) {
salary.setIsRepeat(CommonConstants.ONE_INT);
}
......
......@@ -174,6 +174,18 @@ public class TSalaryAccountServiceImpl extends ServiceImpl<TSalaryAccountMapper,
return map;
}
@Override
public Map<String, BigDecimal> getAccountSpecialMap(String invoiceTitle, String unitId, String salaryMonth) {
List<AccountCheckVo> list = baseMapper.getAccountSpecialList(invoiceTitle, unitId, salaryMonth);
Map<String, BigDecimal> map = new HashMap<>();
if (list != null && !list.isEmpty()) {
for (AccountCheckVo str : list) {
map.put(str.getTitle(), str.getRelaySalary());
}
}
return map;
}
/**
* @param empIdCard
* @param nowYear
......
......@@ -264,9 +264,11 @@ public class TSalaryStandardServiceImpl extends ServiceImpl<TSalaryStandardMappe
if (CommonConstants.ZERO_STRING.equals(auditFlag)) {
tSalaryStandard.setStatus(CommonConstants.TWO_INT);
tApprovalRecord.setApprovalResult(CommonConstants.ZERO_STRING);
tApprovalRecord.setNodeId("审核通过");
} else {
tSalaryStandard.setStatus(CommonConstants.FIVE_INT);
tApprovalRecord.setApprovalResult(CommonConstants.ONE_STRING);
tApprovalRecord.setNodeId("审核不通过");
}
if (Common.isNotNull(auditRemark)) {
tSalaryStandard.setAuditRemark(auditRemark);
......@@ -280,7 +282,6 @@ public class TSalaryStandardServiceImpl extends ServiceImpl<TSalaryStandardMappe
tApprovalRecord.setApprovalMan(user.getId());
tApprovalRecord.setApprovalManName(user.getNickname());
tApprovalRecord.setApprovalTime(DateUtil.getCurrentDateTime());
tApprovalRecord.setNodeId("审核");
approvalRecordService.save(tApprovalRecord);
}
return R.ok();
......
......@@ -36,13 +36,13 @@ import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TStatisticsTaxSalary;
import com.yifu.cloud.plus.v1.yifu.salary.entity.TStatisticsTaxSalaryRule;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TStatisticsTaxSalaryMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TStatisticsTaxSalaryRuleService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TStatisticsTaxSalaryService;
import com.yifu.cloud.plus.v1.yifu.salary.service.*;
import com.yifu.cloud.plus.v1.yifu.salary.util.DoStatisticsTask;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TStatisticsTaxSalarySearchVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TStatisticsTaxSalaryVo;
import lombok.AllArgsConstructor;
import lombok.extern.log4j.Log4j2;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Service;
......
package com.yifu.cloud.plus.v1.yifu.salary.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
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.salary.entity.TStatisticsTaxSalary;
import com.yifu.cloud.plus.v1.yifu.salary.mapper.TStatisticsTaxSalaryMapper;
import com.yifu.cloud.plus.v1.yifu.salary.service.TSalaryAccount2022Service;
import com.yifu.cloud.plus.v1.yifu.salary.service.TStatisticsCurrentReportService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TStatisticsTaxSalaryTwoService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
/**
......@@ -20,6 +24,9 @@ import org.springframework.stereotype.Service;
@Service("tStatisticsTaxSalaryTwoService")
public class TStatisticsTaxSalaryTwoServiceImpl extends ServiceImpl<TStatisticsTaxSalaryMapper, TStatisticsTaxSalary> implements TStatisticsTaxSalaryTwoService {
private final TSalaryAccount2022Service tSalaryAccount2020Service;
private final TStatisticsCurrentReportService tStatisticsCurrentReportService;
/**
* @param tableName
* @param settleMonth
......@@ -39,4 +46,23 @@ public class TStatisticsTaxSalaryTwoServiceImpl extends ServiceImpl<TStatisticsT
return R.failed("刷新工资薪金失败!");
}
@Override
public void doRefreshStatisticsTaxAuto(String settleMonth) {
String tableName = "t_salary_account_" + settleMonth.substring(0, 4);
// 刷新对应结算月的 年度报账
R<String> accountR = tSalaryAccount2020Service.doRefreshSalaryAccountByMonth(tableName, settleMonth);
if (accountR != null && accountR.getCode() == CommonConstants.SUCCESS) {
// 刷新对应结算月的 工资薪金
R<String> taxR = this.doStatisticsTaxSalary(tableName, settleMonth);
if (taxR.getCode() == CommonConstants.SUCCESS) {
// 刷新对应结算月的 本期申报
tStatisticsCurrentReportService.doRefreshStatisticsCurrentReport(settleMonth);
} else {
log.error(taxR.getMsg());
}
} else {
log.error(accountR == null ? "刷新对应结算月的 年度报账-失败!" : accountR.getMsg());
}
}
}
package com.yifu.cloud.plus.v1.yifu.salary.util;
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.salary.service.TSalaryAccount2022Service;
import com.yifu.cloud.plus.v1.yifu.salary.service.TStatisticsCurrentReportService;
import com.yifu.cloud.plus.v1.yifu.salary.service.TStatisticsTaxSalaryTwoService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -24,12 +20,6 @@ public class DoStatisticsTask {
@Autowired
private TStatisticsTaxSalaryTwoService tStatisticsTaxSalaryTwoService;
@Autowired
private TSalaryAccount2022Service tSalaryAccount2020Service;
@Autowired
private TStatisticsCurrentReportService tStatisticsCurrentReportService;
/**
* @param settleMonth
* @Description: 核心刷新-年度报账、工资薪金、本期申报
......@@ -39,21 +29,7 @@ public class DoStatisticsTask {
**/
@Async
public void doRefreshCore(String settleMonth) {
String tableName = "t_salary_account_" + settleMonth.substring(0, 4);
// 刷新对应结算月的 年度报账
R<String> accountR = tSalaryAccount2020Service.doRefreshSalaryAccountByMonth(tableName, settleMonth);
if (accountR != null && accountR.getCode() == CommonConstants.SUCCESS) {
// 刷新对应结算月的 工资薪金
R<String> taxR = tStatisticsTaxSalaryTwoService.doStatisticsTaxSalary(tableName, settleMonth);
if (taxR.getCode() == CommonConstants.SUCCESS) {
// 刷新对应结算月的 本期申报
tStatisticsCurrentReportService.doRefreshStatisticsCurrentReport(settleMonth);
} else {
log.error(taxR.getMsg());
}
} else {
log.error(accountR == null ? "刷新对应结算月的 年度报账-失败!" : accountR.getMsg());
}
tStatisticsTaxSalaryTwoService.doRefreshStatisticsTaxAuto(settleMonth);
}
}
......@@ -66,7 +66,7 @@ public class SalaryAccountUtil implements Serializable {
, TConfigSalary configSalary, Map<String, TSalaryConfigStandard> salaryConfigMap, Map<String, Boolean> isMustMap
, Map<String, TSalaryEmployee> empIdCardMap, Map<String, TSalaryEmployee> empNameMap, boolean isDuplicateName
, String salaryType, List<String> checkListY,String invoiceTitle, TSalaryEmployeeService tSalaryEmployeeService
, Map<String, Integer> checkMap, Map<String, Integer> ownEmployeeMap
, Map<String, Integer> checkMap, Map<String, BigDecimal> specialMap, Map<String, Integer> ownEmployeeMap
, Map<String, Integer> ownDeptMap, TSalaryAccountService tSalaryAccountService) {
List<TSalaryAccountVo> tList = new ArrayList<>();
List<HashMap> list = JSONObject.parseArray(jsonStr, HashMap.class);
......@@ -111,6 +111,9 @@ public class SalaryAccountUtil implements Serializable {
String empName;
String salaryStyle;//工资发放方式(0现金/1银行)/2线下
BigDecimal relaySalary; //应发工资
BigDecimal relaySalarySum; //应发工资合计,算3500与5000使用的
BigDecimal money3500 = new BigDecimal("3500"); //特殊金额3500
BigDecimal money5000 = new BigDecimal("5000"); //特殊金额5000
BigDecimal actualSalarySum; //实发工资
// 当前年月
String nowMonth = DateUtil.addMonth(CommonConstants.ZERO_INT);
......@@ -275,6 +278,7 @@ public class SalaryAccountUtil implements Serializable {
}
}
}
if (errorFlag) {
must = null;
for (Map.Entry<String, Boolean> entry : isMustMap.entrySet()) {
if (Boolean.TRUE.equals(entry.getValue())) {
......@@ -286,32 +290,27 @@ public class SalaryAccountUtil implements Serializable {
}
}
if (Common.isNotNull(must)) {
errorFlag = false;
error = "第" + (i + 2) + "行:" + must + "列_不可缺少";
errorList.add(new ErrorMessage((i + 2), error));
continue;
}
if (annualBonusFlag && Common.isEmpty(entity.getAnnualBonusType())) {
errorFlag = false;
error = "第" + (i + 2) + "行:年终奖有值,【年终奖扣税方式】需填写【单独】/【合并】";
errorList.add(new ErrorMessage((i + 2), error));
continue;
}
if ("3".equals(salaryType) && actualSalarySum == null) {
errorFlag = false;
error = "第" + (i + 2) + "行:【实发劳务费】列_不可缺少";
errorList.add(new ErrorMessage((i + 2), error));
continue;
}
if ("3".equals(salaryType) && Common.isEmpty(entity.getIsPersonTax())) {
errorFlag = false;
error = "第" + (i + 2) + "行:【是否个人承担部分税费】列_不可为空";
errorList.add(new ErrorMessage((i + 2), error));
continue;
}
if ("4".equals(salaryType) && actualSalarySum == null) {
errorFlag = false;
error = "第" + (i + 2) + "行:【稿酬】列_不可缺少";
errorList.add(new ErrorMessage((i + 2), error));
continue;
......@@ -319,7 +318,6 @@ public class SalaryAccountUtil implements Serializable {
// 应发、实发、实发劳务费不可都为空
if (relaySalary == null && actualSalarySum == null) {
errorFlag = false;
error = "第" + (i + 2) + "行:【应发工资】列_不可缺少";
errorList.add(new ErrorMessage((i + 2), error));
continue;
......@@ -334,8 +332,9 @@ public class SalaryAccountUtil implements Serializable {
+ CommonConstants.DOWN_LINE_STRING + salaryType + CommonConstants.DOWN_LINE_STRING + relaySalary) != null) {
entity.setIsRepeat(CommonConstants.ONE_INT);
}
if (new BigDecimal("3500").compareTo(relaySalary) == CommonConstants.ZERO_INT
|| new BigDecimal("5000").compareTo(relaySalary) == CommonConstants.ZERO_INT) {
relaySalarySum = BigDecimalUtils.safeAdd(relaySalary, specialMap.get(entity.getEmpIdcard()));
if (money3500.compareTo(relaySalarySum) == CommonConstants.ZERO_INT
|| money5000.compareTo(relaySalarySum) == CommonConstants.ZERO_INT) {
entity.setHaveSpecialFlag(CommonConstants.ONE_INT);
}
}
......@@ -345,15 +344,10 @@ public class SalaryAccountUtil implements Serializable {
+ CommonConstants.DOWN_LINE_STRING + salaryType + CommonConstants.DOWN_LINE_STRING + actualSalarySum) != null) {
entity.setIsRepeat(CommonConstants.ONE_INT);
}
if (new BigDecimal("3500").compareTo(actualSalarySum) == CommonConstants.ZERO_INT
|| new BigDecimal("5000").compareTo(actualSalarySum) == CommonConstants.ZERO_INT) {
entity.setHaveSpecialFlag(CommonConstants.ONE_INT);
}
}
if (Common.isNotNull(checkListY) && checkListY.contains(entity.getEmpIdcard())) {
entity.setHaveSalaryFlag(CommonConstants.ONE_INT);
}
if (errorFlag) {
if (Common.isNotNull(entity.getSalaryStyle())) {
salaryStyle = entity.getSalaryStyle();
} else if (configSalary.getGrantType() != null) {
......@@ -426,7 +420,7 @@ public class SalaryAccountUtil implements Serializable {
if (Common.isNotNull(areaStr)) {
newEmp.setBankProvince(Integer.parseInt(areaStr));
} else {
error = "第" + (i + 2) + "行:新员工-开户行省错误:"+ entity.getBankProvince();
error = "第" + (i + 2) + "行:新员工-开户行省错误:" + entity.getBankProvince();
errorList.add(new ErrorMessage((i + 2), error));
continue;
}
......@@ -435,7 +429,7 @@ public class SalaryAccountUtil implements Serializable {
if (Common.isNotNull(areaStr)) {
newEmp.setBankCity(Integer.parseInt(areaStr));
} else {
error = "第" + (i + 2) + "行:新员工-开户行市错误:"+ entity.getBankCity();
error = "第" + (i + 2) + "行:新员工-开户行市错误:" + entity.getBankCity();
errorList.add(new ErrorMessage((i + 2), error));
continue;
}
......@@ -496,15 +490,15 @@ public class SalaryAccountUtil implements Serializable {
}
saveNewEmpReturn = tSalaryEmployeeService.saveNewSalaryEmployee(newEmp);
if (Common.isNotNull(saveNewEmpReturn)) {
error = "第" + (i + 2) + "行:该员工新建失败:【" + saveNewEmpReturn + "】" ;
error = "第" + (i + 2) + "行:该员工新建失败:【" + saveNewEmpReturn + "】";
errorList.add(new ErrorMessage((i + 2), error));
continue;
}
emp = newEmp;
} else {
if ("3".equals(salaryType) || "4".equals(salaryType)) {
error = "第" + (i + 2) + "行:薪酬人员查询处中,该客户下无此员工,请添加<是否新员工(默认否)>列,并录入身份证号、开户行总行、开户行省、开户行市、银行卡号、手机号码!";
}else {
error = "第" + (i + 2) + "行:薪酬人员查询处中,该客户下无此员工,请添加<是否新员工>列,并录入身份证号、开户行总行、开户行省、开户行市、银行卡号、手机号码!";
} else {
error = "第" + (i + 2) + "行:薪酬人员查询处中,该客户下无此员工,请添加<是否新员工(默认否)>列,并录入身份证号、开户行总行、开户行省、开户行市、银行卡号、计税月份、手机号码!";
}
errorList.add(new ErrorMessage((i + 2), error));
......@@ -534,7 +528,7 @@ public class SalaryAccountUtil implements Serializable {
errorList.add(new ErrorMessage((i + 2), error));
continue;
}
if (Common.isEmpty(emp.getTaxMonth()) && !"3".equals(salaryType)) {
if (Common.isEmpty(emp.getTaxMonth()) && !"3".equals(salaryType) && !"4".equals(salaryType)) {
if (Common.isNotNull(entity.getTaxMonth())) {
if (entity.getTaxMonth().length() > CommonConstants.dingleDigitIntArray[6]) {
entity.setTaxMonth(emp.getTaxMonth().substring(0, 6));
......@@ -649,8 +643,8 @@ public class SalaryAccountUtil implements Serializable {
}
} else {
if ("3".equals(salaryType) || "4".equals(salaryType)) {
error = "第" + (i + 2) + "行:薪酬人员查询处中,该客户下无此员工,请添加<是否新员工(默认否)>列,并录入身份证号、开户行总行、开户行省、开户行市、银行卡号、手机号码!";
}else {
error = "第" + (i + 2) + "行:薪酬人员查询处中,该客户下无此员工,请添加<是否新员工>列,并录入身份证号、开户行总行、开户行省、开户行市、银行卡号、手机号码!";
} else {
error = "第" + (i + 2) + "行:薪酬人员查询处中,该客户下无此员工,请添加<是否新员工(默认否)>列,并录入身份证号、开户行总行、开户行省、开户行市、银行卡号、计税月份、手机号码!";
}
errorList.add(new ErrorMessage((i + 2), error));
......
......@@ -261,6 +261,16 @@
where a.DELETE_FLAG = 0 and a.DEPT_ID = #{settleId} and a.SALARY_MONTH = #{settleMonth}
</select>
<!-- 获取校验的报账明细 ### 格式:身份证号_工资月份_报表类型_应发金额 -->
<select id="getAccountSpecialList" resultType="com.yifu.cloud.plus.v1.yifu.salary.vo.AccountCheckVo">
select
a.EMP_IDCARD title,ifnull(relaySalary.SALARY_MONEY,0) relaySalary
from t_salary_account a
left join t_salary_standard s on a.SALARY_FORM_ID = s.id
left join t_salary_account_item relaySalary on relaySalary.SALARY_ACCOUNT_ID = a.id and relaySalary.JAVA_FIED_NAME='relaySalary'
where a.DELETE_FLAG = 0 and s.UNIT_ID = #{unitId} and a.SALARY_MONTH = #{salaryMonth}
</select>
<!-- 获取校验的报账明细 ### 格式:身份证号_工资月份_报表类型_应发金额 -->
<select id="getAccountCheckListLabor" resultType="com.yifu.cloud.plus.v1.yifu.salary.vo.AccountCheckVo">
select
......
......@@ -70,6 +70,7 @@
<result property="salaryMoney" column="SALARY_MONEY"/>
<result property="repeatMoney" column="REPEAT_MONEY"/>
<result property="repeatNums" column="REPEAT_NUMS"/>
<result property="isRepeat" column="IS_REPEAT"/>
</resultMap>
<sql id="Base_Column_List">
a.ID,
......@@ -118,6 +119,7 @@
a.SALARY_MONEY,
a.REPEAT_MONEY,
a.REPEAT_NUMS,
a.IS_REPEAT,
a.INVOICE_TITLE
</sql>
<sql id="tSalaryStandard_where">
......
......@@ -606,11 +606,11 @@
SELECT
a.id,
a.EMP_IDCARD,
sum(ifnull(a.UNIT_BITAILMENT_FEE,0)) UNIT_BIGMAILMENT_MONEY,
sum(ifnull(a.UNIT_SOCIAL_SUM,0)) UNIT_SOCIAL_SUM,
sum(ifnull(a.PERSONAL_SOCIAL_SUM,0)) SOCIAL_SECURITY_PERSONAL_SUM,
sum(ifnull(a.UNIT_FUND_SUM,0)) UNIT_PROVIDENT_SUM,
sum(ifnull(a.PERSONAL_FUND_SUM,0)) PERSONAL_PROVIDENT_SUM,
ifnull(a.UNIT_BITAILMENT_FEE,0) UNIT_BIGMAILMENT_MONEY,
ifnull(a.UNIT_SOCIAL_SUM,0) UNIT_SOCIAL_SUM,
ifnull(a.PERSONAL_SOCIAL_SUM,0) SOCIAL_SECURITY_PERSONAL_SUM,
ifnull(a.UNIT_FUND_SUM,0) UNIT_PROVIDENT_SUM,
ifnull(a.PERSONAL_FUND_SUM,0) PERSONAL_PROVIDENT_SUM,
a.SALARY_SOCIAL_FLAG,
a.SALARY_FUND_FLAG,
a.SOCIAL_PAY_MONTH,
......@@ -639,7 +639,6 @@
</if>
</if>
</where>
GROUP BY a.EMP_IDCARD
</select>
<!-- 更改薪资社保结算状态 -->
......
......@@ -997,11 +997,11 @@
SELECT
a.id,
a.EMP_IDCARD,
sum(ifnull(a.UNIT_BIGMAILMENT_MONEY,0)) UNIT_BIGMAILMENT_MONEY,
sum(ifnull(a.UNIT_SOCIAL_SUM,0)) UNIT_SOCIAL_SUM,
sum(ifnull(a.SOCIAL_SECURITY_PERSONAL_SUM,0)) SOCIAL_SECURITY_PERSONAL_SUM,
sum(ifnull(a.UNIT_PROVIDENT_SUM,0)) UNIT_PROVIDENT_SUM,
sum(ifnull(a.PERSONAL_PROVIDENT_SUM,0)) PERSONAL_PROVIDENT_SUM,
ifnull(a.UNIT_BIGMAILMENT_MONEY,0) UNIT_BIGMAILMENT_MONEY,
ifnull(a.UNIT_SOCIAL_SUM,0) UNIT_SOCIAL_SUM,
ifnull(a.SOCIAL_SECURITY_PERSONAL_SUM,0) SOCIAL_SECURITY_PERSONAL_SUM,
ifnull(a.UNIT_PROVIDENT_SUM,0) UNIT_PROVIDENT_SUM,
ifnull(a.PERSONAL_PROVIDENT_SUM,0) PERSONAL_PROVIDENT_SUM,
a.SALARY_SOCIAL_FLAG,
a.SALARY_FUND_FLAG,
a.SOCIAL_PAY_MONTH,
......@@ -1030,7 +1030,6 @@
</if>
</if>
</where>
GROUP BY a.EMP_IDCARD
</select>
<!-- 更改薪资社保结算状态 -->
......
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