package com.mortals.xhx.module.perform.service.impl;
import com.mortals.xhx.common.utils.BeanUtil;
import com.mortals.xhx.module.check.model.CheckAttendRecordEntity;
import com.mortals.xhx.module.check.service.CheckAttendRecordService;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.perform.dao.PerformAttendRecordDao;
import com.mortals.xhx.module.perform.model.PerformAttendRecordEntity;
import com.mortals.xhx.module.perform.service.PerformAttendRecordService;
import lombok.extern.slf4j.Slf4j;
/**
* PerformAttendRecordService
* 考勤绩效记录信息 service实现
*
* @author zxfei
* @date 2023-05-18
*/
@Service("performAttendRecordService")
@Slf4j
public class PerformAttendRecordServiceImpl extends AbstractCRUDServiceImpl<PerformAttendRecordDao, PerformAttendRecordEntity, Long> implements PerformAttendRecordService {

    @Autowired
    private CheckAttendRecordService checkAttendRecordService;

    @Override
    protected void saveAfter(PerformAttendRecordEntity entity, Context context) throws AppException {
        CheckAttendRecordEntity checkAttendRecordEntity = new CheckAttendRecordEntity();
        checkAttendRecordEntity.initAttrValue();
        BeanUtils.copyProperties(entity,checkAttendRecordEntity, BeanUtil.getNullPropertyNames(entity));
        checkAttendRecordEntity.setRecordId(entity.getId());
        if(entity.getSubMethod()==1){
            checkAttendRecordEntity.setCheckStatus(2);     //自动扣分相设置为已处理
        }else {
            checkAttendRecordEntity.setCheckStatus(1);      //非自动扣分相设置为未处理
        }
        checkAttendRecordService.save(checkAttendRecordEntity,context);
    }
}