Commit fc4fa1fc authored by fangxinjiang's avatar fangxinjiang

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

parents cbcc250c 7e4fe0db
......@@ -243,6 +243,8 @@ public interface CommonConstants {
int FIVE_INT = 5;
String TEN_STRING = "10";
int SEVEN_INT = 7;
public static final String SPOT = ".";
int FIFTY_INT = 50;
......
......@@ -881,19 +881,113 @@ public class InsurancesConstants {
*/
public static final String REFUND_STATUS_ONE_HANDLE_ERROR = "当前为待减员状态,不可办理";
/**
* 当前为已减员状态,不可办理
* 当前为减员退回状态,不可办理
*/
public static final String REFUND_STATUS_THREE_HANDLE_ERROR = "当前为已减员状态,不可办理";
public static final String REFUND_STATUS_THREE_HANDLE_ERROR = "当前为减员退回状态,不可办理";
/**
* 当前为减员退回状态,不可办理
* 当前为已减员状态,不可办理
*/
public static final String REFUND_STATUS_FOUR_HANDLE_ERROR = "当前为减员退回状态,不可办理";
public static final String REFUND_STATUS_FOUR_HANDLE_ERROR = "当前为已减员状态,不可办理";
/**
* 办理意见长度超过50字符限制
*/
public static final String HAND_REMARK_NOT_MORE_THAN_50 = "办理意见长度超过50字符限制";
/**
* 操作类型不正确
*/
public static final String OPERATION_TYPE_ERROR = "操作类型不正确";
/**
* 该保单信息已被更新为减员成功
*/
public static final String INSURANCE_DETAIL_IS_REFUND_SUCCESS = "该保单信息已被更新为减员成功";
/**
* 该保单信息已被更新为减员退回
*/
public static final String INSURANCE_DETAIL_IS_REFUND_FAIL = "该保单信息已被更新为减员退回";
/**
* 减员退回的办理意见不能为空
*/
public static final String REMARK_IS_EMPTY = "减员退回的办理意见不能为空";
/**
* 列表为空
*/
public static final String OPERATION_LIST_IS_EMPTY = "列表为空";
/**EKP提示*/
/**
* 更新EKP结算月份失败
*/
public static final String EKP_UPDATE_SETTLE_MONTH_ERROR = "更新EKP结算月份失败";
/**电子保单提示*/
/**
* 电子保单为空
*/
public static final String INSURANCE_ENCLOSURE_IS_EMPTY = "电子保单为空";
/**
* 非法的电子保单类型
*/
public static final String INSURANCE_ENCLOSURE_TYPE_IS_ERROR = "非法的电子保单类型";
/**
* 电子保单超出上传上限
*/
public static final String INSURANCE_ENCLOSURE_SIZE_ERROR = "电子保单超出上传上限";
/**
* 电子保单备注字段不能超过50个字符
*/
public static final String INSURANCE_ENCLOSURE_REMARK_SIZE_ERROR = "电子保单备注字段不能超过50个字符";
/**
* 电子保单上传成功
*/
public static final String INSURANCE_ENCLOSURE_UPLOAD_SUCCESS = "电子保单上传成功";
/**
* 电子保单上传失败
*/
public static final String INSURANCE_ENCLOSURE_UPLOAD_FAIL = "电子保单上传失败";
/**
* 电子保单id为空
*/
public static final String INSURANCE_ENCLOSURE_ID_IS_EMPTY = "电子保单id为空";
/**
* 无对应的电子保单信息
*/
public static final String INSURANCE_ENCLOSURE_IS_NOT_EXIST = "无对应的电子保单信息";
/**
* 删除电子保单成功
*/
public static final String INSURANCE_ENCLOSURE_DELETE_SUCCESS = "删除电子保单成功";
/**
* 电子保单删除失败
*/
public static final String INSURANCE_ENCLOSURE_DELETE_FAIL = "电子保单删除失败";
/**
* 电子保单删除异常
*/
public static final String INSURANCE_ENCLOSURE_DELETE_ABNORMAL = "电子保单删除异常";
......
package com.yifu.cloud.plus.v1.yifu.insurances.entity;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;
/**
......@@ -136,12 +138,18 @@ public class TInsuranceEkp implements Serializable {
/**
* 创建时间
*/
private Date createTime;
private LocalDateTime createTime;
/**
* 发送时间
*/
private Date pushTime;
private LocalDateTime pushTime;
/**
* EKP推送类型
*/
@Schema(description = "1推送预估费用,2推送实缴费用,3变更结算月,4推送作废信息,5推送红冲信息,6投保退回红冲,7变更保单保费")
private Integer pushType;
private static final long serialVersionUID = 1L;
......
......@@ -85,7 +85,7 @@ public class EKPUtil {
public static String sendToEKP(EKPInteractiveParam param){
log.info("推送EKP开始");
RestTemplate yourRestTemplate = new RestTemplate();
TInsuranceSettlePushParam pushParam = InsuranceDetail2PushParam(param);
TInsuranceSettlePushParam pushParam = insuranceDetail2PushParam(param);
try{
String formValues = new ObjectMapper().writeValueAsString(pushParam);
//指向EKP的接口url
......@@ -134,7 +134,7 @@ public class EKPUtil {
* @param param 转换类
* @return {@link TInsuranceSettlePushParam}
*/
public static TInsuranceSettlePushParam InsuranceDetail2PushParam(EKPInteractiveParam param){
public static TInsuranceSettlePushParam insuranceDetail2PushParam(EKPInteractiveParam param){
String format = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
TInsuranceSettlePushParam pushParam = new TInsuranceSettlePushParam();
param.setHappenDate(format);
......
package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
/**
* @author zhaji
* @description TODO
* @date 2022-08-08 17:59:20
*/
@Data
public class EKP {
@Value("${ekp.url}")
private String url;
@Value("${ekp.fdModelId}")
private String fdModelId;
@Value("${ekp.fdFlowId}")
private String fdFlowId;
@Value("${ekp.docStatus}")
private String docStatus;
@Value("${ekp.docSubject}")
private String docSubject;
}
......@@ -165,4 +165,10 @@ public class EKPInteractiveParam implements Serializable {
@Schema(description = "状态:1新增结算单,2更新结算单信息,3作废结算单信息")
private Integer interactiveType;
/**
* EKP推送类型
*/
@Schema(description = "1推送预估费用,2推送实缴费用,3变更结算月,4推送作废信息,5推送红冲信息,6投保退回红冲,7变更保单保费")
private Integer pushType;
}
package com.yifu.cloud.plus.v1.yifu.insurances.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.Data;
import java.io.Serializable;
/**
* @author zhaji
* @description EKP结算信息表
* @date 2022-08-24 17:37:21
*/
@Data
@Tag(name = "EKP结算信息表")
public class SettleVo implements Serializable {
/**
* 结算id
*/
@Schema(description = "结算id")
private String fd_3b05ba46bb042e;
/**
* 预估单结算状态
*/
@Schema(description = "预估单结算状态:未结算、已结算、结算中、无需结算")
private String fd_3b05ba4808a3ca;
/**
* 实缴单结算状态
*/
@Schema(description = "实缴单结算状态:未结算、已结算、结算中、无需结算")
private String fd_3b05bd5ed0b976;
}
......@@ -40,7 +40,7 @@ public class TInsuranceEnclosureController {
TInsuranceEnclosureService tInsuranceEnclosureService;
/**
* 商险文件上传
* 电子保单上传
*
* @param file 文件
* @param filePath 如: import 或 import/test/test..../test
......@@ -49,45 +49,45 @@ public class TInsuranceEnclosureController {
* @Author zhaji
* @Date 2022-08-23
*/
@SysLog("商险文件上传")
@Schema(description = "商险文件上传")
@SysLog("电子保单上传")
@Schema(description = "电子保单上传")
@PostMapping(value = "/uploadInsuranceEnclosure")
public R uploadInsuranceEnclosure(@RequestBody MultipartFile file, String filePath,String remark) throws IOException {
return tInsuranceEnclosureService.uploadInsuranceEnclosure(file, filePath,remark);
}
/**
* 获取附件下载地址
* 获取电子保单下载地址
*
* @param id
* @return
* @Author zhaji
* @Date 2022-08-23
**/
@Schema(description = "商险附件预览下载地址")
@SysLog("商险附件预览下载地址")
@Schema(description = "电子保单预览下载地址")
@SysLog("电子保单预览下载地址")
@GetMapping("/getInsuranceEnclosureUrl/{id}")
public R getInsuranceEnclosureUrl(@PathVariable String id) {
return tInsuranceEnclosureService.getInsuranceEnclosureUrl(id);
}
/**
* 删除商险附件
* 删除电子保单
*
* @param id 商险id
* @return R
* @Author zhaji
* @Date 2022-08-23
**/
@Schema(description = "删除商险附件")
@SysLog("删除商险附件")
@Schema(description = "删除电子保单")
@SysLog("删除电子保单")
@GetMapping("/deleteInsuranceEnclosure/{id}")
public R deleteInsuranceEnclosure(@PathVariable String id) {
return tInsuranceEnclosureService.deleteInsuranceEnclosure(id);
}
/**
* 商险附件列表分页查询
* 电子保单列表分页查询
*
* @param page 分页参数
* @param param 查询条件
......@@ -95,8 +95,8 @@ public class TInsuranceEnclosureController {
* @Author zhaji
* @Date 2022-08-23
**/
@Schema(description = "商险附件列表分页查询")
@SysLog("商险附件列表分页查询")
@Schema(description = "电子保单列表分页查询")
@SysLog("电子保单列表分页查询")
@PostMapping("/getInsuranceEnclosurePage")
public R getInsuranceEnclosurePage(Page<InsuranceEnclosureParam> page, @RequestBody InsuranceEnclosureParam param) {
return tInsuranceEnclosureService.getInsuranceEnclosurePage(page,param);
......
......@@ -75,6 +75,15 @@ public interface TInsuranceDetailMapper extends BaseMapper<TInsuranceDetail> {
*/
List<InsuranceExportListVO> getInsuranceExportList(@Param("param") InsuranceExportListParam param);
/**
* 批量更新保单号
*
* @author licancan
* @param details
* @return void
*/
void updatePolicyNoBatch(@Param("details") List<TInsuranceDetail> details);
/***********************减员办理********************************/
/**
......
......@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceEkp;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
/**
* @author Administrator
* @description 针对表【t_insurance_ekp(ekp交互失败存储表)】的数据库操作Mapper
......@@ -13,5 +15,13 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface TInsuranceEkpMapper extends BaseMapper<TInsuranceEkp> {
/**
* 获取所有待发送的ekp
*
* @author zhaji
* @param
* @return {@link List< TInsuranceEkp>}
*/
List<TInsuranceEkp> getEkpRefundList();
}
......@@ -17,7 +17,7 @@ import java.io.IOException;
public interface TInsuranceEnclosureService extends IService<TInsuranceEnclosure> {
/**
* 上传商险附件
* 上传电子保单
*
* @author zhaji
* @param file 文件
......@@ -29,7 +29,7 @@ public interface TInsuranceEnclosureService extends IService<TInsuranceEnclosure
R uploadInsuranceEnclosure(MultipartFile file, String filePath,String remark) throws IOException;
/**
* 获取附件列表
* 获取电子保单列表
*
* @author zhaji
* @param page 分页参数
......@@ -39,7 +39,7 @@ public interface TInsuranceEnclosureService extends IService<TInsuranceEnclosure
R getInsuranceEnclosurePage(Page<InsuranceEnclosureParam> page, InsuranceEnclosureParam param);
/**
* 获取商险附件地址
* 获电子保单地址
*
* @author zhaji
* @param id
......@@ -48,7 +48,7 @@ public interface TInsuranceEnclosureService extends IService<TInsuranceEnclosure
R getInsuranceEnclosureUrl(String id);
/**
* 删除商险附件
* 删除电子保单
*
* @author zhaji
* @param id
......
......@@ -24,13 +24,9 @@ public class TInsuranceEkpServiceImpl extends ServiceImpl<TInsuranceEkpMapper, T
@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) {
List<TInsuranceEkp> ekpRefundList = this.baseMapper.getEkpRefundList();
if (CollectionUtils.isNotEmpty(ekpRefundList)){
for (TInsuranceEkp tInsuranceEkp : ekpRefundList) {
EKPInteractiveParam ekpParam = new EKPInteractiveParam();
BeanCopyUtils.copyProperties(tInsuranceEkp,ekpParam);
String detailId = ekpParam.getDetailId();
......
......@@ -10,6 +10,7 @@ import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.FileVo;
import com.yifu.cloud.plus.v1.yifu.common.core.vo.YifuUser;
import com.yifu.cloud.plus.v1.yifu.common.security.util.SecurityUtils;
import com.yifu.cloud.plus.v1.yifu.insurances.constants.InsurancesConstants;
import com.yifu.cloud.plus.v1.yifu.insurances.entity.TInsuranceEnclosure;
import com.yifu.cloud.plus.v1.yifu.insurances.mapper.TInsuranceEnclosureMapper;
import com.yifu.cloud.plus.v1.yifu.insurances.service.TInsuranceEnclosureService;
......@@ -54,13 +55,13 @@ public class TInsuranceEnclosureServiceImpl extends ServiceImpl<TInsuranceEnclos
@Override
public R uploadInsuranceEnclosure(MultipartFile file, String filePath, String remark) throws IOException {
if(Common.isEmpty(file)){
return R.failed("商险附件为空");
return R.failed(InsurancesConstants.INSURANCE_ENCLOSURE_IS_EMPTY);
}
if(!Common.checkInsuranceFile(file.getOriginalFilename())){
return R.failed("非法的文件类型");
return R.failed(InsurancesConstants.INSURANCE_ENCLOSURE_TYPE_IS_ERROR);
}
if (file.getSize() > (CommonConstants.FIFTY_INT*CommonConstants.BYTE*CommonConstants.BYTE)){
return R.failed("文件超出上传上限");
return R.failed(InsurancesConstants.INSURANCE_ENCLOSURE_SIZE_ERROR);
}
String enclosureName = Objects.requireNonNull(file.getOriginalFilename()).substring(0,file.getOriginalFilename().lastIndexOf("."));
String fileName = System.currentTimeMillis() + "_" + file.getOriginalFilename();
......@@ -79,7 +80,7 @@ public class TInsuranceEnclosureServiceImpl extends ServiceImpl<TInsuranceEnclos
insuranceEnclosure.setDeleteFlag(CommonConstants.ZERO_INT);
if(StringUtils.isNotBlank(remark)){
if(!ValidityUtil.validate50(remark)){
return R.failed("备注字段不能超过50");
return R.failed(InsurancesConstants.INSURANCE_ENCLOSURE_REMARK_SIZE_ERROR);
}else{
insuranceEnclosure.setRemark(remark);
}
......@@ -93,14 +94,14 @@ public class TInsuranceEnclosureServiceImpl extends ServiceImpl<TInsuranceEnclos
ossUtil.deleteObject(null, key);
return R.failed("failed:" + e.getMessage());
}
return R.ok("商险附件上传成功");
return R.ok(InsurancesConstants.INSURANCE_ENCLOSURE_UPLOAD_SUCCESS);
} else {
return R.failed("failed:上传至存储空间失败");
return R.failed(InsurancesConstants.INSURANCE_ENCLOSURE_UPLOAD_FAIL);
}
}
/**
* 获取附件列表
* 获取电子保单列表
*
* @author zhaji
* @param page 分页参数
......@@ -113,7 +114,7 @@ public class TInsuranceEnclosureServiceImpl extends ServiceImpl<TInsuranceEnclos
}
/**
* 获取商险附件地址
* 获取电子保单地址
*
* @author zhaji
* @param id 附件id
......@@ -122,11 +123,11 @@ public class TInsuranceEnclosureServiceImpl extends ServiceImpl<TInsuranceEnclos
@Override
public R getInsuranceEnclosureUrl(String id) {
if(Common.isEmpty(id)){
return R.failed("附件id为空");
return R.failed(InsurancesConstants.INSURANCE_ENCLOSURE_ID_IS_EMPTY);
}
TInsuranceEnclosure insuranceEnclosure = getById(id);
if (null == insuranceEnclosure) {
return R.failed("无对应附件信息");
return R.failed(InsurancesConstants.INSURANCE_ENCLOSURE_IS_NOT_EXIST);
}
String enclosureAddress = insuranceEnclosure.getEnclosureAddress();
log.info("key:"+enclosureAddress);
......@@ -135,7 +136,7 @@ public class TInsuranceEnclosureServiceImpl extends ServiceImpl<TInsuranceEnclos
}
/**
* 删除商险附件
* 删除电子保单
*
* @author zhaji
* @param id 附件id
......@@ -144,21 +145,21 @@ public class TInsuranceEnclosureServiceImpl extends ServiceImpl<TInsuranceEnclos
@Override
public R deleteInsuranceEnclosure(String id) {
if(Common.isEmpty(id)){
return R.failed("附件id为空");
return R.failed(InsurancesConstants.INSURANCE_ENCLOSURE_ID_IS_EMPTY);
}
TInsuranceEnclosure insuranceEnclosure = getById(id);
if (null == insuranceEnclosure) {
return R.failed("无对应附件信息");
return R.failed(InsurancesConstants.INSURANCE_ENCLOSURE_IS_NOT_EXIST);
}
try {
if (removeById(id)) {
ossUtil.deleteObject(null, insuranceEnclosure.getEnclosureAddress());
return R.ok("删除成功!");
return R.ok(InsurancesConstants.INSURANCE_ENCLOSURE_DELETE_SUCCESS);
}
} catch (Exception e) {
log.error("附件删除异常:" + e.getMessage());
return R.failed("附件删除异常!");
log.error("电子保单删除异常:" + e.getMessage()+"电子保单id为:"+id);
return R.failed(InsurancesConstants.INSURANCE_ENCLOSURE_DELETE_ABNORMAL);
}
return R.ok("删除失败!");
return R.ok(InsurancesConstants.INSURANCE_ENCLOSURE_DELETE_FAIL);
}
}
......@@ -37,9 +37,6 @@ public class TInsuranceTypeStandardServiceImpl extends ServiceImpl<TInsuranceTyp
@Resource
private TInsuranceTypeService tInsuranceTypeService;
@Resource
private TInsuranceDetailService tInsuranceDetailService;
@Resource
private TInsuranceOperateService tInsuranceOperateService;
......
......@@ -386,6 +386,12 @@
ORDER BY detail.CREATE_TIME DESC
</select>
<update id="updatePolicyNoBatch">
<foreach collection="details" index="index" item="item" separator=";">
update t_insurance_detail set POLICY_NO = #{item.policyNo} where ID = #{item.id}
</foreach>
</update>
<!-- ***********************减员办理******************************** -->
<!-- 已投保列表分页查询-->
<select id="getInsuredListPage" resultType="com.yifu.cloud.plus.v1.yifu.insurances.vo.InsuredListVo">
......
......@@ -31,6 +31,8 @@
<result property="resendFlag" column="RESEND_FLAG" jdbcType="VARCHAR"/>
<result property="createTime" column="CREATE_TIME" jdbcType="TIMESTAMP"/>
<result property="pushTime" column="PUSH_TIME" jdbcType="TIMESTAMP"/>
<result property="pushType" column="PUSH_TYPE" jdbcType="TINYINT"/>
</resultMap>
<sql id="Base_Column_List">
......@@ -42,8 +44,17 @@
POLICY_END,BUY_STANDARD,MEDICAL_QUOTA,
DIE_DISABLE_QUOTA,ACTUAL_PREMIUM,ESTIMATE_PREMIUM,
SETTLE_MONTH,INTERACTIVE_TYPE,RESEND_FLAG,
CREATE_TIME,PUSH_TIME
CREATE_TIME,PUSH_TIME,PUSH_TYPE
</sql>
<select id="getEkpRefundList" resultMap="BaseResultMap">
select
<include refid="Base_Column_List"></include>
from
t_insurance_ekp
where
RESEND_FLAG = 0
</select>
</mapper>
......@@ -49,6 +49,7 @@
<if test="param.endTime != null and param.endTime.trim() != '' ">
AND e.CREATE_TIME <![CDATA[ <= ]]> concat(#{param.endTime}, ' 23:59:59')
</if>
order by e.CREATE_TIME desc
</select>
......
package com.yifu.cloud.plus.v1.yifu.salary.controller;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.CommonConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.constant.SecurityConstants;
import com.yifu.cloud.plus.v1.yifu.common.core.util.R;
import com.yifu.cloud.plus.v1.yifu.common.dapr.util.HttpDaprUtil;
import com.yifu.cloud.plus.v1.yifu.common.log.annotation.SysLog;
import com.yifu.cloud.plus.v1.yifu.salary.constants.SalaryConstants;
import com.yifu.cloud.plus.v1.yifu.salary.service.SalaryUploadService;
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.TSalaryAccountVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryDetailVo;
import io.swagger.v3.oas.annotations.Operation;
......@@ -66,4 +72,11 @@ public class SalaryUploadController {
return salaryUploadService.getBill(salaryFormId);
}
@Operation(description = "获取缴费库-测试使用")
@SysLog("获取缴费库-测试使用")
@PostMapping("/getForecast")
public List<TPaymentBySalaryVo> openBill(@RequestParam String deptId, @RequestParam String createMonth) {
return salaryUploadService.getForecast(deptId, createMonth);
}
}
......@@ -3,6 +3,7 @@ package com.yifu.cloud.plus.v1.yifu.salary.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.salary.entity.TSalaryStandard;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TPaymentBySalaryVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryAccountVo;
import com.yifu.cloud.plus.v1.yifu.salary.vo.TSalaryDetailVo;
......@@ -37,5 +38,6 @@ public interface SalaryUploadService extends IService<TSalaryStandard> {
R<TSalaryDetailVo> getBill(String salaryFormId);
List<TPaymentBySalaryVo> getForecast(String deptId, String createMonth);
}
......@@ -24,6 +24,7 @@ import lombok.extern.log4j.Log4j2;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestParam;
import java.math.BigDecimal;
import java.net.URLDecoder;
......@@ -81,6 +82,18 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
private final TApprovalRecordService auditLogService;
@Override
public List<TPaymentBySalaryVo> getForecast(String deptId, String createMonth) {
TPaymentBySalaryVo forecast = new TPaymentBySalaryVo();
forecast.setSettleDomainId(deptId);
forecast.setSocialCreateMonth(createMonth);
R<TPaymentVo> tPaymentVoR = HttpDaprUtil.invokeMethodPost(socialProperties.getAppUrl(), socialProperties.getAppId()
, "/tpaymentinfo/inner/selectTPaymentBySalaryVo", forecast, TPaymentVo.class, SecurityConstants.FROM_IN);
if (tPaymentVoR != null && tPaymentVoR.getData() != null && tPaymentVoR.getData().getPaymentList() != null) {
return tPaymentVoR.getData().getPaymentList();
}
return null;
}
/**
* @param jsonString 客户原表数据
* repeatFlag 默认 0:不允许重复导入已存在系统内的数据;1:允许重复导入
......@@ -605,7 +618,6 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
//工资应发
if (SalaryConstants.RELAY_SALARY_JAVA.equals(sai.getJavaFiedName())) {
relaySalary = sai.getSalaryMoney();
relaySalarySum = relaySalarySum.add(sai.getSalaryMoney());
}
//减除费用
if (SalaryConstants.COST_REDUCTION_JAVA.equals(sai.getJavaFiedName())) {
......@@ -758,7 +770,7 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
// 个人实发合计
this.saveNewItems(sai, saiList, SalaryConstants.ACTUAL_SALARY_SUM,
SalaryConstants.ACTUAL_SALARY_SUM_JAVA,
calculation(relaySalary, saiList), CommonConstants.ZERO_INT);
calculation(a, relaySalary, saiList), CommonConstants.ZERO_INT);
}
//计算个人社保、公积金欠款————工资不够扣缴社保的
if (relaySalary.compareTo(personalDebt) == SalaryConstants.LESS_THAN) {
......@@ -766,6 +778,7 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
SalaryConstants.PERSONAL_DEBT_JAVA, relaySalary.subtract(personalDebt), CommonConstants.ZERO_INT);
}
a.setSaiList(saiList);
relaySalarySum = relaySalarySum.add(a.getRelaySalary());
aList.add(a);
} catch (Exception e) {
e.printStackTrace();
......@@ -964,7 +977,7 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
* @Date: 2019/10/9 15:14
* @return: java.math.BigDecimal
**/
private static BigDecimal calculation(BigDecimal realSalary, List<TSalaryAccountItem> saiList) {
private static BigDecimal calculation(TSalaryAccount a, BigDecimal realSalary, List<TSalaryAccountItem> saiList) {
// 实际发放工资 = 应发工资合计-
// 个人社保扣缴 -个人公积金扣缴-薪资扣税-年终奖扣税-代扣风险抵押金
// -个人其他费用(就是工资表中的其他费用1+其他费用2+其他费用3) -前次个人待补足 -单位补足扣返
......@@ -991,11 +1004,11 @@ public class SalaryUploadServiceImpl extends ServiceImpl<TSalaryStandardMapper,
}
}
sum = realSalary.subtract(sum).setScale(SalaryConstants.PLACES, BigDecimal.ROUND_HALF_UP);
if (sum.compareTo(SalaryConstants.B_ZERO) == SalaryConstants.LESS_THAN) {
return SalaryConstants.B_ZERO;
} else {
return sum;
if (sum.compareTo(SalaryConstants.B_ZERO) < SalaryConstants.EQUAL) {
sum = SalaryConstants.B_ZERO;
}
a.setActualSalary(sum);
return sum;
}
/**
......
......@@ -332,12 +332,14 @@ public class SalaryAccountUtil implements Serializable {
+ CommonConstants.DOWN_LINE_STRING + salaryType + CommonConstants.DOWN_LINE_STRING + relaySalary) != null) {
entity.setIsRepeat(CommonConstants.ONE_INT);
}
if (!CommonConstants.THREE_STRING.equals(salaryType) && !CommonConstants.FOUR_STRING.equals(salaryType)) {
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);
}
}
}
if (actualSalarySum != null) {
actualSalarySum = actualSalarySum.setScale(2, BigDecimal.ROUND_HALF_UP);
if (!checkMap.isEmpty() && checkMap.get(entity.getEmpIdcard() + CommonConstants.DOWN_LINE_STRING + DateUtil.addMonth(configSalary.getSalaryMonth())
......
......@@ -264,11 +264,13 @@
<!-- 获取校验的报账明细 ### 格式:身份证号_工资月份_报表类型_应发金额 -->
<select id="getAccountSpecialList" resultType="com.yifu.cloud.plus.v1.yifu.salary.vo.AccountCheckVo">
select
a.EMP_IDCARD title,ifnull(relaySalary.SALARY_MONEY,0) relaySalary
a.EMP_IDCARD title,sum(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}
where a.DELETE_FLAG = 0 and s.UNIT_ID = #{unitId} and a.SALARY_MONTH = #{salaryMonth} and a.INVOICE_TITLE = #{invoiceTitle}
and a.FORM_TYPE !='3' and a.FORM_TYPE !='4'
group by a.EMP_IDCARD
</select>
<!-- 获取校验的报账明细 ### 格式:身份证号_工资月份_报表类型_应发金额 -->
......
......@@ -1364,7 +1364,7 @@ public class TPaymentInfoServiceImpl extends ServiceImpl<TPaymentInfoMapper, TPa
paymentInfo.setEmpId(fund.getEmpId());
paymentInfo.setEmpIdcard(fund.getEmpIdcard());
paymentInfo.setEmpName(fund.getEmpName());
paymentInfo.setSettleDomainId(fund.getSettleDomainNameFund());
paymentInfo.setSettleDomainId(fund.getSettleDomainFund());
paymentInfo.setSettleDomainName(fund.getSettleDomainNameFund());
paymentInfo.setSettleDomainCode(fund.getSettleDomainCodeFund());
paymentInfo.setUnitId(fund.getUnitIdFund());
......
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