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 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;
    }

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

        zhjcGhjhTzzh.setId(UUID.randomUUID().toString().replaceAll("-", ""));
        int code = zhjcGhjhTzzhMapper.insert(zhjcGhjhTzzh);

        if(code>0) {
            if(zhjcGhjhTzzh1!=null &&  zhjcGhjhTzzh1.getId()!=null && !"".equals(zhjcGhjhTzzh1.getId().trim())) {
                zhjcGhjhTzzhMapper.delete(Wrappers.<ZhjcGhjhTzzh>query().lambda().eq(ZhjcGhjhTzzh::getId,zhjcGhjhTzzh1.getId()));
            }
        }
        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;
        }
    }
}
