|
@@ -14,11 +14,13 @@ import cn.ezhizao.project.business.salary.domain.BizFinancialSalaryDetailEmploye
|
|
import cn.ezhizao.project.business.salary.mapper.BizFinancialSalaryDetailEmployeeMapper;
|
|
import cn.ezhizao.project.business.salary.mapper.BizFinancialSalaryDetailEmployeeMapper;
|
|
import cn.ezhizao.project.business.salary.mapper.BizFinancialSalaryDetailMapper;
|
|
import cn.ezhizao.project.business.salary.mapper.BizFinancialSalaryDetailMapper;
|
|
import cn.ezhizao.project.business.salary.service.IBizFinancialSalaryDetailService;
|
|
import cn.ezhizao.project.business.salary.service.IBizFinancialSalaryDetailService;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
import cn.ezhizao.project.business.salary.mapper.BizFinancialSalaryMapper;
|
|
import cn.ezhizao.project.business.salary.mapper.BizFinancialSalaryMapper;
|
|
import cn.ezhizao.project.business.salary.domain.BizFinancialSalary;
|
|
import cn.ezhizao.project.business.salary.domain.BizFinancialSalary;
|
|
import cn.ezhizao.project.business.salary.service.IBizFinancialSalaryService;
|
|
import cn.ezhizao.project.business.salary.service.IBizFinancialSalaryService;
|
|
|
|
+import org.springframework.util.CollectionUtils;
|
|
|
|
|
|
/**
|
|
/**
|
|
* 工资Service业务层处理
|
|
* 工资Service业务层处理
|
|
@@ -27,8 +29,7 @@ import cn.ezhizao.project.business.salary.service.IBizFinancialSalaryService;
|
|
* @date 2023-11-16
|
|
* @date 2023-11-16
|
|
*/
|
|
*/
|
|
@Service
|
|
@Service
|
|
-public class BizFinancialSalaryServiceImpl extends ServiceImpl<BizFinancialSalaryMapper, BizFinancialSalary> implements IBizFinancialSalaryService
|
|
|
|
-{
|
|
|
|
|
|
+public class BizFinancialSalaryServiceImpl extends ServiceImpl<BizFinancialSalaryMapper, BizFinancialSalary> implements IBizFinancialSalaryService {
|
|
@Resource
|
|
@Resource
|
|
private BizFinancialSalaryMapper bizFinancialSalaryMapper;
|
|
private BizFinancialSalaryMapper bizFinancialSalaryMapper;
|
|
|
|
|
|
@@ -48,22 +49,26 @@ public class BizFinancialSalaryServiceImpl extends ServiceImpl<BizFinancialSala
|
|
* @return 工资
|
|
* @return 工资
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public List<BizFinancialSalary> getList(BizFinancialSalary bizFinancialSalary)
|
|
|
|
- {
|
|
|
|
|
|
+ public List<BizFinancialSalary> getList(BizFinancialSalary bizFinancialSalary) {
|
|
return bizFinancialSalaryMapper.getList(bizFinancialSalary);
|
|
return bizFinancialSalaryMapper.getList(bizFinancialSalary);
|
|
}
|
|
}
|
|
|
|
|
|
/**
|
|
/**
|
|
* 物理删除
|
|
* 物理删除
|
|
|
|
+ *
|
|
* @param bizFinancialSalary
|
|
* @param bizFinancialSalary
|
|
* @return 删除结果
|
|
* @return 删除结果
|
|
*/
|
|
*/
|
|
@Override
|
|
@Override
|
|
- public int physicalDelete(BizFinancialSalary bizFinancialSalary){ return bizFinancialSalaryMapper.physicalDelete(bizFinancialSalary); };
|
|
|
|
|
|
+ public int physicalDelete(BizFinancialSalary bizFinancialSalary) {
|
|
|
|
+ return bizFinancialSalaryMapper.physicalDelete(bizFinancialSalary);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ ;
|
|
|
|
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public String importSalary(List<BizFinancialSalaryDetailEmployee> detailList, String year, String month, Long tenantId,Integer isZero ) {
|
|
|
|
|
|
+ public String importSalary(List<BizFinancialSalaryDetailEmployee> detailList, String year, String month, Long tenantId, Integer isZero) {
|
|
if (StringUtils.isNull(detailList) || detailList.size() == 0) {
|
|
if (StringUtils.isNull(detailList) || detailList.size() == 0) {
|
|
throw new ServiceException("导入数据不能为空!");
|
|
throw new ServiceException("导入数据不能为空!");
|
|
}
|
|
}
|
|
@@ -81,49 +86,60 @@ public class BizFinancialSalaryServiceImpl extends ServiceImpl<BizFinancialSala
|
|
|
|
|
|
List<BizFinancialSalaryDetailEmployee> employees = entry.getValue();
|
|
List<BizFinancialSalaryDetailEmployee> employees = entry.getValue();
|
|
BizFinancialSalaryDetailEmployee salaryDetai = employees.get(number++);
|
|
BizFinancialSalaryDetailEmployee salaryDetai = employees.get(number++);
|
|
- BizFinancialSalary salary=new BizFinancialSalary();
|
|
|
|
|
|
+ BizFinancialSalary salary = new BizFinancialSalary();
|
|
salary.setCompanyName(salaryDetai.getCompanyName());
|
|
salary.setCompanyName(salaryDetai.getCompanyName());
|
|
salary.setTenantId(tenantId);
|
|
salary.setTenantId(tenantId);
|
|
salary.setIsZero(isZero);
|
|
salary.setIsZero(isZero);
|
|
- List <BizFinancialSalary> salaryList= getList(salary);
|
|
|
|
|
|
+ List<BizFinancialSalary> salaryList = getList(salary);
|
|
//是否存在该客户
|
|
//是否存在该客户
|
|
- if(salaryList.size() == 0){
|
|
|
|
|
|
+ if (salaryList.size() == 0) {
|
|
failureNum++;
|
|
failureNum++;
|
|
failureMsg.append("<br/>").append(failureNum).append("、客户 ").append(salaryDetai.getCompanyName()).append(" 不存在");
|
|
failureMsg.append("<br/>").append(failureNum).append("、客户 ").append(salaryDetai.getCompanyName()).append(" 不存在");
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
- if(salaryList.size() > 1){
|
|
|
|
|
|
+ if (salaryList.size() > 1) {
|
|
failureNum++;
|
|
failureNum++;
|
|
failureMsg.append("<br/>").append(failureNum).append("、客户 ").append(salaryDetai.getCompanyName()).append("请输入详细客户名称");
|
|
failureMsg.append("<br/>").append(failureNum).append("、客户 ").append(salaryDetai.getCompanyName()).append("请输入详细客户名称");
|
|
continue;
|
|
continue;
|
|
}
|
|
}
|
|
- salary=salaryList.get(0);
|
|
|
|
- BizFinancialSalaryDetail salaryDetail=new BizFinancialSalaryDetail();
|
|
|
|
|
|
+ salary = salaryList.get(0);
|
|
|
|
+ BizFinancialSalaryDetail salaryDetail = new BizFinancialSalaryDetail();
|
|
|
|
|
|
salaryDetail.setFinancialSalaryId(salary.getId());
|
|
salaryDetail.setFinancialSalaryId(salary.getId());
|
|
salaryDetail.setMonth(month);
|
|
salaryDetail.setMonth(month);
|
|
salaryDetail.setYear(year);
|
|
salaryDetail.setYear(year);
|
|
- List<BizFinancialSalaryDetail> salaryDetailList=bizFinancialSalaryDetailService.getList(salaryDetail);
|
|
|
|
- if(salaryDetailList.size()>0){
|
|
|
|
- failureNum++;
|
|
|
|
- failureMsg.append("<br/>").append(failureNum).append("、客户 ").append(salaryDetai.getCompanyName()).append(year+"年"+month+"月").append("工资已有数据");
|
|
|
|
- continue;
|
|
|
|
|
|
+ boolean status = false;
|
|
|
|
+ List<BizFinancialSalaryDetail> salaryDetailList = bizFinancialSalaryDetailService.getList(salaryDetail);
|
|
|
|
+ if (!CollectionUtils.isEmpty(salaryDetailList)) {
|
|
|
|
+ BizFinancialSalaryDetail bizFinancialSalaryDetail = salaryDetailList.get(0);
|
|
|
|
+ if (bizFinancialSalaryDetail != null) {
|
|
|
|
+ status = true;
|
|
|
|
+ Long id = bizFinancialSalaryDetail.getId();
|
|
|
|
+ List<BizFinancialSalaryDetailEmployee> bizFinancialSalaryDetailEmployees = bizFinancialSalaryDetailEmployeeMapper
|
|
|
|
+ .selectList(new LambdaQueryWrapper<BizFinancialSalaryDetailEmployee>().eq(BizFinancialSalaryDetailEmployee::getFinancialSalaryDetailId, id));
|
|
|
|
+ if (!CollectionUtils.isEmpty(bizFinancialSalaryDetailEmployees)) {
|
|
|
|
+ failureNum++;
|
|
|
|
+ failureMsg.append("<br/>").append(failureNum).append("、客户 ").append(salaryDetai.getCompanyName()).append(year + "年" + month + "月").append("工资已有数据");
|
|
|
|
+ continue;
|
|
|
|
+ } else {
|
|
|
|
+ salaryDetail.setId(id);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
-
|
|
|
|
-
|
|
|
|
//设置状态为待确认
|
|
//设置状态为待确认
|
|
salaryDetail.setStatus(1);
|
|
salaryDetail.setStatus(1);
|
|
salaryDetail.setCompanyId(salary.getCompanyId());
|
|
salaryDetail.setCompanyId(salary.getCompanyId());
|
|
//新增工资明细
|
|
//新增工资明细
|
|
- bizFinancialSalaryDetailMapper.insert(salaryDetail);
|
|
|
|
-
|
|
|
|
|
|
+ if (!status) {
|
|
|
|
+ bizFinancialSalaryDetailMapper.insert(salaryDetail);
|
|
|
|
+ }
|
|
for (BizFinancialSalaryDetailEmployee l : employees) {
|
|
for (BizFinancialSalaryDetailEmployee l : employees) {
|
|
//计算应发工资
|
|
//计算应发工资
|
|
- l.setActuallySalary(l.getPlanSalary()==null? BigDecimal.valueOf(0) :l.getPlanSalary().add(l.getBonusAmount()==null? BigDecimal.valueOf(0) :l.getBonusAmount()));
|
|
|
|
|
|
+ l.setActuallySalary(l.getPlanSalary() == null ? BigDecimal.valueOf(0) : l.getPlanSalary().add(l.getBonusAmount() == null ? BigDecimal.valueOf(0) : l.getBonusAmount()));
|
|
//计算实发工资
|
|
//计算实发工资
|
|
- l.setActuallySalary(l.getActuallySalary()==null? BigDecimal.valueOf(0) :l.getActuallySalary().subtract(l.getEndowmentInsurance()==null? BigDecimal.valueOf(0) :l.getEndowmentInsurance()).subtract(l.getMedicalInsurance()==null? BigDecimal.valueOf(0) :l.getMedicalInsurance())
|
|
|
|
- .subtract(l.getUnemploymentBenefit()==null? BigDecimal.valueOf(0) :l.getUnemploymentBenefit()).subtract(l.getSeriousIllnessInsurance()==null? BigDecimal.valueOf(0) :l.getSeriousIllnessInsurance())
|
|
|
|
- .subtract(l.getHousingFund()==null? BigDecimal.valueOf(0) :l.getHousingFund()).subtract(l.getOtherCut()==null? BigDecimal.valueOf(0) :l.getOtherCut()));
|
|
|
|
|
|
+ l.setActuallySalary(l.getActuallySalary() == null ? BigDecimal.valueOf(0) : l.getActuallySalary().subtract(l.getEndowmentInsurance() == null ? BigDecimal.valueOf(0) : l.getEndowmentInsurance()).subtract(l.getMedicalInsurance() == null ? BigDecimal.valueOf(0) : l.getMedicalInsurance())
|
|
|
|
+ .subtract(l.getUnemploymentBenefit() == null ? BigDecimal.valueOf(0) : l.getUnemploymentBenefit()).subtract(l.getSeriousIllnessInsurance() == null ? BigDecimal.valueOf(0) : l.getSeriousIllnessInsurance())
|
|
|
|
+ .subtract(l.getHousingFund() == null ? BigDecimal.valueOf(0) : l.getHousingFund()).subtract(l.getOtherCut() == null ? BigDecimal.valueOf(0) : l.getOtherCut()));
|
|
//设置外键
|
|
//设置外键
|
|
l.setFinancialSalaryId(salary.getId());
|
|
l.setFinancialSalaryId(salary.getId());
|
|
l.setFinancialSalaryDetailId(salaryDetail.getId());
|
|
l.setFinancialSalaryDetailId(salaryDetail.getId());
|
|
@@ -142,4 +158,9 @@ public class BizFinancialSalaryServiceImpl extends ServiceImpl<BizFinancialSala
|
|
|
|
|
|
return successMsg.toString();
|
|
return successMsg.toString();
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public int physicalDeleteIds(List<Long> ids) {
|
|
|
|
+ return bizFinancialSalaryMapper.physicalDeleteIds(ids);
|
|
|
|
+ }
|
|
}
|
|
}
|