shichongfu
2023-04-26 a5bcd955f94aa64a2d8ca83497582b9ba3e9f11a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
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;
        }
    }
    
}