|
|
@@ -5,6 +5,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
|
|
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
|
|
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
|
|
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
|
|
|
+import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder;
|
|
|
import cn.iocoder.yudao.module.system.controller.admin.biz.vo.AskLeavePageReqVO;
|
|
|
import cn.iocoder.yudao.module.system.controller.admin.biz.vo.ElderlyAskLeaveExportExcelVO;
|
|
|
import cn.iocoder.yudao.module.system.dal.dataobject.biz.*;
|
|
|
@@ -18,6 +19,7 @@ import com.mzt.logapi.starter.annotation.LogRecord;
|
|
|
import lombok.Data;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.CollectionUtils;
|
|
|
@@ -80,6 +82,12 @@ public class ElderlyAskLeaveServiceImpl implements ElderlyAskLeaveService {
|
|
|
@Resource
|
|
|
private ElderlyContractMapper elderlyContractMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private ElderlyAskLeaveDailyExpenseRelationMapper elderlyAskLeaveDailyExpenseRelationMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private DailyExpensesService dailyExpensesService;
|
|
|
+
|
|
|
|
|
|
@Override
|
|
|
@LogRecord(type = ELDERLY_ASK_LEAVE_TYPE, subType = ELDERLY_ASK_LEAVE_CREATE_SUB_TYPE, bizNo = "{{#createReqVO.id}}",
|
|
|
@@ -574,7 +582,8 @@ public class ElderlyAskLeaveServiceImpl implements ElderlyAskLeaveService {
|
|
|
|
|
|
// 先保存日常费用,获取ID
|
|
|
dailyExpensesMapper.insert(dailyExpenses);
|
|
|
-
|
|
|
+ // 保存外出与日常费用关系,后续删除能够一并删除日常费用
|
|
|
+ saveElderlyAskLeaveDailyExpenseRelation(askLeaveDO.getElderId(),askLeaveDO.getId(),dailyExpenses.getId());
|
|
|
// 账单不存在、已缴费或已确认则不带入账单
|
|
|
if (expenseOrder == null || Objects.equals(expenseOrder.getPayStatus(), 1) || expenseOrder.getIsLock()) {
|
|
|
return;
|
|
|
@@ -615,6 +624,11 @@ public class ElderlyAskLeaveServiceImpl implements ElderlyAskLeaveService {
|
|
|
|
|
|
@Override
|
|
|
public void delete(Long id) {
|
|
|
+ List<ElderlyAskLeaveDailyExpenseRelationDO> elderlyAskLeaveDailyExpenseRelationList = elderlyAskLeaveDailyExpenseRelationMapper.selectList(new LambdaQueryWrapperX<ElderlyAskLeaveDailyExpenseRelationDO>()
|
|
|
+ .eq(ElderlyAskLeaveDailyExpenseRelationDO::getAskLeaveId, id));
|
|
|
+ for (ElderlyAskLeaveDailyExpenseRelationDO elderlyAskLeaveDailyExpenseRelationDO : elderlyAskLeaveDailyExpenseRelationList) {
|
|
|
+ dailyExpensesService.deleteDailyExpenses(elderlyAskLeaveDailyExpenseRelationDO.getDailyExpenseId());
|
|
|
+ }
|
|
|
elderlyAskLeaveMapper.deleteById(id);
|
|
|
}
|
|
|
|
|
|
@@ -716,4 +730,13 @@ public class ElderlyAskLeaveServiceImpl implements ElderlyAskLeaveService {
|
|
|
throw exception(ErrorCodeConstants.ELDERLY_LEAVE_UPDATE_DATE_OVER_EXPIRE);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ private void saveElderlyAskLeaveDailyExpenseRelation(Long elderId,Long askLeaveId,Long dailyExpenseId){
|
|
|
+ ElderlyAskLeaveDailyExpenseRelationDO elderlyAskLeaveDailyExpenseRelationDO = new ElderlyAskLeaveDailyExpenseRelationDO();
|
|
|
+ elderlyAskLeaveDailyExpenseRelationDO.setElderId(elderId);
|
|
|
+ elderlyAskLeaveDailyExpenseRelationDO.setAskLeaveId(askLeaveId);
|
|
|
+ elderlyAskLeaveDailyExpenseRelationDO.setDailyExpenseId(dailyExpenseId);
|
|
|
+ elderlyAskLeaveDailyExpenseRelationDO.setTenantId(TenantContextHolder.getTenantId());
|
|
|
+ elderlyAskLeaveDailyExpenseRelationMapper.insert(elderlyAskLeaveDailyExpenseRelationDO);
|
|
|
+ }
|
|
|
}
|