shicf
2024-11-21 cf74cf76707710a08ffcdfc13c46706966f12803
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
package com.product.administration.service;
 
import com.product.administration.config.CmnConst;
import com.product.administration.config.SystemCode;
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 com.product.util.BaseUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
 
import java.util.Date;
 
/**
 * Copyright LX
 *
 * @Title: WorkOvertimeService
 * @Project: product-server
 * @date: 2021年03月31日 09:54
 * @author: ZhouJie
 * @Description: 加班申请
 */
@Component
public class WorkOvertimeService extends AbstractBaseService {
    @Autowired
    public BaseDao baseDao;
    @Autowired
    PermissionService permissionService;
    @Autowired
    QueryFilterService queryFilterService;
 
    /**
     * @Date: 2020-03-31 10:10
     * @Author: ZhouJie
     * @Description: 加班申请列表
     */
    public DataTableEntity getWorkOvertimeList(FieldSetEntity fs) throws BaseException {
        String filter=fs.getString("filter");
        Object[] param=new Object[]{};
        String dataFilter = permissionService.getDataFilter(fs.getTableName(),CmnConst.CREATED_BY);
        if(!StringUtils.isEmpty(dataFilter)){
            filter += " and "+dataFilter;
        }
        DataTableEntity dt = baseDao.listTable(CmnConst.PRODUCT_OA_WORK_OVERTIME,filter,param,null,null,fs.getInteger(CmnConst.PAGESIZE),fs.getInteger(CmnConst.CPAGE));
        baseDao.loadPromptData(dt);
        return dt;
    }
 
    /**
     * @Date: 2020-03-31 11:16
     * @Author: ZhouJie
     * @Description: 加班申请详情
     */
    public FieldSetEntity getWorkOvertimeInfo(FieldSetEntity fs) throws BaseException {
        return baseDao.listInternationDataTable(baseDao.getFieldSetEntity(CmnConst.PRODUCT_OA_WORK_OVERTIME, fs.getString(CmnConst.UUID), true),null);
    }
 
    /**
     * @Date: 2020-03-31 14:56
     * @Author: ZhouJie
     * @Description: 保存加班申请(新增、修改)
     */
    public boolean saveWorkOvertime(FieldSetEntity fse) throws BaseException {
        BaseUtil.createCreatorAndCreationTime(fse);
        FieldSetEntity fseRepeatData = null;
        if(StringUtils.isEmpty(fse.getUUID())){
            fseRepeatData = baseDao.getFieldSetEntityByFilter(CmnConst.PRODUCT_OA_WORK_OVERTIME, "user_id = ? AND month = ?", new Object[] {fse.getString("user_id"), fse.getString("month")}, false);
        }else {
            fseRepeatData = baseDao.getFieldSetEntityByFilter(CmnConst.PRODUCT_OA_WORK_OVERTIME, "user_id = ? AND month = ? AND uuid != ?", new Object[] {fse.getString("user_id"), fse.getString("month"), fse.getUUID()}, false);
        }
        if (fseRepeatData != null) {
            throw new BaseException(SystemCode.SYSTEM_SAVE_FAIL_DATA_READY_EXIST.getValue(), SystemCode.SYSTEM_SAVE_FAIL_DATA_READY_EXIST.getText());
        }
        return baseDao.saveFieldSetEntity(fse);
    }
 
    /**
     * @Date: 2020-03-31 17:30
     * @Author: ZhouJie
     * @Description: 删除加班申请
     */
    public boolean deleteWorkOvertime(FieldSetEntity fs) throws BaseException {
        String uuid = fs.getUUID();
        String[] uuids = uuid.split(",");
        return baseDao.delete(CmnConst.PRODUCT_OA_WORK_OVERTIME, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, uuids.length, true), uuids);
    }
}