package com.home.xining.service;
|
|
import java.text.SimpleDateFormat;
|
import java.util.Date;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Component;
|
|
import com.home.xining.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.permission.PermissionService;
|
import com.product.core.service.support.AbstractBaseService;
|
import com.product.core.service.support.QueryFilterService;
|
import com.product.util.BaseUtil;
|
|
/**
|
* @ClassName: PleaseLeaveService
|
* @Author: 杜洪波
|
* @Date: 2022/2/10 09:49
|
* @Description: 请休假审批
|
*/
|
@Component
|
public class PleaseLeaveService extends AbstractBaseService {
|
|
@Autowired
|
BaseDao baseDao;
|
@Autowired
|
PermissionService permissionService;
|
@Autowired
|
QueryFilterService queryFilterService;
|
|
/**
|
* 请休假审批列表
|
* @param fse
|
* @return
|
*/
|
public DataTableEntity listOfficePurchase(FieldSetEntity fse) {
|
|
//获取流程过滤条件
|
String filter=fse.getString("filter");
|
//获取权限过滤条件
|
String dataFilter = permissionService.getDataFilter(fse.getTableName(),CmnConst.PL01);
|
if(!StringUtils.isEmpty(dataFilter)){
|
if(filter==null){
|
filter = dataFilter;
|
}else{
|
filter += " and "+dataFilter;
|
}
|
}
|
//获取查询列表数据
|
DataTableEntity dt = baseDao.listTable(CmnConst.PLEASELEAVE,filter,null,null,null,fse.getInteger(CmnConst.PAGESIZE),fse.getInteger(CmnConst.CPAGE));
|
baseDao.loadPromptData(dt);
|
return dt;
|
}
|
|
/**
|
* 请休假详情
|
* @param uuid
|
* @return
|
*/
|
public FieldSetEntity findPleaseLeave(String uuid) {
|
return baseDao.getFieldSet(CmnConst.PLEASELEAVE, uuid, false);
|
}
|
|
/**
|
* 请休假保存
|
* @param fse
|
* @return
|
*/
|
public String savePleaseLeave(FieldSetEntity fse) {
|
String uuid=fse.getUUID();
|
if (StringUtils.isEmpty(uuid)) { //新增
|
//获取员工信息
|
FieldSetEntity fseStaff=baseDao.getFieldSetEntityByFilter(CmnConst.PRODUCT_SYS_STAFFS, "user_id=?", new Object[] {fse.getString(CmnConst.PL01)}, false);
|
fse.setValue("pl02", fseStaff.getString("enter_work")); //参加工作日期
|
fse.setValue("status", "0");
|
// fse.setValue("", "");
|
|
}
|
baseDao.saveFieldSetEntity(fse);
|
return uuid;
|
}
|
|
/**
|
* 请休假删除
|
* @param uuid
|
* @return
|
*/
|
public boolean deletePleaseLeave(String uuid) {
|
String[] uuids = uuid.split(",");
|
return baseDao.delete(CmnConst.BGYPLYB, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, uuids.length, true), uuids);
|
}
|
|
/**
|
* 计算工作日
|
* @param start
|
* @param end
|
* @return
|
*/
|
public int pareWorkDate(String s,String e, String user_id){
|
SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd");
|
try{
|
Date start=format1.parse(s);
|
Date end=format1.parse(e);
|
int workn=0;
|
if(start!=null&&end!=null){
|
for(long l=start.getTime();l<=end.getTime();l+=86400000){
|
Date d=new Date();
|
d.setTime(l);
|
String time=format1.format(d);
|
}
|
}
|
return workn;
|
}catch(Exception fe){
|
fe.printStackTrace();
|
return 0;
|
}
|
}
|
|
}
|