Merge remote-tracking branch 'origin/master'

master
wanglei 7 months ago
commit 87ff6102dd

@ -31,7 +31,7 @@ public class PaySalaryReportBo extends BaseEntity {
/**
* id
*/
@NotNull(message = "租户id不能为空", groups = { AddGroup.class, EditGroup.class })
// @NotNull(message = "租户id不能为空", groups = { AddGroup.class, EditGroup.class })
private Long tenantId;
/**
@ -79,7 +79,7 @@ public class PaySalaryReportBo extends BaseEntity {
/**
*
*/
@NotNull(message = "实际出勤天数不能为空", groups = { AddGroup.class, EditGroup.class })
// @NotNull(message = "实际出勤天数不能为空", groups = { AddGroup.class, EditGroup.class })
private Long actuallyDays;
/**

@ -15,5 +15,5 @@ import java.util.List;
*/
public interface PayBaohuoEmployeeMapper extends BaseMapperPlus<PayBaohuoEmployeeMapper, PayBaohuoEmployee, PayBaohuoEmployeeVo> {
List<PayBaohuoEmployee> selectSgrBaohuoEmployeeList1(PayBaohuoEmployeeBo bhEmployee);
List<PayBaohuoEmployee> selectPayBaohuoEmployeeList1(PayBaohuoEmployeeBo bhEmployee);
}

@ -20,5 +20,5 @@ public interface PayButieEmplyeeMapper extends BaseMapperPlus<PayButieEmplyeeMap
@Update("UPDATE pay_butie_emplyee SET money = #{money} WHERE butie_id = #{btid} AND employee_id = #{empId} AND date = #{date} ")
Integer updateButieEmplyeeByDate(@Param("btid") Long btid, @Param("empId") Long empId, @Param("date") String date, @Param("money") BigDecimal money);
@Select("SELECT IFNULL(SUM(money),0) AS money FROM pay_butie_emplyee WHERE employee_id = #{empId} AND butie_id = #{butieId} AND date = #{date}")
BigDecimal getMoneyByInfo(Long id, Long id1, String date);
BigDecimal getMoneyByInfo(@Param("butieId")Long butieId, @Param("empId")Long empId, @Param("date")String date);
}

@ -26,4 +26,6 @@ public interface PayEmployeeInfoMapper extends BaseMapperPlus<PayEmployeeInfoMap
@Select("select dept_name from sys_dept where dept_id = #{deptId}")
String selectDeptNameByDeptNo(Long deptId);
@Select("select * from pay_employee_info where name = #{empName} and deleted = 0 and tenant_id = #{tenantId}")
PayEmployeeInfo selectSgrEmployeeInfoByName(@Param("tenantId")Long tenantId,@Param("empName") String empName);
}

@ -184,7 +184,8 @@ public class PaySalaryReportServiceImpl implements IPaySalaryReportService {
PaySalaryReportBo bo = BeanUtil.toBean(entity, PaySalaryReportBo.class);
UpdateWrapper<PaySalaryReport> upw =new UpdateWrapper<>();
upw.set(bo.getEmpQuery() != null,"emp_query",bo.getEmpQuery())
.eq("year",entity.getYear()).eq("month",entity.getMonth());
.eq("year",entity.getYear()).eq("month",entity.getMonth())
.eq("tenant_id",entity.getTenantId());
return baseMapper.update(entity,upw) > 0;
}
@ -412,7 +413,7 @@ public class PaySalaryReportServiceImpl implements IPaySalaryReportService {
sgrSalaryReport.setActuallyHours(attendanceReport.getAttendanceHours());
sgrSalaryReport.setOvertimeWorkHours(attendanceReport.getOvertimeHours());
sgrSalaryReport.setNote(attendanceReport.getRemark());
} else if (!employeeInfo.getPayCalcType().equals(PayCalcType.TYPE5.getValue())) {
} else if (!employeeInfo.getPayCalcType().equals(PayCalcType.TYPE5.getValue())) {//包月计算类型不需要应出勤
failedNums++;
failedMsg.append("<br/>未找到:" + employeeInfo.getName() + "的应出勤信息");
continue;
@ -482,7 +483,7 @@ public class PaySalaryReportServiceImpl implements IPaySalaryReportService {
bhEmployee.setTenantId(tenantId);
bhEmployee.setEmpName(empName);
bhEmployee.setIntime(yearMonth);
List<PayBaohuoEmployee> bhEmployees = sgrBaohuoEmployeeMapper.selectSgrBaohuoEmployeeList1(bhEmployee);
List<PayBaohuoEmployee> bhEmployees = sgrBaohuoEmployeeMapper.selectPayBaohuoEmployeeList1(bhEmployee);
for (PayBaohuoEmployee bhe : bhEmployees) {
if (bhe.getHelper() == 0) {
baohuogongzi = baohuogongzi.add(bhe.getAmount());
@ -497,7 +498,7 @@ public class PaySalaryReportServiceImpl implements IPaySalaryReportService {
List<ButieMoneyAndTypes> butieMoneyAndTypesList = new ArrayList<>();
for (PayButieVo butie : sgrButies) {
ButieMoneyAndTypes butieMoneyAndType = new ButieMoneyAndTypes();
BigDecimal money = sgrButieEmplyeeMapper.getMoneyByInfo(employeeInfo.getId(), butie.getId(), date);
BigDecimal money = sgrButieEmplyeeMapper.getMoneyByInfo(butie.getId(),employeeInfo.getId(), date);
butieMoneyAndType.setBuTieName(butie.getName());
//补贴扣减全勤和津贴需要按比例发放
/* if(money.compareTo(BigDecimal.ZERO)!=0){
@ -535,7 +536,12 @@ public class PaySalaryReportServiceImpl implements IPaySalaryReportService {
BigDecimal payPerHour;
if (!payCalcType.equals(PayCalcType.TYPE5.getValue())) {
//出勤工时=实际出勤天数*每日小时数+实际出勤小时数
chuqingongshi = new BigDecimal(sgrSalaryReport.getActuallyDays()).multiply(employeeInfo.getHoursPerDay()).add(sgrSalaryReport.getActuallyHours());
if(sgrSalaryReport.getActuallyHours()!=null){
chuqingongshi = new BigDecimal(sgrSalaryReport.getActuallyDays()).multiply(employeeInfo.getHoursPerDay()).add(sgrSalaryReport.getActuallyHours());
}else{
chuqingongshi = new BigDecimal(sgrSalaryReport.getActuallyDays()).multiply(employeeInfo.getHoursPerDay());
}
}
sgrSalaryReport.setDayWorkHours(chuqingongshi);
BigDecimal rigonggongzi = BigDecimal.ZERO;
@ -551,7 +557,9 @@ public class PaySalaryReportServiceImpl implements IPaySalaryReportService {
//日工工资=基本工资/每日应出勤工时*日工工时
payPerHour = sgrSalaryReport.getBasicSalary().divide(employeeInfo.getHoursPerDay(), 4, BigDecimal.ROUND_HALF_UP);
rigonggongzi = payPerHour.multiply(rigonghours);
jiabangongzi = payPerHour.multiply(new BigDecimal("1.3")).multiply(sgrSalaryReport.getOvertimeWorkHours());
if(sgrSalaryReport.getOvertimeWorkHours()!=null){
jiabangongzi = payPerHour.multiply(new BigDecimal("1.3")).multiply(sgrSalaryReport.getOvertimeWorkHours());
}
rigongbanggongGZ = payPerHour.multiply(rigongbanggong);
break;
case "1": //工资计算类型:月薪(日工工资+包活工资)
@ -621,11 +629,10 @@ public class PaySalaryReportServiceImpl implements IPaySalaryReportService {
}
if (failedNums > 0) {
failedMsg.insert(0, "生成成功:" + successNums + "条,生成失败:" + failedNums + "条,错误如下:");
return R.fail(failedMsg.toString());
return R.ok(failedMsg.toString());
} else {
successMsg.insert(0, "恭喜您,数据已全部生成成功!共 " + successNums + " 条,数据如下:");
}
return R.ok(successMsg.toString());
}
}

@ -24,7 +24,7 @@
<sql id="selectSgrBaohuoEmployeeVo">
select id, wo_id, emp_id, dept_id, emp_name, amount, month, helper, intime from pay_baohuo_employee
</sql>
<select id="selectSgrBaohuoEmployeeList1" resultMap="PayBaohuoEmployeeResult">
<select id="selectPayBaohuoEmployeeList1" resultMap="PayBaohuoEmployeeResult">
<include refid="selectSgrBaohuoEmployeeVo"/>
<where>
<if test="woId != null "> and wo_id = #{woId}</if>

@ -27,7 +27,7 @@
<sql id="selectSgrWorkOrderEmployeeVo">
select id, work_order_id, employee_id, dept_id, type, emp_name, start_time, end_time, valid_hours, date, month, processing_type, processing_price, processing_num, amount, helper,intime from pay_work_order_employee
</sql>
<select id="selectSgrWorkOrderEmployeeList1" resultMap="PayWorkOrderEmployeeResult">
<select id="selectPayWorkOrderEmployeeList1" resultMap="PayWorkOrderEmployeeResult">
<include refid="selectSgrWorkOrderEmployeeVo"/>
<where>
<if test="workOrderId != null "> and work_order_id = #{workOrderId}</if>

Loading…
Cancel
Save