package com.product.admin.service;
|
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
import com.product.admin.config.CmnConst;
|
import com.product.core.dao.BaseDao;
|
import com.product.core.entity.FieldSetEntity;
|
import com.product.core.service.support.AbstractBaseService;
|
import com.product.core.spring.context.SpringMVCContextHolder;
|
import com.product.module.sys.entity.SystemUser;
|
|
/**
|
* 登录考勤
|
* @author
|
*
|
*/
|
@Component
|
public class LoginPunchRecordService extends AbstractBaseService{
|
|
@Autowired
|
BaseDao baseDao;
|
|
/**
|
* 登录自动生成打卡信息
|
*/
|
public void autoCreatePunchInfo() {
|
SystemUser sysUser=SpringMVCContextHolder.getCurrentUser();
|
if (sysUser!=null && sysUser.getUserType()==0) {
|
Date curDate=new Date();
|
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
String string_created_datetime=df.format(curDate); //时间转string
|
FieldSetEntity fse=baseDao.getFieldSetEntityByFilter("product_oa_punch_record", "DATE_FORMAT(created_utc_datetime,'%Y-%m-%d')like ?", new Object[] {string_created_datetime.substring(0, 10)+"%"}, false);
|
if (fse==null) {
|
FieldSetEntity fseCompanyPunch=baseDao.getFieldSetEntityByFilter("product_oa_punch_time", "org_level_uuid=?", new Object[] {sysUser.getOrg_level_uuid()}, false);
|
if (fseCompanyPunch!=null) {
|
FieldSetEntity fseNewPunchInfo = new FieldSetEntity();
|
fseNewPunchInfo.setTableName("product_oa_punch_record");
|
fseNewPunchInfo.setValue(CmnConst.ORG_LEVEL_UUID, sysUser.getOrg_level_uuid());
|
fseNewPunchInfo.setValue(CmnConst.DEPT_UUID, sysUser.getDept_uuid());
|
fseNewPunchInfo.setValue(CmnConst.CREATED_BY, sysUser.getUser_id());
|
fseNewPunchInfo.setValue(CmnConst.CREATED_UTC_DATETIME, curDate);
|
fseNewPunchInfo.setValue("punch_time_one", string_created_datetime);
|
fseNewPunchInfo.setValue("punch_time_four", fseCompanyPunch.getDate("work_time_four", "yyyy-MM-dd HH:mm:ss"));
|
//新增打卡信息
|
baseDao.add(fseNewPunchInfo);
|
}
|
}
|
}
|
}
|
}
|