package com.product.administration.service; import java.util.Date; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import com.product.administration.config.CmnConst; 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.spring.context.SpringMVCContextHolder; import com.product.util.BaseUtil; /** * 外出申请 * Copyright PRODUCT-BASE * @Title: PRODUCT-BASE- * @Project: GoOutApplicationService * @Date: 2021年8月18日 下午3:38:57 * @Author: 杜洪波 * @Description: */ @Component public class GoOutApplicationService extends AbstractBaseService{ @Autowired BaseDao baseDao; @Autowired PermissionService permissionService; @Autowired QueryFilterService queryFilterService; /** * 外出申请列表 * @param fs * @return * @throws BaseException */ public DataTableEntity listGoOutApplication(FieldSetEntity fs) throws BaseException { String filter=fs.getString("filter"); String dataFilter = permissionService.getDataFilter(fs.getTableName(),CmnConst.CREATED_BY); if(!StringUtils.isEmpty(dataFilter)){ filter += " and "+dataFilter; } DataTableEntity dt = baseDao.listTable(CmnConst.PRODUCT_SYS_GO_OUT_APPLICATON,filter,null,null,"created_utc_datetime desc",fs.getInteger(CmnConst.PAGESIZE),fs.getInteger(CmnConst.CPAGE)); baseDao.loadPromptData(dt); return dt; } /** * 外出申请详情 * @param fs * @return * @throws BaseException */ public FieldSetEntity findGoOutApplication(FieldSetEntity fs) throws BaseException { return baseDao.listInternationDataTable(baseDao.getFieldSetEntity(CmnConst.PRODUCT_SYS_GO_OUT_APPLICATON, fs.getString(CmnConst.UUID), true),null); } /** * 外出申请保存 * @param fs * @return * @throws BaseException */ public String saveGoOutApplication(FieldSetEntity fs) throws BaseException { fs.setValue(CmnConst.FLOW_FLAG, 0);//状态 if(StringUtils.isEmpty(fs.getString(CmnConst.UUID))){ fs.setValue(CmnConst.ORG_LEVEL_UUID, SpringMVCContextHolder.getCurrentUser().getOrg_level_uuid());//公司 fs.setValue("applicant", SpringMVCContextHolder.getCurrentUser().getUser_id());//申请人员 fs.setValue(CmnConst.DEPT_UUID, SpringMVCContextHolder.getCurrentUser().getDept_uuid());//申请部门 fs.setValue(CmnConst.CREATED_BY,SpringMVCContextHolder.getCurrentUser().getUser_id()); fs.setValue(CmnConst.CREATED_UTC_DATETIME,new Date()); return baseDao.add(fs); }else { fs.setValue(CmnConst.UPDATED_BY,SpringMVCContextHolder.getCurrentUser().getUser_id()); fs.setValue(CmnConst.UPDATED_UTC_DATETIME,new Date()); baseDao.update(fs); return fs.getString(CmnConst.UUID); } } /** * 外出申请删除 * @param fs * @return * @throws BaseException */ public boolean deleteGoOutApplication(FieldSetEntity fs) throws BaseException { String uuid = fs.getUUID(); String[] uuids = uuid.split(","); return baseDao.delete(CmnConst.PRODUCT_SYS_GO_OUT_APPLICATON, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID, uuids.length, true), uuids); } }