/*
 * Author: wangjian
 * 生成ServiceImpl
 */
package com.tofly.watermeter.service.impl;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.tofly.common.oauth.util.SecurityUtils;
import com.tofly.watermeter.entity.Bwsjdatail;
import com.tofly.watermeter.mapper.BwsjdatailMapper;
import com.tofly.watermeter.service.BwsjdatailService;
import org.springframework.stereotype.Service;

import java.util.Date;

/**
 * 水表首检表记录
 *
 * @author admin
 * @date Wed Mar 10 00:00:00 CST 2021
 */
@Service("bwsjdatailService")
public class BwsjdatailServiceImpl extends ServiceImpl<BwsjdatailMapper, Bwsjdatail> implements BwsjdatailService {

    @Override
    public Page getSjData(Page page, Bwsjdatail bwsjdatail) {
        return baseMapper.getSjData(page, bwsjdatail);
    }

    /**
     * 更新首检记录信息
     *
     * @param bwsjdatail
     * @return
     */
    @Override
    public boolean updateSjData(Bwsjdatail bwsjdatail) {
        //这里需要验证一下，合格数量，否则万一出现前端输入合格数量比抽检数量多的过程，这样不行
        //查询抽检数量
       /* int cjNum = Math.toIntExact(baseMapper.selectOne(Wrappers.<Bwsjdatail>lambdaQuery()
                .eq(Bwsjdatail::getId, bwsjdatail.getId()).select(Bwsjdatail::getBwCjsl)).getBwCjsl());*/
        //比较抽检数量去合格数量
       /* if (bwsjdatail.getBwHgsl() > cjNum || bwsjdatail.getBwHgsl() < 0) {
            throw new ToflyDeniedException("合格数量输入不合法，不能大于抽检数量或负数");
        }
        //合格比例
        String hgbl = (Math.round((float) bwsjdatail.getBwHgsl() / (float) cjNum * 100)) + "%";*/

        bwsjdatail.setIsCheck("1");
        bwsjdatail.setOperateUser(SecurityUtils.getUserId());
        bwsjdatail.setOperateDate(new Date());
        bwsjdatail.setBwJyrq(new Date());

/*        this.update(Wrappers.<Bwsjdatail>lambdaUpdate().eq(Bwsjdatail::getId, bwsjdatail.getId())
                .set(Bwsjdatail::getBwHgsl, bwsjdatail.getBwHgsl())
                .set(Bwsjdatail::getBwJybm, bwsjdatail.getBwJybm())
                .set(Bwsjdatail::getOperateUser, SecurityUtils.getUserId())
                .set(Bwsjdatail::getOperateDate, Date8Util.getCurrentDate())
//                .set(Bwsjdatail::getBwBz,bwsjdatail.getBwBz())
                .set(Bwsjdatail::getIsCheck, "1")
                .set(Bwsjdatail::getBwHgbl, hgbl).set(Bwsjdatail::getBwJyrq, bwsjdatail.getBwJyrq()));*/
        return this.updateById(bwsjdatail);
    }

}
