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); } } }