package com.product.org.admin.service; import com.product.common.lang.StringUtils; import com.product.core.permission.PermissionService; import com.product.core.service.support.QueryFilterService; import com.product.org.admin.config.CmnConst; import java.util.Date; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; 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.service.support.AbstractBaseService; import com.product.core.spring.context.SpringMVCContextHolder; import com.product.core.transfer.Transactional; import com.product.core.util.SerialNumberUtil; import com.product.module.sys.entity.SystemUser; import com.product.org.admin.config.SystemCode; import com.product.org.admin.service.idel.ISerialNumberService; import com.product.util.BaseUtil; /** * Copyright © LX-BASE * @Title: SerialNumberService * @Project: LX-BASE-SERVER * @Date: 2020-06-30 15:45:12 * @Author: Xin.Luo * @Description: 流水号管理Service层 */ @Service public class SerialNumberService extends AbstractBaseService implements ISerialNumberService{ /** * 数据查询 ,spring 注入 */ @Autowired public BaseDao baseDao = null; @Override public BaseDao getBaseDao() { return baseDao; } @Override public void setBaseDao(BaseDao baseDao) { this.baseDao = baseDao; } @Autowired QueryFilterService queryFilterService; @Autowired PermissionService permissionService; /** * 获取流水号 * */ @Override public String createSerialNumber(String serialNumberName) throws BaseException { SystemUser user = SpringMVCContextHolder.getCurrentUser(); return SerialNumberUtil.getNewSerialNumberByTemp(serialNumberName,user); } /** * 新增流水号配置 */ @Override @Transactional public String addSerialNumberConfig(FieldSetEntity fse)throws BaseException{ FieldSetEntity fs = baseDao.listInternationDataTable(fse, null) ; if(fs == null) { throw new BaseException(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText(), this.getClass(), "moduleChange"); } fs.setValue(CmnConst.CREATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id());// 创建人 fs.setValue(CmnConst.CREATED_UTC_DATETIME, new Date());// 创建时间 return baseDao.add(fs); } @Override @Transactional public boolean upSerialNumberConfig(FieldSetEntity fs) throws BaseException { fs.setValue(CmnConst.UPDATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id());// 修改人 fs.setValue(CmnConst.UPDATED_UTC_DATETIME, new Date());// 修改时间 return baseDao.update(fs); } @Override @Transactional public boolean delSerialNumberConfig(String[] uuids) throws BaseException { return baseDao.delete(CmnConst.PRODUCT_SYS_SWIFT_CONFIG, uuids); } @Override public DataTableEntity serialNumberAll(FieldSetEntity fse) throws BaseException { String queryFilter=permissionService.getDataFilter(CmnConst.ORG_LEVEL_UUID); if(StringUtils.isEmpty(queryFilter)) { queryFilter = CmnConst.CREATED_BY + " = " + SpringMVCContextHolder.getCurrentUser().getUser_id(); } if(!BaseUtil.dataTableIsEmpty(fse.getSubDataTable("systemSeniorQueryString"))){ queryFilter = queryFilter +" AND "+ queryFilterService.getQueryFilter(fse); } DataTableEntity dt = baseDao.listTable(fse.getTableName(), queryFilter,null, null, null,fse.getInteger("pagesize"), fse.getInteger("cpage")); dt = baseDao.listInternationDataTable(dt,null); baseDao.loadPromptData(dt); return dt; } @Override public FieldSetEntity serialNumberInfo(String uuid) throws BaseException { FieldSetEntity fs = baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_SWIFT_CONFIG, uuid, true); if(fs == null) { throw new BaseException(SystemCode.SYSTEM_FORM_NODATA.getValue(), SystemCode.SYSTEM_FORM_NODATA.getText(), this.getClass(), "public FieldSetEntity serialNumberInfo(String uuid) throws BaseException"); } return baseDao.listInternationDataTable(fs,null); } }