package com.product.administration.service;
|
import com.product.administration.config.CmnConst;
|
import com.product.common.lang.StringUtils;
|
import com.product.core.dao.BaseDao;
|
import com.product.core.entity.DataTableEntity;
|
import com.product.core.entity.FieldSetEntity;
|
import com.product.core.exception.BaseException;
|
import com.product.core.permission.PermissionService;
|
import com.product.core.service.support.AbstractBaseService;
|
import com.product.core.service.support.QueryFilterService;
|
import com.product.core.spring.context.SpringMVCContextHolder;
|
import java.util.Date;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
/**
|
* Copyright © LX-BASE
|
*
|
* @Title: LeaveRequestService
|
* @Project: LX-BASE-SERVER
|
* @Date: 2020-11-13 09:27:35
|
* @Author: Xin.Luo
|
* @Description: 请假申请
|
*/
|
@Component
|
public class LeaveRequestService extends AbstractBaseService {
|
|
@Autowired
|
private BaseDao baseDao;
|
@Autowired
|
PermissionService permissionService;
|
@Autowired
|
QueryFilterService queryFilterService;
|
|
/**
|
* @Date: 2020-03-30 14:10
|
* @Author: ZhouJie
|
* 请假申请列表
|
*/
|
public DataTableEntity getLeaveRequestList(FieldSetEntity fs) throws BaseException {
|
String filter=fs.getString("filter");
|
String dataFilter = permissionService.getDataFilter(fs.getTableName(),CmnConst.CREATED_BY);
|
if(!StringUtils.isEmpty(dataFilter)){
|
filter += " and "+dataFilter;
|
}
|
DataTableEntity dt = baseDao.listTable(CmnConst.PRODUCT_SYS_ASK_FOR_LEAVE,filter,null,null,"id desc",fs.getInteger(CmnConst.PAGESIZE),fs.getInteger(CmnConst.CPAGE),false);
|
baseDao.loadPromptData(dt);
|
return dt;
|
}
|
/**
|
* @Date: 2020-03-30 14:46
|
* @Author: ZhouJie
|
* 请假申请详情
|
*/
|
public FieldSetEntity getLeaveRequestInfo(FieldSetEntity fs) throws BaseException {
|
return baseDao.listInternationDataTable(baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_ASK_FOR_LEAVE, fs.getString(CmnConst.UUID), true),null);
|
}
|
/**
|
* @Date: 2020-03-30 15:32
|
* @Author: ZhouJie
|
* 请假申请保存
|
*/
|
public String saveLeaveRequest(FieldSetEntity fs) throws BaseException {
|
DataTableEntity dataTableEntity = baseDao.listTable(CmnConst.PRODUCT_SYS_ASK_FOR_LEAVE, " uuid not in (?) and user_id=? and ((start_time<=? and end_time>=?) or(start_time<=? and end_time>=?))"
|
, new String[]{StringUtils.isEmpty(fs.getUUID())?"":fs.getUUID(), fs.getString("user_id"), fs.getString("start_time"), fs.getString("start_time"), fs.getString("end_time"), fs.getString("end_time")});
|
if (dataTableEntity.getRows()>0){
|
return "1";
|
}else {
|
if (StringUtils.isEmpty(fs.getString(CmnConst.UUID))) {
|
fs.setValue("created_by", SpringMVCContextHolder.getCurrentUser().getUser_id());
|
fs.setValue("created_utc_datetime", new Date());
|
fs.setValue("org_level_uuid", SpringMVCContextHolder.getCurrentUser().getOrg_level_uuid());
|
return baseDao.add(fs);
|
} else {
|
fs.setValue("updated_by", SpringMVCContextHolder.getCurrentUser().getUser_id());
|
fs.setValue("updated_utc_datetime", new Date());
|
baseDao.update(fs);
|
return fs.getString(CmnConst.UUID);
|
}
|
|
}
|
}
|
/**
|
* @Date: 2020-03-30 16:43
|
* @Author: ZhouJie
|
* 删除请假申请
|
*/
|
public boolean deleteLeaveRequest(FieldSetEntity fs) throws BaseException {
|
return baseDao.delete(CmnConst.PRODUCT_SYS_ASK_FOR_LEAVE,CmnConst.UUID+"=?",new Object[]{fs.getString(CmnConst.UUID)});
|
}
|
}
|