回算后不允许删除薪资核算记录
This commit is contained in:
parent
e28ca6a2d0
commit
a3ee91db15
|
|
@ -63,7 +63,9 @@ public class SalaryAcctRecordBO {
|
|||
List<WeaTableOperate> btnList = new ArrayList<>();
|
||||
if (SalaryAcctRecordStatusEnum.NOT_ARCHIVED == salaryAcctRecordStatusEnum) {
|
||||
btnList.add(new WeaTableOperate("核算", null, "0"));
|
||||
btnList.add(new WeaTableOperate("删除", null, "0"));
|
||||
if(!Objects.equals(salaryAcctRecordPO.getBackCalcStatus(),NumberUtils.INTEGER_ONE)){
|
||||
btnList.add(new WeaTableOperate("删除", null, "0"));
|
||||
}
|
||||
btnList.add(new WeaTableOperate("归档", null, "0"));
|
||||
} else if (SalaryAcctRecordStatusEnum.ARCHIVED == salaryAcctRecordStatusEnum && ( salarySendMap.get(salaryAcctRecordPO.getId()) ==Boolean.TRUE ) ){
|
||||
btnList.add(new WeaTableOperate("查看", null, "0"));
|
||||
|
|
|
|||
|
|
@ -97,4 +97,6 @@ public interface SalarySendInfoMapper {
|
|||
* @param po
|
||||
*/
|
||||
void updateIgnoreNull(SalarySendInfoPO po);
|
||||
|
||||
void deleteBySalaryAcctRecordIds(@Param("salaryAcctRecordId") Collection<Long> ids);
|
||||
}
|
||||
|
|
@ -37,6 +37,15 @@
|
|||
, t.tenant_key
|
||||
, t.salary_acct_type
|
||||
</sql>
|
||||
<update id="deleteBySalaryAcctRecordIds">
|
||||
update hrsa_salary_send_info
|
||||
set delete_type = 1
|
||||
where salary_acct_record_id in
|
||||
<foreach collection="salaryAcctRecordId" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
|
||||
</update>
|
||||
|
||||
<select id="getById" resultType="com.engine.salary.entity.salaryBill.po.SalarySendInfoPO">
|
||||
SELECT
|
||||
|
|
|
|||
|
|
@ -5,6 +5,7 @@ import com.engine.salary.entity.salaryBill.param.SalarySendQueryParam;
|
|||
import com.engine.salary.entity.salaryBill.po.SalarySendPO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
|
|
@ -60,4 +61,6 @@ public interface SalarySendMapper {
|
|||
void batchHandleSendStatusHistory();
|
||||
|
||||
void batchHandleSalaryAcctTypeHistory();
|
||||
|
||||
void deleteBySalaryAcctRecordIds(@Param("salaryAcctRecordId") Collection<Long> ids);
|
||||
}
|
||||
|
|
@ -63,6 +63,14 @@
|
|||
</foreach>
|
||||
</if>
|
||||
</sql>
|
||||
<update id="deleteBySalaryAcctRecordIds">
|
||||
update hrsa_salary_send
|
||||
set delete_type = 1
|
||||
where salary_accounting_id in
|
||||
<foreach collection="salaryAcctRecordId" open="(" item="id" separator="," close=")">
|
||||
#{id}
|
||||
</foreach>
|
||||
</update>
|
||||
|
||||
<select id="list" resultType="com.engine.salary.entity.salaryBill.dto.SalarySendListDTO">
|
||||
SELECT
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ import com.engine.salary.entity.salaryacct.po.SalaryAcctRecordPO;
|
|||
import com.engine.salary.util.page.PageInfo;
|
||||
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
|
|
@ -157,4 +158,10 @@ public interface SalarySendService {
|
|||
* @return
|
||||
*/
|
||||
Map<String, Object> sumRow(SalarySendInfoQueryParam queryParam);
|
||||
|
||||
/**
|
||||
* 根据薪资核算id删除 工资单
|
||||
* @param ids
|
||||
*/
|
||||
void deleteBySalaryAcctRecordIds(Collection<Long> ids);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -496,6 +496,9 @@ public class SalaryAcctRecordServiceImpl extends Service implements SalaryAcctRe
|
|||
// salaryCheckResultDetailService.deleteBySalaryAcctRecordIds(ids);
|
||||
// 删除线下导入结果
|
||||
getSalaryComparisonResultService(user).deleteBySalaryAcctRecordIds(ids);
|
||||
// 删除回算前的工资单
|
||||
// getSalarySendService(user).deleteBySalaryAcctRecordIds(ids);
|
||||
|
||||
|
||||
// 变更核算次数
|
||||
List<SalaryAcctRecordPO> toUpdateAcctTimesRecordPOS = listBySalarySobIds(salarySobIds);
|
||||
|
|
|
|||
|
|
@ -496,12 +496,29 @@ public class SalarySendServiceImpl extends Service implements SalarySendService
|
|||
acctPo.setEmployeeId(currentEmployeeId);
|
||||
List<SalaryAcctResultPO> salaryAcctResultPOS = getSalaryAcctResultMapper().listSome(acctPo);
|
||||
encryptUtil.decryptList(salaryAcctResultPOS, SalaryAcctResultPO.class);
|
||||
List<Map<String, Object>> salaryAcctResultS = salaryAcctResultPOS.stream().map(m -> {
|
||||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
map.put("salaryItemId", m.getSalaryItemId());
|
||||
map.put("resultValue", m.getResultValue());
|
||||
return map;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
SalaryAcctRecordPO salaryAcctRecordPO = getSalaryAcctRecordService(user).getById(salarySendInfo.getSalaryAcctRecordId());
|
||||
if(salaryAcctRecordPO == null){
|
||||
throw new SalaryRunTimeException("薪资核算记录不存在!");
|
||||
}
|
||||
List<Map<String, Object>> salaryAcctResultS =null;
|
||||
if(Objects.equals(salaryAcctRecordPO.getBackCalcStatus(),NumberUtils.INTEGER_ONE) && !isReplenish){
|
||||
// 该记录回算过,并且获取的不是回算后的工资单
|
||||
salaryAcctResultS = salaryAcctResultPOS.stream().map(m -> {
|
||||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
map.put("salaryItemId", m.getSalaryItemId());
|
||||
map.put("resultValue", m.getOriginResultValue());
|
||||
return map;
|
||||
}).collect(Collectors.toList());
|
||||
}else{
|
||||
salaryAcctResultS = salaryAcctResultPOS.stream().map(m -> {
|
||||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
map.put("salaryItemId", m.getSalaryItemId());
|
||||
map.put("resultValue", m.getResultValue());
|
||||
return map;
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
|
||||
|
||||
Map<String, Object> map = new LinkedHashMap<>();
|
||||
map.put("tenantName", "");
|
||||
|
|
@ -510,13 +527,14 @@ public class SalarySendServiceImpl extends Service implements SalarySendService
|
|||
Optional<SalaryTemplateSalaryItemSetListDTO> optionalEmployeeInformation = listDTOS.stream().filter(e -> SalaryTemplateSalaryItemSetGroupConstant.EMPLOYEE_INFO_GROUP_ID.equals(e.getGroupId())).findFirst();
|
||||
SalaryTemplateSalaryItemSetListDTO employeeInformation = optionalEmployeeInformation.orElse(null);
|
||||
List<SalaryTemplateSalaryItemSetListDTO> itemSetListDTOS = listDTOS.stream().filter(e -> !SalaryTemplateSalaryItemSetGroupConstant.EMPLOYEE_INFO_GROUP_ID.equals(e.getGroupId())).collect(Collectors.toList());
|
||||
List<Map<String, Object>> finalSalaryAcctResultS = salaryAcctResultS;
|
||||
itemSetListDTOS.stream().forEach(item -> {
|
||||
item.getItems()
|
||||
.forEach(e -> {
|
||||
if (CollectionUtils.isEmpty(salaryAcctResultS)) {
|
||||
if (CollectionUtils.isEmpty(finalSalaryAcctResultS)) {
|
||||
e.setSalaryItemValue("");
|
||||
} else {
|
||||
Object o = salaryAcctResultS.stream()
|
||||
Object o = finalSalaryAcctResultS.stream()
|
||||
.filter(f -> f.get("salaryItemId") != null && String.valueOf(f.get("salaryItemId")).equals(e.getSalaryItemId())).findFirst()
|
||||
.orElse(new HashMap<>())
|
||||
.get("resultValue");
|
||||
|
|
@ -1309,4 +1327,12 @@ public class SalarySendServiceImpl extends Service implements SalarySendService
|
|||
}
|
||||
return getSalaryAcctResultService(user).sumRow(SalaryAcctResultQueryParam.builder().salaryAcctRecordId(salarySendPO.getSalaryAccountingId()).build());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void deleteBySalaryAcctRecordIds(Collection<Long> ids) {
|
||||
if(CollectionUtils.isNotEmpty(ids)){
|
||||
getSalarySendMapper().deleteBySalaryAcctRecordIds(ids);
|
||||
getSalarySendInfoMapper().deleteBySalaryAcctRecordIds(ids);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue