许鹏程
2023-06-08 308359fcfb427f08c745880bf63353eb00dd8219
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
package com.home.xining.service;
 
import com.home.xining.config.CmnConst;
import com.home.xining.service.idel.IAdvanceNoticeService;
import com.home.xining.service.idel.IOfficeExpensesService;
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;
import org.springframework.stereotype.Service;
 
import java.text.DecimalFormat;
import java.text.Format;
import java.text.ParseException;
 
/**
 * @ClassName: AdvanceNoticeService
 * @Author:
 * @Date: 2022/1/11 17:16
 * @Description: 行政处罚事先告知书Service
 */
@Service
public class AdvanceNoticeService extends AbstractBaseService implements IAdvanceNoticeService {
 
    @Autowired
    public BaseDao baseDao;
    @Autowired
    PermissionService permissionService;
    @Autowired
    QueryFilterService queryFilterService;
 
    @Override
    public DataTableEntity listAdvanceNoticeg(FieldSetEntity fs) throws BaseException{
        String filter=fs.getString("filter");
        String dataFilter = permissionService.getDataFilter(fs.getTableName(),CmnConst.NO18);
 
        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);
        }
//        fs.getInteger(CmnConst.PAGESIZE),fs.getInteger(CmnConst.CPAGE)
        DataTableEntity dt = baseDao.listTable(CmnConst.APP_NOTICE_PUNISHMENT,filter, null,null," no00 desc",fs.getInteger(CmnConst.PAGESIZE),fs.getInteger(CmnConst.CPAGE));
        baseDao.loadPromptData(dt);
        return dt;
    }
 
    @Override
    public FieldSetEntity getAdvanceNotice(FieldSetEntity fs) {
        return baseDao.getFieldSet(CmnConst.APP_NOTICE_PUNISHMENT, fs.getUUID(), false);
    }
 
    @Override
    @Transactional
    public String saveAdvanceNotice(FieldSetEntity fs)throws BaseException {
        String fsUUID = fs.getUUID();
        if(BaseUtil.strIsNull(fsUUID)){
          fsUUID = baseDao.add(fs);
        }else{
            baseDao.update(fs);
        }
        return fsUUID;
    }
 
    @Override
    @Transactional
    public String deleteAdvanceNotice(FieldSetEntity fs)throws BaseException  {
        String uuids = fs.getString(CmnConst.UUID);
        String[] uuid = uuids.split(",");
        baseDao.delete(CmnConst.APP_NOTICE_PUNISHMENT, uuid);
        return uuids;
    }
 
    @Override
    @Transactional
    public void addTypeSize(FieldSetEntity fs) throws BaseException {
        String tableName = fs.getTableName();
        String yearNo = fs.getString("no01");
        
        //查询同字数据中最大的号
        FieldSetEntity fseMax =baseDao.getFieldSetEntityBySQL("SELECT IFNULL(MAX(no02),0)+1 no02 FROM "+tableName+" WHERE no01=?", new Object[] {yearNo}, false);
        if (fseMax!=null) {
            Integer maxNo = fseMax.getInteger("no02");
            
              //格式化号
              Format format = new DecimalFormat("000");
              String finalNo= format.format(maxNo);
              
              //修改数据
              baseDao.executeUpdate("UPDATE "+ tableName +" SET no02 =? WHERE uuid=?", new Object[] {finalNo, fs.getUUID()});
          }
    }
}