package com.elephant.framework.galaxy.aroad.module.zhjc.service.impl;

import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.elephant.framework.galaxy.aroad.module.zhjc.entity.ZhjcGhjh;
import com.elephant.framework.galaxy.aroad.module.zhjc.entity.ZhjcGhjhTzzh;
import com.elephant.framework.galaxy.aroad.module.zhjc.mapper.ZhjcGhjhTzzhMapper;
import com.elephant.framework.galaxy.aroad.module.zhjc.service.ZhjcGhjhTzzhService;
import lombok.AllArgsConstructor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import java.beans.Transient;
import java.util.UUID;

/**
 * 智慧决策_规划计划_投资资金
 *
 * @author wangjian
 * @date 2019-05-29 10:45:56
 */
@Service
@AllArgsConstructor
public class ZhjcGhjhTzzhServiceImpl extends ServiceImpl<ZhjcGhjhTzzhMapper, ZhjcGhjhTzzh> implements ZhjcGhjhTzzhService {

    final ZhjcGhjhTzzhMapper zhjcGhjhTzzhMapper;

    /**
     * 修改规划计划投资资金
     */
    public Boolean updateZhjcGhjhTzzh(ZhjcGhjhTzzh zhjcGhjhTzzh) {
        return zhjcGhjhTzzhMapper.update(zhjcGhjhTzzh, Wrappers.<ZhjcGhjhTzzh>query().lambda().eq(ZhjcGhjhTzzh::getXmid,zhjcGhjhTzzh.getXmid()).eq(ZhjcGhjhTzzh::getXmjd,zhjcGhjhTzzh.getXmjd()))>0;
    }

    /**
     * 新增 规划计划投资资金
     */
    @Transactional
    public Boolean addZhjcGhjhTzzh(ZhjcGhjhTzzh new_zj) {
        ZhjcGhjhTzzh old_zj = null;
        if(new_zj.getXmjd().startsWith("1") || new_zj.getXmjd().startsWith("2")) {
            old_zj = zhjcGhjhTzzhMapper.selectOne(Wrappers.<ZhjcGhjhTzzh>query().lambda().eq(ZhjcGhjhTzzh::getXmid,new_zj.getXmid()).eq(ZhjcGhjhTzzh::getXmjd,new_zj.getXmjd()));
        }else{
            old_zj = zhjcGhjhTzzhMapper.selectOne(Wrappers.<ZhjcGhjhTzzh>query().lambda().eq(ZhjcGhjhTzzh::getCrowid,new_zj.getCrowid()));
        }

        if (old_zj!=null){
            zhjcGhjhTzzhMapper.deleteById(old_zj);
        }

        int code = zhjcGhjhTzzhMapper.insert(new_zj);

        return code>0;
    }

    /**
     * 删除规划计划投资资金
     */
    public Boolean deleteZhjcGhjhTzzh(ZhjcGhjhTzzh zhjcGhjhTzzh) {
        if(zhjcGhjhTzzh.getXmjd().startsWith("4")) {
            return zhjcGhjhTzzhMapper.delete(Wrappers.<ZhjcGhjhTzzh>query().lambda().eq(ZhjcGhjhTzzh::getCrowid,zhjcGhjhTzzh.getCrowid()).eq(ZhjcGhjhTzzh::getXmjd,zhjcGhjhTzzh.getXmjd()))>0;
        }else{
            return zhjcGhjhTzzhMapper.delete(Wrappers.<ZhjcGhjhTzzh>query().lambda().eq(ZhjcGhjhTzzh::getXmid,zhjcGhjhTzzh.getXmid()).eq(ZhjcGhjhTzzh::getXmjd,zhjcGhjhTzzh.getXmjd()))>0;
        }
    }
}
