1821349743@qq.com
2023-04-26 5823061f3c0aec6a2f90393152f6027e3f0e2d45
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
package com.home.xining.service;
 
import com.home.xining.config.CmnConst;
import com.home.xining.service.idel.ISendDocumentService;
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.transfer.Transactional;
import com.product.util.BaseUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
 
/**
 * @ClassName: SendDocumentService
 * @Author: ZhouJie
 * @Date: 2022/2/21 13:45
 * @Description: 发文稿纸(发文管理)
 */
@Component
public class SendDocumentService extends AbstractBaseService implements ISendDocumentService {
 
    @Autowired
    public BaseDao baseDao;
    @Autowired
    PermissionService permissionService;
    @Autowired
    QueryFilterService queryFilterService;
 
    public DataTableEntity getSendDocList(FieldSetEntity fs) throws BaseException {
        String filter=fs.getString("filter");
        String dataFilter = "" ;
        //创建人字段
        String created_by_field = fs.getString(CmnConst.CREATED_BY_FIELD);
        if(!BaseUtil.strIsNull(created_by_field)){
            dataFilter = permissionService.getDataFilter(fs.getTableName(),created_by_field);
        }
        if(!StringUtils.isEmpty(dataFilter)){
            if(!StringUtils.isEmpty(filter)){
                filter += " and "+dataFilter;
            }else {
                filter = dataFilter;
            }
        }
        if(!BaseUtil.dataTableIsEmpty(fs.getSubDataTable("systemSeniorQueryString"))){
            filter    = filter + " and " + queryFilterService.getQueryFilter(fs);
        }
        DataTableEntity dt = baseDao.listTable(CmnConst.FWGZ,filter,null,null,"fw13 desc",fs.getInteger(CmnConst.PAGESIZE),fs.getInteger(CmnConst.CPAGE));
        baseDao.loadPromptData(dt);
        return dt;
    }
 
    /**
     * 批量归档
     * @param fs
     * @throws BaseException
     */
    @Override
    @Transactional
    public boolean batchFile(FieldSetEntity fs)throws BaseException{
        String uuids = fs.getString("uuid");
        String[] uuid = uuids.split(",");
        for (int i = 0; i < uuid.length; i++) {
            FieldSetEntity fieldSetEntity = new FieldSetEntity();
            fieldSetEntity.setTableName(fs.getTableName());
            fieldSetEntity.setValue("uuid", uuid[i]);
            fieldSetEntity.setValue("pigeonhole",1);
            baseDao.update(fieldSetEntity);
        }
        return true;
    }
 
    /**
     * 人员高级参照解析并保存
     * @param fse
     * @throws BaseException
     */
    @Transactional
    @Override
    public String saveFieldSetEntity(FieldSetEntity fse) throws BaseException {
        String fw09 = fse.getString("fw09");
        String[] fw09s = fw09.split(",");
        DataTableEntity dataTableEntity = baseDao.listTable("product_sys_users", BaseUtil.buildQuestionMarkFilter("user_id",fw09s,true), new String[]{});
        String fw09_value = "";
        for (int i = 0; i < dataTableEntity.getRows(); i++) {
            String user_name = dataTableEntity.getString(i,"user_name");
            fw09_value = fw09_value + user_name + ",";
        }
        fw09_value = fw09_value.substring(0, fw09_value.length() - 1);
        fse.setValue("fw09_value", fw09_value);
        BaseUtil.createCreatorAndCreationTime(fse);
        baseDao.saveFieldSetEntity(fse);
        return fse.getUUID();
    }
 
}