TdCCustInvoiceSaleDaoImpl.java 6.56 KB
package com.zteits.pay.dao.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.xiaoleilu.hutool.util.CollectionUtil;
import com.zteits.clouds.api.apibase.constants.DataStatusEnum;
import com.zteits.clouds.api.dto.pay.param.TdCCustInvoiceSaleQueryRequest;
import com.zteits.pay.dao.TdCCustInvoiceSaleDao;
import com.zteits.pay.domain.TdCCustInvoiceSale;
import com.zteits.pay.domain.TdCCustInvoiceSaleExample;
import com.zteits.pay.domain.TdCCustInvoiceSaleExample.Criteria;
import com.zteits.pay.mapper.TdCCustInvoiceSaleMapper;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;

@Component
public class TdCCustInvoiceSaleDaoImpl implements  TdCCustInvoiceSaleDao {
    @Autowired
    private TdCCustInvoiceSaleMapper tdCCustInvoiceSaleMapper;
    
    @Override
    public int deleteTdCCustInvoiceSaleByPrimaryKey(Long id, String opId, String opName) {
        TdCCustInvoiceSale record = new TdCCustInvoiceSale();
        record.setId(id);
        record.setModfiyEmpid(opId);
        record.setModfiyDate(new Date());
        record.setDataState(DataStatusEnum.DATA_STATUS_NO_VALID.value());
        return tdCCustInvoiceSaleMapper.updateByPrimaryKeySelective(record);
    }

    @Override
    public int saveTdCCustInvoiceSale(TdCCustInvoiceSale tdCCustInvoiceSale) {
        if(tdCCustInvoiceSale.getCreateDate()==null){
            tdCCustInvoiceSale.setCreateDate(new Date());
        }
        return tdCCustInvoiceSaleMapper.insertSelective(tdCCustInvoiceSale);
    }


    @Override
    public int updateByPrimaryKeySelective(TdCCustInvoiceSale record) {
        return tdCCustInvoiceSaleMapper.updateByPrimaryKeySelective(record);
    }


    @Override
    public List<TdCCustInvoiceSale> queryTdCCustInvoiceSale(TdCCustInvoiceSaleQueryRequest request) {
    	TdCCustInvoiceSaleExample example = new TdCCustInvoiceSaleExample();
        Criteria sql = example.createCriteria();
        if(request.getId() != null){
        	sql.andIdEqualTo(request.getId());
        }
        if(request.getOrgId() != null){
        	sql.andOrgIdEqualTo(request.getOrgId());
        }
        if(CollectionUtil.isNotEmpty(request.getSaleNames())){
        	sql.andSaleNameIn(request.getSaleNames());
        }
        if(CollectionUtil.isNotEmpty(request.getSaleTaxids())){
        	sql.andSaleTaxidIn(request.getSaleTaxids());
        }
        sql.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
        example.setOrderByClause("id desc");
        return tdCCustInvoiceSaleMapper.selectByExample(example);
    }

    @Override
    public int batchDeleteTdCCustInvoiceSaleByPrimaryKey(List<Long> ids, String opId, String opName) {
        TdCCustInvoiceSale record = new TdCCustInvoiceSale();
        record.setModfiyEmpid(opId);
        record.setModfiyDate(new Date());
        record.setDataState(DataStatusEnum.DATA_STATUS_NO_VALID.value());
        TdCCustInvoiceSaleExample example = new TdCCustInvoiceSaleExample();
        example.createCriteria().andIdIn(ids);
        return tdCCustInvoiceSaleMapper.updateByExampleSelective(record,example);
    }

    @Override
    public PageInfo<TdCCustInvoiceSale> queryTdCCustInvoiceSaleForPage(TdCCustInvoiceSaleQueryRequest request) {
        PageHelper.startPage(request.getBaseRequest().getPageNum(), request.getBaseRequest().getPageSize());
        TdCCustInvoiceSaleExample example = new TdCCustInvoiceSaleExample();
        Criteria sql = example.createCriteria();
        if(request.getId() != null){
        	sql.andIdEqualTo(request.getId());
        }
        if(request.getOrgId() != null){
        	sql.andOrgIdEqualTo(request.getOrgId());
        }
        if(CollectionUtil.isNotEmpty(request.getSaleNames())){
        	sql.andSaleNameIn(request.getSaleNames());
        }
        if(CollectionUtil.isNotEmpty(request.getSaleTaxids())){
        	sql.andSaleTaxidIn(request.getSaleTaxids());
        }
        sql.andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value());
        example.setOrderByClause("id desc");
        List<TdCCustInvoiceSale> list = tdCCustInvoiceSaleMapper.selectByExample(example);
        if (CollectionUtil.isNotEmpty(list)) {
            return new PageInfo<TdCCustInvoiceSale>(list);
        }
        return new PageInfo<TdCCustInvoiceSale>(new ArrayList<TdCCustInvoiceSale>());
    }

    /**
     * 获取当前用户所在组织的默认销方
     *
     * @Author: zengqc
     */
    @Override
    public TdCCustInvoiceSale queryDefaultInvoiceSale(TdCCustInvoiceSaleQueryRequest request) {
        TdCCustInvoiceSaleExample example = new TdCCustInvoiceSaleExample();
        example.createCriteria()
                .andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value())
                .andSaleTypeEqualTo(1)
                .andOrgIdEqualTo(request.getOrgId());
        
        List<TdCCustInvoiceSale> tdCCustInvoiceSales = tdCCustInvoiceSaleMapper.selectByExample(example);
        if(CollectionUtil.isEmpty(tdCCustInvoiceSales)){
            return null;
        }
        return tdCCustInvoiceSales.get(0);
    }

    /**
     * 将orgId下的都置为普通
     * @Author: zengqc
     */
    @Override
    public int updateOtherCustInvoiceSaleToCommon(TdCCustInvoiceSale tdCCustInvoiceSale) {
        TdCCustInvoiceSale record = new TdCCustInvoiceSale();
        record.setSaleType(0);

        TdCCustInvoiceSaleExample example = new TdCCustInvoiceSaleExample();
        example.createCriteria()
                .andSaleTypeEqualTo(1)
                .andOrgIdEqualTo(tdCCustInvoiceSale.getOrgId());

        return tdCCustInvoiceSaleMapper.updateByExampleSelective(record, example);
    }

    /**
     * 根据ID 获取对应的销方信息列表
     */
    @Override
    public List<TdCCustInvoiceSale> queryTdCCustInvoiceSaleById(List<Long> ids) {
        if(CollectionUtils.isEmpty(ids)){
            return new ArrayList<>();
        }
        TdCCustInvoiceSaleExample example = new TdCCustInvoiceSaleExample();
        example.createCriteria().andIdIn(ids);

        return tdCCustInvoiceSaleMapper.selectByExample(example);
    }

    @Override
	public int updateInvoiceSaleByTaxId(TdCCustInvoiceSale record) {
		TdCCustInvoiceSaleExample example = new TdCCustInvoiceSaleExample();
		example.createCriteria().andDataStateEqualTo(DataStatusEnum.DATA_STATUS_VALID.value())
			.andSaleTaxidEqualTo(record.getSaleTaxid());
		record.setModfiyDate(new Date());
		return tdCCustInvoiceSaleMapper.updateByExampleSelective(record, example );
	}
}