考勤规则修改,添加考勤组成备注
This commit is contained in:
parent
d4df9cff0f
commit
ec07f51615
|
|
@ -225,7 +225,7 @@ public interface AttSourceDataDao {
|
|||
* @param nowDate
|
||||
* @param i
|
||||
*/
|
||||
void updateMonthReportRequiredDay(@Param("userId") String userId, @Param("nowDate") String nowDate, @Param("requiredDays") Long requiredDays);
|
||||
void updateMonthReportRequiredDay(@Param("userId") String userId, @Param("nowDate") String nowDate, @Param("requiredDays") Long requiredDays, @Param("requiredDaysRemark") String requiredDaysRemark);
|
||||
|
||||
/**
|
||||
* 查询考勤人员基础数据
|
||||
|
|
|
|||
|
|
@ -143,4 +143,7 @@ public class AttMonthReportBean {
|
|||
private String startMonth;
|
||||
/**结束月份*/
|
||||
private String endMonth;
|
||||
|
||||
/**考勤组成卑职*/
|
||||
private String requiredDaysRemark;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -99,11 +99,13 @@ public interface AttCalService {
|
|||
|
||||
/**
|
||||
* 修改月的应考勤天数
|
||||
*
|
||||
* @param userId
|
||||
* @param nowDate
|
||||
* @param i
|
||||
* @param requiredDaysRemark
|
||||
*/
|
||||
void updateMonthReportRequiredDay(String userId, String nowDate, Long i);
|
||||
void updateMonthReportRequiredDay(String userId, String nowDate, Long i, String requiredDaysRemark);
|
||||
|
||||
/**
|
||||
* 月半才第一次加入考勤组
|
||||
|
|
|
|||
|
|
@ -6,22 +6,16 @@ import com.alibaba.fastjson2.JSONObject;
|
|||
import com.bonus.common.core.utils.DateTimeHelper;
|
||||
import com.bonus.common.core.utils.DateUtils;
|
||||
import com.bonus.common.core.utils.StringUtils;
|
||||
import com.bonus.common.security.utils.SecurityUtils;
|
||||
import com.bonus.system.api.domain.MapVo;
|
||||
import com.bonus.system.api.domain.SysUser;
|
||||
import com.bonus.system.att.dao.AttGroupDao;
|
||||
import com.bonus.system.att.dao.AttSourceDataDao;
|
||||
import com.bonus.system.att.dao.OrgChangeDao;
|
||||
import com.bonus.system.att.entity.*;
|
||||
import com.bonus.system.att.utils.AddressCoordinateFormatUtil;
|
||||
import com.bonus.system.att.utils.AttTimeUtil;
|
||||
import com.bonus.system.att.utils.WorkdayCalculator;
|
||||
import com.bonus.system.dept.dao.ProDeptRoleDao;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.beanutils.BeanUtils;
|
||||
import org.mybatis.spring.SqlSessionTemplate;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.time.Duration;
|
||||
|
|
@ -338,13 +332,15 @@ public class AttCalServiceImpl implements AttCalService {
|
|||
|
||||
/**
|
||||
* 修改月的应考勤天数
|
||||
*
|
||||
* @param userId
|
||||
* @param nowDate
|
||||
* @param i
|
||||
* @param requiredDaysRemark
|
||||
*/
|
||||
@Override
|
||||
public void updateMonthReportRequiredDay(String userId, String nowDate, Long i) {
|
||||
attSourceDataDao.updateMonthReportRequiredDay(userId, nowDate, i);
|
||||
public void updateMonthReportRequiredDay(String userId, String nowDate, Long i, String requiredDaysRemark) {
|
||||
attSourceDataDao.updateMonthReportRequiredDay(userId, nowDate, i, requiredDaysRemark);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -172,6 +172,7 @@ public class AttGroupServiceImpl implements AttGroupService {
|
|||
addList.forEach(m -> {
|
||||
int i = attCalService.getMonthReportTempData(m.getUserId(),nowDate);
|
||||
AtomicLong requiredDays = new AtomicLong();
|
||||
StringBuilder requiredDaysRemark = new StringBuilder();
|
||||
//查询历史考勤规则,方便分组计算
|
||||
List<AttGroupBean> dataList = attCalService.getAttSettingHistoryByUserAndDate(m.getUserId(),nowDate);
|
||||
//以最后一个考勤规则补全剩下当月日期所有考勤规则数据
|
||||
|
|
@ -208,13 +209,15 @@ public class AttGroupServiceImpl implements AttGroupService {
|
|||
List<String> attDayList = WorkdayCalculator.getWorkDay(collect.get(0).getAttDay(),
|
||||
collect.get(0).getIsHaveHoliday(), holidays, v.get(0).getCurrentDay(),v.get(v.size()-1).getCurrentDay());
|
||||
requiredDays.addAndGet(attDayList.size());
|
||||
requiredDaysRemark.append(v.get(0).getCurrentDay()).append("-").append(v.get(v.size()-1).getCurrentDay())
|
||||
.append("在").append(collect.get(0).getGroupName()).append(",应考勤").append(attDayList.size()).append("天;");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if(i>0){
|
||||
//存在,属于修改考勤组需要修改月报表考勤天数
|
||||
attCalService.updateMonthReportRequiredDay(m.getUserId(),nowDate,requiredDays.get());
|
||||
attCalService.updateMonthReportRequiredDay(m.getUserId(),nowDate,requiredDays.get(),requiredDaysRemark.toString());
|
||||
}else{
|
||||
//查询人当前组织
|
||||
List<AttMonthReportBean> list = attCalService.getOrgDataByUserId(m.getUserId());
|
||||
|
|
@ -223,6 +226,7 @@ public class AttGroupServiceImpl implements AttGroupService {
|
|||
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
|
||||
String currentYearMonth = sdf.format(new Date());
|
||||
list.get(0).setAttCurrentMonth(currentYearMonth);
|
||||
list.get(0).setRequiredDaysRemark(requiredDaysRemark.toString());
|
||||
attCalService.insertMonthHalfReportTempData(list);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -67,11 +67,13 @@
|
|||
</insert>
|
||||
<insert id="insertAttMonthReportTemp">
|
||||
insert into att_month_report(user_id, name, org_id, org_name, att_current_month,
|
||||
required_days)
|
||||
required_days, required_day_remark
|
||||
)
|
||||
values
|
||||
<foreach collection="list" item="params" separator=",">
|
||||
(#{params.userId}, #{params.userName}, #{params.orgId}, #{params.orgName},
|
||||
#{params.attCurrentMonth}, #{params.requiredDays})
|
||||
#{params.attCurrentMonth}, #{params.requiredDays}, #{params.requiredDaysRemark}
|
||||
)
|
||||
</foreach>
|
||||
</insert>
|
||||
|
||||
|
|
@ -180,7 +182,7 @@
|
|||
</update>
|
||||
<update id="updateMonthReportRequiredDay">
|
||||
update att_month_report
|
||||
set required_days = #{requiredDays}
|
||||
set required_days = #{requiredDays},required_day_remark = #{requiredDaysRemark}
|
||||
where user_id = #{userId}
|
||||
and att_current_month = DATE_FORMAT(#{nowDate}, '%Y-%m')
|
||||
</update>
|
||||
|
|
|
|||
Loading…
Reference in New Issue