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 CONVERT(IFNULL(MAX(no02),0)+1,UNSIGNED INT ) 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()});
|
fs.setValue("no02", finalNo);
|
}
|
}
|
}
|