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; } } }