package com.product.administration.service;
import com.product.administration.config.CmnConst;
import com.product.administration.service.ide.IClaimExpenseService;
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.core.transfer.Transactional;
import java.util.Date;
import com.product.util.BaseUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service;
/**
* Copyright 漏 LX-BASE
* @Title: ClaimExpenseService
* @Project: LX-BASE-SERVER
* @Date: 2021-06-01 10:27:35
* @Author: Xin.Luo
* @Description: 鎶ラ攢鐢宠
*/
@Service
public class ClaimExpenseService extends AbstractBaseService implements IClaimExpenseService {
@Autowired
public BaseDao baseDao;
@Autowired
PermissionService permissionService;
@Autowired
QueryFilterService queryFilterService;
/**
* @description: 璐圭敤鎶ラ攢鍒犻櫎
* @author: ZhouJie
* @date: 2021-06-01 11:35
*/
@Override
@Transactional
public boolean delClaimExpense(FieldSetEntity fs) throws BaseException {
String[] uuids = fs.getString("uuid").split(",");
baseDao.delete(CmnConst.PRODUCT_OA_EXPENSE_CLAIM_SUB, BaseUtil.buildQuestionMarkFilter("claim_uuid",uuids.length,true),uuids);
return baseDao.delete(CmnConst.PRODUCT_OA_EXPENSE_CLAIM, BaseUtil.buildQuestionMarkFilter(CmnConst.UUID,uuids.length,true),uuids);
}
/**
* @description: 璐圭敤鎶ラ攢淇濆瓨
* @author: ZhouJie
* @date: 2021-06-01 11:50
*/
@Override
@Transactional
public String saveClaimExpense(FieldSetEntity fieldSetEntity) throws BaseException {
fieldSetEntity.setValue("flow_flag", 0);
if(StringUtils.isEmpty(fieldSetEntity.getString("uuid"))){
fieldSetEntity.setValue(CmnConst.CREATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id());
fieldSetEntity.setValue(CmnConst.CREATED_UTC_DATETIME, new Date());
return baseDao.add(fieldSetEntity,true);
}else {
fieldSetEntity.setValue(CmnConst.UPDATED_BY, SpringMVCContextHolder.getCurrentUser().getUser_id());
fieldSetEntity.setValue(CmnConst.UPDATED_UTC_DATETIME, new Date());
baseDao.update(fieldSetEntity,true);
return fieldSetEntity.getString("uuid");
}
}
/**
* @description: 璐圭敤鎶ラ攢鍒楄〃
* @author: ZhouJie
* @date: 2021-06-01 13:57
*/
public DataTableEntity listExpense(FieldSetEntity fs) throws BaseException {
String queryFilter=fs.getString("filter");
if(!BaseUtil.dataTableIsEmpty(fs.getSubDataTable("systemSeniorQueryString"))){
queryFilter +="AND"+ queryFilterService.getQueryFilter(fs);
}
String dataFilter = permissionService.getDataFilter(fs.getTableName(),CmnConst.CREATED_BY);
if(!StringUtils.isEmpty(dataFilter)){
queryFilter += " and "+dataFilter;
}
DataTableEntity dt = baseDao.listTable(CmnConst.PRODUCT_OA_EXPENSE_CLAIM,queryFilter,null,null,null,fs.getInteger(CmnConst.PAGESIZE),fs.getInteger(CmnConst.CPAGE));
baseDao.loadPromptData(dt);
return dt;
}
/**
* @description: 璐圭敤鎶ラ攢鐢宠璇︽儏
* @author: ZhouJie
* @date: 2021-06-01 14:40
*/
public FieldSetEntity infoExpense(FieldSetEntity fs) throws BaseException {
return baseDao.getFieldSetEntity(CmnConst.PRODUCT_OA_EXPENSE_CLAIM,fs.getUUID(),true);
}
}